← Home
DEFINITION

Published · Updated

What Is MCP for Video Editing?

MCP for video editing means using the Model Context Protocol — an open standard, introduced by Anthropic in November 2024, for connecting AI applications to external systems — to hand a language model a real video editor it can operate: the server publishes editing operations as callable tools, the model decides which to call and in what order, and the server performs the decoding, editing and encoding the model cannot perform itself. The division of labour is the entire idea. A model has judgement about what a video should be and no ability to touch a single frame. A renderer can touch every frame and has no judgement. MCP is the wire between them, and because it is a standard wire, the same editor can be driven from any MCP client instead of from one vendor's chat box.

Written by Valmera, which publishes one of these servers. Everything below about the protocol is checkable against the specification at modelcontextprotocol.io, and everything about another product is taken from its own documentation — including the places where another product is the better answer.

MCP in Two Paragraphs

A language model, on its own, can only produce text. It cannot open a file on your disk, call a service, or write anything anywhere. Everything a model appears to do is really a tool call: the model emits a structured request, some ordinary software runs it, and the result comes back as more text the model can read. The problem this creates is combinatorial. Every AI application had to be taught about every tool separately, and every tool vendor had to build a separate integration for every AI application. Model Context Protocol is the standard that collapses that grid. A server describes its tools once, in a fixed format, and any MCP client can use them.

Mechanically it is unglamorous, which is the point. The client and server exchange JSON-RPC 2.0 messages. The client asks what exists with a tools/list call and gets back a list of names, human-readable descriptions and JSON Schemas for the arguments. When the model decides to use one, the client sends tools/call with the name and the arguments, and the server replies with content blocks — text, images, or references to resources. Beyond tools, a server may expose resources (data the model or user can read) and prompts (reusable templates). That is essentially the whole protocol. It is deliberately boring so that the interesting part — what the tools actually do — can be anything.

The consequence for a non-developer is simple: a tool you have to visit becomes a tool your assistant can reach. You do not change where you work. The editor comes to the conversation.

The Shape of a Video Editing MCP Server

Here is the whole arrangement, with the parts that touch your footage marked. Read it left to right along the top, then down the right-hand side, then back along the red line — the red line is the part most servers do not have.

How a video editing MCP server is wiredThe model sends tools/call messages to the MCP server. The server reads your uploaded file once to build an index of transcript, silences, shots and frame tiles, and writes decisions into an edit decision list. A renderer reads that list and your original file and produces video. The frames it produces travel back to the model, which looks at its own output and revises. The original file is only ever read.THE MODELMCP SERVEREDIT DECISION LISTRENDERERYOUR ORIGINAL FILEhas the judgementcannot decode a framereads footage,writes decisionsthe edit as data — everyoperation reversiblethe only thing thattouches pixelsuploaded once, indexed once,never modifiedtools/callwritessourceread bytranscript · silencesshots · frame tilesthe frames it produced — the model looks at its own output

Four things in that picture are worth stating outright, because they are the design decisions a buyer can actually check.

  • The server reads before it writes. The upload is indexed once — a word-level transcript with speaker labels, detected silences, shot boundaries, and labeled frame tiles. Every later request reads that index instead of the file, which is why a request against a three-hour recording is not three hours of work.
  • Tools write decisions, not pixels. The middle of the chain is an edit decision list (EDL) — the same idea traditional NLEs have used for decades. It is what makes every operation reversible and the original untouchable.
  • The renderer is a separate thing. Previews come from a small proxy because they have to be fast. The deliverable is rendered from the original file at source quality. Those are two different renders, and conflating them is how a tool ends up shipping a proxy as a final.
  • The red arrow is optional and rare. Nothing in MCP requires a server to hand frames back. A tool result is allowed to carry image content, and a server that uses that can let the model check its own work. A server that does not leaves the model reporting intentions.

Valmera's server is wired exactly like the diagram, which is the only reason we can draw it with this much confidence — the endpoint is https://entrepreneur-bot-backend.onrender.com/mcp, and the full tool reference lists what each call does and what it refuses.

Why Video Editing Fits MCP Unusually Well

Most MCP servers wrap a service the model could, in principle, have used another way. Video is different, because the gap between what a model is good at and what it is physically able to do is at its widest here.

Editing is almost entirely judgement applied to measurement. Which sentence to keep, how tight to cut, when to punch in, whether the music is fighting the voice, whether the joke lands better before or after the reveal — these are language-shaped decisions, and a model is genuinely good at them once it has the words and the timings in front of it. What the model cannot do is any part of the mechanical work underneath: it cannot decode an H.264 stream, cannot resample audio, cannot composite a caption, cannot encode an output. Not slowly — at all. That is a clean seam, and MCP runs straight down it. The server does the pixels. The model decides.

Compare that with a search server or a database server, where the model could get a similar result by writing a query into a chat window and copying the answer back. There is no version of that for video. Without a server doing the work, an assistant asked to edit a video can only produce advice about editing a video — which is exactly what happens when people ask ChatGPT to cut their footage. The gap between planning an edit and performing one is total, and a protocol is what closes it.

There is a second reason, less obvious. Editing is a multi-step, dependent job, which is the shape agents handle better than fixed pipelines. "Cut the dead air, add karaoke captions, put music under my voice, and make it 9:16" is four operations that must happen in an order: the cuts change the timeline the captions have to be timed against, and the music has to be fitted to a program length nothing knows until the cuts are done. A model sequencing tool calls handles that naturally. A menu of buttons cannot, which is why feature-per-button editors leave the sequencing to you.

Justine Moore's a16z essay "It's time for agentic video editing" (21 January 2026) splits the work a video agent will take on into five parts — Process, Orchestrate, Polish, Adapt and Optimize. Read that list as a specification for a tool surface and the shape of a good video MCP server falls out of it: sorting raw footage and separating A-roll from B-roll needs read tools; orchestrating several models needs generation tools that land in the same timeline; adapting to Shorts and Reels needs aspect-ratio tools; optimizing needs the agent to see what it made.

What a Video MCP Server Must Expose

Tool count is a crude proxy for scope, and the more useful question is which kinds of tool are present. A server that can only transform is a server the model must aim blind. The middle column below is what goes wrong without each group.

Tool groupWithout it, the model…Example names
Read the words…has no idea what was said, so "cut the bit where I fumble the price" becomes a guess at a timestampget_transcript · get_words · search_transcript
Read the silence and the shots…cannot find dead air or a scene change without watching the file itself, which it cannot dofind_silences · get_shots · get_audio_analysis
Look at actual frames…cannot tell whether a caption is sitting on a face, or which side of the frame the speaker is onlook_at · look_at_asset · watch_video
Read the current edit…loses track of what it has already changed, and starts re-cutting ranges it already cutget_edl · get_kept_transcript · project_state
Write the edit…can describe an edit but not perform one — this is the column every server hascut_silences · add_captions · add_music · set_frame
Render and inspect…ships its first attempt blind, because it never sees the output it producedrender_preview · look_at(output_times) · export_final
Survive slow work…either blocks for minutes or reports a completion that has not happenedwait_for_job · index_status · download_url

The row people underestimate is the third one. It is easy to assume a model connected to a video editor can see the video; it cannot, unless the server sends frames. MCP tool results carry content blocks, and an image is a legal content block, so a server is free to answer "look at 14.2 seconds" with actual pixels. Very few do. Valmera returns labeled frames — of the source, of any uploaded asset, and of the assembled program, so the agent can inspect the thing it just produced rather than the thing it started from. Each frame carries a faint tenths grid so an aim point is a measurement rather than an impression.

The last row is the one that separates a demo from something usable. Indexing a long upload, rendering a preview, repainting pixels to erase a watermark — these take longer than a tool call should block for. The honest pattern is a job handle plus a tool to wait on it, so the model can report "still rendering" truthfully. The MCP specification has since added a Tasks extension for exactly this — durable handles for long-running operations — but it is opt-in on both sides, so most servers still carry their own convention.

For scale: Valmera exposes 108 tools — 97 editing tools plus 11 session tools for projects, uploads, indexing, rendering, export and download. They are not re-declared for MCP. The engine publishes one registry and the connector serves it verbatim, so the model in your session gets exactly what Valmera's own agent has: same names, same schemas, same refusals, and no second list that can drift.

MCP Is Not an API — and Not a Replacement for One

This is the comparison everyone asks for, and the usual framing ("MCP is the new API") is wrong in a way that misleads. Almost every MCP server sits on top of an ordinary HTTP API. The protocol does not replace that API; it makes it self-describing to a model and portable across clients.

A REST APIAn MCP server
Who reads the documentationA developer, onceThe model, on every connection
How capability is discoveredOut of band — docs, an OpenAPI fileIn band — a tools/list call
Who writes the integrationYou do, per clientNobody — the client speaks MCP already
When the surface changesYour integration breaks quietlyThe next tools/list reflects it
What the caller receivesJSON your code must interpretContent blocks — text, images, resources
AuthUsually a static key in a config fileOAuth 2.1 with PKCE, or a bearer token
Who it is forSoftware you are buildingAn assistant already in your workflow

The practical difference is who does the reading. With an API, a developer reads the documentation once and encodes their understanding into code that then rots. With MCP, the model reads the tool list on every connection, so a server that adds a capability on Tuesday is usable on Tuesday without anybody shipping an integration. That is why MCP is interesting for a category as fast-moving as AI video: the surface changes monthly.

The trade is that you give up control of sequencing. An API call happens because your code decided it should. A tool call happens because a model decided it should, which is excellent when the job is judgement-shaped and wrong when the job is a deterministic batch. If you need to render the same template over a thousand rows of a spreadsheet, that is an API job and MCP adds nothing but variance.

stdio or Streamable HTTP: What the Transport Means for You

MCP defines two standard transports, and the choice is not a detail — it decides whether using a video editor from your assistant means installing software or pasting a URL.

stdio versus Streamable HTTPWith the stdio transport the AI application launches the server as a subprocess on your own machine and they exchange messages over standard input and output, so you install and run it yourself. With the Streamable HTTP transport the AI application sends HTTP POST requests to a single endpoint on the vendor's hardware and receives either a JSON object or a stream of server-sent events, so there is nothing to install and sign-in happens through OAuth.STDIO — LOCALSTREAMABLE HTTP — REMOTEYOUR MACHINEYOUR MACHINEVENDOR'S HARDWAREAI APP(client)SERVER(subprocess)AI APP(client)SERVER(+ renderer)stdinstdoutHTTPS POSTJSON or SSEyou install and run it yourselfit can reach your local filescredentials come from the environmentnothing to install — paste a URLOAuth 2.1 sign-in, no token to copytheir CPU does the encoding
stdioStreamable HTTP
What you installThe server, on your machineNothing — you paste a URL
Where it runsAs a subprocess of your AI appOn the vendor's hardware
How messages travelNewline-delimited JSON-RPC on stdin/stdoutHTTP POST to one endpoint; replies as JSON or SSE
CredentialsFrom the environment — an API key you placeOAuth 2.1 sign-in, or a bearer header
Reach into local filesYes — it is a process on your diskNo — you upload or link the media
Who can connectOne user, one machineMany clients, from anywhere
Where heavy encoding happensYour CPUTheir hardware

A note on naming, because it causes confusion in older tutorials: Streamable HTTP replaced the earlier HTTP+SSE transport from the 2024-11-05 revision. The current design uses a single endpoint that accepts POST and may answer either with one JSON object or with a Server-Sent Events stream, and the protocol version travels with the request. If a guide tells you to configure two URLs, one for POST and one for SSE, it predates the change.

For video specifically the transport almost decides the product. A local stdio editor can operate directly on the files already on your disk, which is genuinely nice, and it makes you responsible for ffmpeg, Python, model weights and the heat coming off your laptop while a 40-minute export encodes. A remote server means uploading the media, and it means transcoding happens on hardware built for it. Both shapes exist today.

Authorization: Why a Remote Server Needs OAuth

Authorization is optional in MCP, and the specification is explicit that stdio servers should not use it — a local subprocess takes its credentials from the environment, like any other CLI tool. For remote servers it matters, because the thing on the other end is your account, your footage and your bill.

The flow is standard OAuth 2.1 with a discovery step bolted on the front, and no part of it is visible to a user. A call with no token gets a 401 with a WWW-Authenticate header pointing at a protected-resource metadata document (RFC 9728). The client reads that to learn which authorization server to use, fetches its metadata (RFC 8414), obtains a client id, and runs an authorization-code flow with PKCE — mandatory, not optional — plus an RFC 8707 resource parameter that binds the resulting token to that one server, so a token minted for a video editor cannot be replayed against something else. Obtaining the client id is where the spec is currently moving: dynamic client registration (RFC 7591) is the widely deployed mechanism, and the 2026-07-28 revision prefers OAuth Client ID Metadata Documents, keeping DCR for compatibility.

What that buys a user is the absence of a chore. With dynamic registration the client registers itself and opens a sign-in page; you press Allow and you are connected. There is no key to generate, paste into a config file, or accidentally leave in a chat log where it gets stored forever. Valmera implements this path — paste https://entrepreneur-bot-backend.onrender.com/mcp into the Claude app's custom connector field and sign in — and accepts a bearer token for clients without OAuth support, which is how Claude Code is usually wired. The Claude app guide walks through the sign-in and the errors worth recognising.

One thing worth checking on any server you connect: the spec requires a server to validate that a token was issued for it, and forbids passing that token through to upstream services. Token passthrough is the classic confused-deputy hole in this category, and it is the kind of thing a vendor should be willing to answer about.

The Video MCP Landscape, Named

Five servers can edit video from an AI conversation at the time of writing. They are not variations of one product: three are hosted services, one is a self-run search-and-assemble tool, and one is a bridge that drives a copy of DaVinci Resolve on your own machine.

ServerToolsScopeAuthRuns
Valmera110Full editorOAuth 2.1 + PKCEHosted
reap10Clip · caption · dubAPI keyHosted
OpenClip28Clip · captionOAuth 2.1Hosted
Video Jungle8Search · assembleAPI keySelf-run
DaVinci Resolve MCPvariesDrives ResolveLocalSelf-run + Resolve

Valmera — the full editor

108 tools covering cutting against a transcript, captions, motion, colour, audio, generation, censoring and repair, plus session tools for uploads, indexing, rendering and export. Hosted, OAuth 2.1 with dynamic client registration and PKCE. It is the one server in this list where the agent can look at the frames it just rendered and react, and exports are cut from the original upload at source quality (14 GB / 3 hours ceiling; MP4, MOV, MKV, WebM). Weakest where breadth costs focus: no dubbing, no translation, no SRT/VTT, and English is the best-tested transcription path.

reap — clipping, captioning, dubbing

Ten tools, deliberately narrow: detect clip-worthy moments, caption, transcribe, reframe, translate subtitles, and dub into 80+ languages. Hosted, API-key auth. If your bottleneck is multi-language distribution then reap is the right answer and Valmera is not — Valmera has no dubbing at all. What reap does not attempt is finishing: no grading, no music mixing, no object removal.

OpenClip — clipping with a wider media surface

28 tools built around turning a link into captioned Shorts, with useful extras — format conversion, thumbnails, background removal. OAuth 2.1 with dynamic client registration, so setup is a sign-in rather than a key. Sits between reap and Valmera in scope and closer to reap in intent: the unit of output is a clip, not a finished edit.

Video Jungle — search and assemble, self-run

Open source, stdio, run on your own machine as a Python package. Its distinctive idea is semantic search over your own video library using embeddings, then generating an edit from what it finds, with an export path to DaVinci Resolve via OpenTimelineIO. The right shape if you have a large personal archive and the question is "find the shots" rather than "finish the video".

DaVinci Resolve MCP — a bridge, not an editor

Exposes Resolve's own scripting API to an assistant, so the ceiling is Resolve's ceiling — genuinely professional colour and audio, node-based grading, multi-cam. The cost is that it edits nothing by itself: you need Resolve installed and running locally, and the agent is driving an application rather than calling a service. Right answer for someone already living in Resolve, Premiere or Final Cut; wrong answer for someone who wants a file back from a chat.

The pattern across all five: clipping is well served and finishing is not. Cutting is the first ten minutes of an edit. The rest is captions timed against the new cut, music that gets out of the way of speech, a grade, a few zooms that land on the right words, a watermark that has to go — and those need to be tools in one registry or you end up moving files between products. Our full side-by-side goes capability by capability.

Eight Questions to Ask Before You Connect One

Marketing copy in this category is uniformly enthusiastic, so here are the questions that actually separate the products. Every one of them has a checkable answer.

1. Can it read the footage, or only transform it?

This is the first question and it eliminates most servers. A tool list full of verbs — clip, caption, reframe — with no nouns to read from is a server the model must aim blind. Ask for the transcript tools, the silence tools, the shot tools. Without them the model is guessing timestamps, and a guessed timestamp is a cut in the wrong place.

2. Can the model see a frame?

MCP tool results can carry image content, so a server is allowed to hand the model actual pixels. Very few do. It is the difference between an agent that can check whether a caption landed on someone's face and one that can only report what it intended.

3. What is the upload ceiling?

Almost nobody publishes one, which is itself informative. Ask for the number in gigabytes and in minutes, and for the container formats. Valmera's is 14 GB or 3 hours, in MP4, MOV, MKV or WebM.

4. What does the final render come from?

Fast iteration needs a small proxy; a deliverable does not. Ask whether the export is rendered from your original file or from the same proxy the previews used. If the answer is unclear, assume the proxy.

5. Is anything destructive?

An agent with write access to your only copy of a shoot is an unreasonable thing to accept. The safe design is an edit decision list: tools write decisions, a renderer writes pixels, the upload is never modified and any cut can be restored.

6. What happens to slow operations?

Rendering takes longer than a tool call should block for. A well-built server returns a job handle and a tool to wait on it. A badly built one returns success before the work is done, and the model tells you your video is ready when it is not.

7. Is the tool list the real one?

If the editing product and the MCP server maintain two separate tool declarations, they will drift, and the model will be offered operations that no longer exist. Ask whether the server serves the product's own registry or a hand-written subset of it.

8. What does it refuse?

A server that never says no will fabricate. The useful behaviour is a tool that returns a refusal the model can read and relay — out of scope, unsupported format, service not configured — rather than an empty success.

What MCP Does Not Solve

MCP is plumbing. Plumbing is valuable and it is not magic, and the gap between those two is where most of the disappointment in this category comes from.

  • It carries no bytes. Tool arguments are JSON, so a 2GB MP4 can never be a parameter. Media moves out of band — a presigned upload, a helper script, or a link the server fetches itself. This is the first thing that surprises people.
  • It does not give the model eyes. A server may return image content, and the client may or may not render it. Some clients stringify content they cannot display, which turns a returned frame into a wall of characters. Frame-level inspection is a property of the server and the client, never of the protocol.
  • It has no native concept of a slow job in the core protocol. The Tasks extension addresses this and is opt-in on both sides, so until it is universal every server invents its own job handle, and some invent nothing and simply return early.
  • Everything a tool returns costs context. A three-hour transcript is roughly thirty thousand words and will not fit in one message. The server has to index, search and summarise on the model's behalf, and a server that just dumps its data back will exhaust the session before the edit is finished.
  • It does not supply taste. A larger tool surface makes more outcomes reachable; it does not make the reach better. A weak model with 108 tools produces confident nonsense faster than a weak model with ten.
  • It inherits every limit of what it connects to. Valmera over MCP is the same editor as Valmera in the browser: no whole-video text-to-video generation, no SRT or VTT import or export (captions are burned in), no true crossfade or dissolve, no per-cut transition choice, no motion-tracked overlays, no custom font uploads, no multi-cam sync, no audio denoise or per-speaker leveling, no AI music generation, no team seats or share links, no direct publishing to YouTube or TikTok, and one deliverable per request rather than a batch. A connector changes who drives; it does not add capabilities.
  • Client coverage is uneven and worth verifying. Any compliant client can talk to a Streamable HTTP server, and clients limited to stdio need a bridge such as mcp-remote. We have verified the Claude app and Claude Code end to end. Others should work; we have not tested each one, and we would rather say so than list logos.

One more, specific to editing: two agents must not write the same timeline. Valmera refuses in both directions — an MCP call is blocked while a studio turn is running on that project, and the studio refuses to start a turn while an MCP call is in flight. Any server that lets a chat session and a web UI interleave writes to one edit will eventually corrupt it.

What It Looks Like in Practice

A concrete session, so the abstraction has something under it. You are in a Claude conversation with a video editing server connected. You paste a link to a 48-minute podcast recording, or upload it, and ask for a short clip of the segment about pricing, cut tight, captioned, vertical.

What happens is a sequence of tool calls you can watch: the server indexes the file once and reports progress; the model searches the transcript for the pricing discussion and gets back real timestamps rather than an estimate; it cuts the surrounding range, removes the silences and the filler words inside it, reframes to 9:16 with the crop aimed at whoever is speaking, adds captions timed against the new cut rather than the original, renders a preview, looks at a few frames of that preview, notices the caption is colliding with a lower-third and moves it, then exports from the original file at source quality and hands back a download URL.

Every one of those steps is a tool call the model chose. None of them is a feature you pressed. That is the whole difference between an editor with AI features and an agentic editor reachable over a protocol — and it is why the read tools matter more than the write tools. If the model could not search the transcript, the first step would have been a guess, and every step after it would have inherited the error.

Frequently Asked Questions

MCP for video editing means using the Model Context Protocol — an open standard, introduced by Anthropic in November 2024, for connecting AI applications to external systems — to hand a language model a real video editor it can operate: the server publishes editing operations as callable tools, the model decides which to call and in what order, and the server performs the decoding, editing and encoding the model cannot perform itself. The division of labour is the entire idea. A model has judgement about what a video should be and no ability to touch a single frame. A renderer can touch every frame and has no judgement. MCP is the wire between them, and because it is a standard wire, the same editor can be driven from any MCP client instead of from one vendor's chat box.
MCP stands for Model Context Protocol. It was introduced by Anthropic in November 2024 and published as an open standard, and it is now supported across a wide range of AI applications — Claude, ChatGPT, Visual Studio Code, Cursor and others — as well as by thousands of servers. The specification is versioned by date; the current revision at the time of writing is 2026-07-28. It defines a JSON-RPC 2.0 message format, three things a server can offer a model (tools, resources and prompts), and two standard transports (stdio and Streamable HTTP). Video editing is not special-cased anywhere in it; an editor is simply a server whose tools happen to operate on media.
No, and it does not replace one. An API is an interface for software you are writing; a developer reads the documentation once and writes an integration. MCP is an interface for a model you are talking to: the model discovers what exists by calling tools/list at connection time, reads the description and JSON Schema of each tool, and decides what to call. Most MCP servers sit on top of an ordinary API — the protocol is the layer that makes that API self-describing to a model and portable across every client that speaks MCP. If you are building a product, use the API. If you want your assistant to do the job inside the conversation you are already in, you want MCP.
On its own, no — a language model cannot open a file, decode audio or encode an H.264 stream. Connected to a video editing MCP server it can, because the work happens on the server: Claude chooses and sequences the tool calls, and the server transcribes, cuts, captions, mixes, renders and exports. What comes back into the conversation is a real MP4 and a download link, not a description of one. Valmera's server is one such connector — add the URL https://entrepreneur-bot-backend.onrender.com/mcp in the Claude app, sign in, and the editing toolset is available in the chat.
It depends entirely on the transport. A stdio server is a program your AI app launches as a subprocess on your own machine, so you install it, and it can reach your local files. A remote server using the Streamable HTTP transport is a URL you paste into a connector, so there is nothing to install and the encoding happens on the vendor's hardware — but the media has to get there, by upload or by link. Valmera, reap and OpenClip are remote. Video Jungle and the DaVinci Resolve bridge are local: Video Jungle is a Python package you run yourself, and the Resolve bridge additionally needs a licensed Resolve install on the same machine.
Both halves of the job. The write half — cut, caption, reframe, mix — is what every server ships. The read half is what separates a server an agent can edit with from one it can only guess with: a word-level transcript with timestamps, detected silences, shot boundaries, the current state of the edit, and ideally actual frames the model can look at. Without the read half, every instruction that refers to content rather than to a number ("cut the part where I fumble the price") turns into a guessed timestamp. A third group matters in practice: job handles for slow work, so a render that takes two minutes returns a ticket instead of blocking or lying.
Five at the time of writing. Valmera is a full editor with 108 tools (97 editing plus 11 session), hosted, OAuth 2.1. reap is deliberately narrow at 10 tools — clip, caption, dub into 80+ languages, transcribe, reframe — hosted with API-key auth, and it is the right answer if multi-language distribution is your bottleneck, because Valmera has no dubbing at all. OpenClip publishes 28 tools around turning a link into captioned shorts, with OAuth. Video Jungle is open source and self-run, built around semantic search over your own video library. DaVinci Resolve MCP is a bridge that drives a licensed local Resolve install rather than a service. We keep a fuller side-by-side, including where each of the others is the better answer.
MCP's authorization specification puts the server in the role of an OAuth 2.1 resource server. An unauthenticated call gets a 401 with a WWW-Authenticate header pointing at a protected-resource metadata document (RFC 9728); the client reads that to find the authorization server, fetches its metadata (RFC 8414), obtains a client id, and runs an authorization-code flow with mandatory PKCE and an RFC 8707 resource parameter that binds the token to that specific server. In practice all of that is invisible: you paste a URL, a sign-in page opens, you press Allow. Valmera implements this flow with dynamic client registration (RFC 7591), which is why there is no token to copy; Claude Code can alternatively carry a bearer token. Note that stdio servers are explicitly outside this spec — they take credentials from the environment instead.
Not through MCP. Tool arguments are JSON, so raw bytes never cross the protocol — a two-gigabyte MP4 cannot be a parameter. Servers solve it out of band: a presigned upload URL the client or a helper script writes to, or a fetch tool that takes a link and pulls the media server-side. On Valmera, files up to 16MB go as a single presigned PUT, anything larger comes back as a presigned multi-part plan with one URL per part, and a link can be handed to the server to fetch itself. This is the single most common surprise for people connecting a video server for the first time.
MCP is plumbing, and plumbing does not supply taste. It does not make a weak model into a good editor, it does not give a model eyes unless the server chooses to return frames and the client can render them, and it carries no bytes — media moves out of band. The core protocol also has no built-in notion of a long-running job, so every server invents its own convention until the Tasks extension is widely adopted. And it inherits the limits of whatever it is connected to: Valmera over MCP still cannot dub, export an SRT file, sync multi-cam angles, produce a true crossfade, or publish to YouTube, because the editor behind the connector cannot do those things either.

Give Your Assistant a Real Video Editor

50 free credits, no card required. Paste the endpoint into your MCP client and edit your first video from the chat you are already in.

Create a free account →
See pricing →

Related Articles

Valmera MCP Server
The endpoint, the transport, the auth and the design notes for a working video editing MCP server.
MCP Tool Reference
All 108 tools the connector exposes, what each does, and what it refuses.
Best Video Editing MCP Servers
The five servers compared on tool surface, auth and scope — including where another one wins.
Connect Claude to Video Editing
Step-by-step setup for the Claude app and Claude Code, plus the errors worth recognising.
Agentic Video Editor
The category behind the connector: why an editor built as an agent is the kind another agent can drive.