MCP server
Connect AI clients to your account and run media jobs from them.
MediaTofu has a remote Model Context Protocol server, so AI clients such as Claude and ChatGPT can run jobs on your account. Everything they do is scoped to your account and uses the same plan limits as the API.
Jobs started over MCP use your account's compute minutes, the same as jobs started from the API. Read-only tools cost nothing.
The server URL is:
https://mcp.mediatofu.com/mcpConnect with an API key
Clients that let you set headers can use an API key. Create one in the dashboard and send it with every request:
{
"mcpServers": {
"mediatofu": {
"url": "https://mcp.mediatofu.com/mcp",
"headers": { "Authorization": "Bearer mt_your_key" }
}
}
}Connect with OAuth
Connector clients sign in with OAuth, so you never paste a key. Add https://mcp.mediatofu.com/mcp as a custom connector and the client sends you to app.mediatofu.com. Sign in with your emailed link and choose Allow.
To disconnect a client, go to API keys in the dashboard and use Connected apps. It loses access at once.
Tools
| Tool | What it does | Uses compute |
|---|---|---|
run_ffmpeg | Runs one FFmpeg command, using {{key}} placeholders as in Run FFmpeg. | Yes |
probe | Reads a file's format and streams. | Yes |
compress | Re-encodes a video to a smaller MP4. | Yes |
convert | Converts video or audio to another format. | Yes |
resize | Resizes a video. | Yes |
trim | Cuts a section without re-encoding. | Yes |
thumbnail | Grabs one frame as a JPEG. | Yes |
extract_audio | Saves a video's soundtrack as audio. | Yes |
gif | Turns part of a video into a GIF. | Yes |
get_job | Reads a job's status, outputs and errors. | No |
list_jobs | Lists your jobs, newest first. | No |
get_usage | Shows your plan, compute used and limits. | No |
The simple tools take the same parameters as their API endpoints. A job uses at least one second of compute, and a job that fails because of its command still uses the time it ran for.
Inputs are https URLs or the id of a file you've already uploaded. Files can't be uploaded over MCP.
Jobs and waiting
A job tool waits up to 20 seconds for the job to finish. If it's still queued or running after that, the tool returns the job's id and status, and the client can follow up with get_job. The job keeps running either way.
Webhooks aren't available from MCP tools.
Errors
When a job can't start, for example because of bad parameters, a plan limit or too many concurrent jobs, the tool returns the same message as the API's error. An expired or revoked sign-in or key gets a 401, and the client asks you to reconnect.