FFmpeg Micro Now Has an MCP Server: Transcode Videos from Claude Desktop

You can now transcode videos from Claude Desktop, Cursor, or any MCP-compatible AI agent. No code, no scripts, no curl commands. Just tell your AI assistant what you want and it handles the rest.
We just shipped an MCP server for FFmpeg Micro. If you've been using our REST API, you already know the endpoints. The MCP server wraps them into six tools that AI agents can call directly.
What is MCP?
Model Context Protocol is an open standard that lets AI assistants call external tools. Think of it like giving Claude or Cursor the ability to use APIs on your behalf. Instead of you writing the API calls, the AI writes and executes them.
Anthropic created the spec, and it's supported by Claude Desktop, Cursor, Continue, Windsurf, and a growing list of dev tools.
What the FFmpeg Micro MCP Server Does
Six tools, mapping directly to our REST API:
- transcode_video creates a job from input URLs (HTTPS or GCS)
- get_transcode checks job status
- list_transcodes lists jobs with filters
- cancel_transcode cancels a queued or in-progress job
- get_download_url generates a signed download link
- transcode_and_wait does everything in one call: creates the job, polls until complete, returns the download URL
That last one is the killer feature. What used to take a script with upload handling, polling loops, and error handling becomes a single natural language request.
Before vs After
Without MCP, transcoding a video programmatically means writing something like this:
# Request presigned upload URL
UPLOAD_RESPONSE=$(curl -s -X POST https://www.ffmpeg-micro.com/v1/upload/presigned-url -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" -d '{"filename": "input.mp4", "contentType": "video/mp4", "fileSize": 1048576}')
# Upload the file
curl -s -X PUT "$UPLOAD_URL" --data-binary @input.mp4
# Confirm upload
curl -s -X POST https://www.ffmpeg-micro.com/v1/upload/confirm -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" -d '{"filename": "input.mp4", "fileSize": 1048576}'
# Create transcode job
JOB_RESPONSE=$(curl -s -X POST https://www.ffmpeg-micro.com/v1/transcodes -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" -d '{"inputs": [{"url": "gs://bucket/input.mp4"}], "outputFormat": "mp4", ...}')
# Poll for completion...
# Download result...
That is around 230 lines of bash when you add error handling and polling logic.
With MCP, you open Claude Desktop and type:
> "Crop this video to a square and give me the download link: https://storage.example.com/input.mp4"
Done. The AI calls transcode_and_wait, passes the URL directly (no upload step needed for HTTPS URLs), waits for completion, and hands you a download link.
In our first test, a crop-to-square job on a 10-second clip completed in about a second of processing time. The MCP handled everything: accepted the HTTPS URL directly, ran the transcode, polled for completion, and returned the signed download URL.
How to Connect
Add two lines to your MCP client config and you are done:
{
"mcpServers": {
"ffmpeg-micro": {
"type": "http",
"url": "https://mcp.ffmpeg-micro.com"
}
}
}
That is it. The first time your AI tool connects, it opens a browser window for you to sign in with your FFmpeg Micro account via OAuth. Once you approve, the token is cached and you will not be asked again.
No API keys to copy. No environment variables to set. Just connect and go.
If you prefer to use an API key directly — for automation, CI pipelines, or local development — you can pass one as a Bearer token instead:
{
"mcpServers": {
"ffmpeg-micro": {
"type": "http",
"url": "https://mcp.ffmpeg-micro.com",
"headers": {
"Authorization": "Bearer your_api_key_here"
}
}
}
}
There is also a local stdio option via npx if you want to run the server on your own machine. See the GitHub repo for that setup.
What You Can Do With It
Once connected, you can ask your AI assistant things like:
- "Transcode this video to 720p MP4 and give me the download link"
- "Add a text overlay saying 'Episode 12' to the bottom of this video"
- "Show me all my failed jobs from this week"
- "Cancel job b5f5a9c0-..."
Anything the REST API can do, the MCP server can do. That includes presets, raw FFmpeg options, virtual options like @text-overlay and @quote-card, multi-input jobs, and format conversions.
The real unlock is chaining operations conversationally. "Transcode this to 720p, then add a watermark" becomes a back-and-forth with your AI assistant rather than a script you have to write and debug.
Setup Guides
We have step-by-step setup instructions for each supported tool:
- Claude Code (terminal)
- Claude Desktop (chat interface)
- Cursor (editor)
- Windsurf (editor)
- VS Code with Copilot (editor)
For full details on tools, parameters, and authentication, see the MCP Server page.
Try It
You need two things:
- A free FFmpeg Micro account at ffmpeg-micro.com
- An MCP-compatible client (Claude Desktop, Cursor, Continue, etc.)
Drop the two-line config snippet into your MCP settings, connect, and sign in when the browser pops up. That is the whole setup. Start asking your AI to process videos. The source is open on GitHub if you want to poke around or contribute.
You might also like

Does n8n Cloud Support FFmpeg? How to Process Video Anyway
No, n8n Cloud doesn't include FFmpeg. Here's the exact workaround: process video in your n8n workflow with HTTP Request nodes and the FFmpeg Micro API.

How to Add Subtitles to Video with FFmpeg
Learn how to add subtitles and captions to video using FFmpeg CLI and the FFmpeg Micro API. Covers SRT files, styling, text overlays, and automation.

How to Process Video in Make.com with FFmpeg (No Module Required)
Use Make.com HTTP module to call FFmpeg Micro API for video transcoding. Step-by-step tutorial with no server or FFmpeg module needed.
Ready to process videos at scale?
Start using FFmpeg Micro's simple API today. No infrastructure required.
Get Started Free