Originally published at ffmpeg-micro.com
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's 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"
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.
Two Ways to Connect
Hosted (no install required):
Point your MCP client at our hosted server. No Node.js, no local setup:
{
"mcpServers": {
"ffmpeg-micro": {
"type": "http",
"url": "https://mcp.ffmpeg-micro.com",
"headers": {
"Authorization": "Bearer your_api_key_here"
}
}
}
}
Local via npx:
If you prefer running locally, the npm package works with any stdio-compatible MCP client:
{
"mcpServers": {
"ffmpeg-micro": {
"command": "npx",
"args": ["-y", "@ffmpeg-micro/mcp-server"],
"env": {
"FFMPEG_MICRO_API_KEY": "your_api_key_here"
}
}
}
}
Both options use the same FFmpeg Micro API key you already have.
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"
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
Step-by-step setup instructions for Claude Desktop, Cursor, Windsurf, VS Code, and Claude Code are available at ffmpeg-micro.com/mcp.
Try It
You need two things:
- A free FFmpeg Micro account at ffmpeg-micro.com
- An MCP-compatible client (Claude Desktop, Cursor, Continue, etc.)
Add the config snippet above, swap in your API key, and start asking your AI to process videos. The source is open on GitHub if you want to poke around or contribute.
Top comments (0)