Skip to main content
The MCP server at https://api.rendobar.com/mcp gives any MCP client 10 tools: submit a job, upload a file, poll status, and chain a completed job into the next one. Connect it with one command over OAuth, no API key to copy.

Connect

Your browser opens once to approve access.

What you can do

Call list_job_types first. It returns every active job type fresh, so it never goes stale like a hardcoded list would. Pass type (for example "compose") to get that one job type’s complete parameter schema instead, with per-field documentation: ranges, defaults, units, and usage notes. Agents should do this before authoring a complex payload like a compose timeline. { job: "job_..." } inside submit_job’s inputs chains a completed job straight into the next one today for ffmpeg inputs. For any other job type, pass the prior job’s output URL (from get_job) as a plain URL input instead. A failed call returns isError: true with { error: { code, message, retryable } } instead of throwing, so the agent can react to it. See the error catalogue for codes.

From your phone

A phone has no filesystem the agent can reach, so a media file routes through a page you open yourself.
1

Connect on claude.ai mobile

Settings, Connectors, Add custom connector, paste https://api.rendobar.com/mcp, approve.
2

Ask for the edit

“Trim this video to the first 10 seconds and burn in captions.” Claude calls list_job_types, then upload_media with no files declared, since it can’t read anything off your phone.
3

Tap the upload link

upload_media returns a pageUrl. Claude sends it to you in the chat. Open it, pick the file from your camera roll, and it uploads.
4

Get the result in chat

Claude polls get_upload({ wait: true }) until the asset is ready, calls submit_job with its URL, then get_job({ wait: true }), and replies with the finished clip.

From an agent with shell access

An agent that can run shell commands skips the upload page and PUTs bytes directly.
1

Declare the file

Pass the filename and size. A known size gets you a presigned URL right away: a single PUT under 100 MB, part URLs above it.
2

PUT the bytes

3

Finalize the asset

Returns the ready asset, including its stable url. For a multipart upload, pass parts: [{ partNumber, etag }] collected from each part’s PUT response.
4

Submit the job

Returns { jobId: "job_9c31", status: "waiting" }.
5

Chain a second job off the first

Pass the completed job’s id as the next job’s input. No download, no re-upload.
6

Wait for the result

Blocks up to 45 seconds, then returns output.file.url.

Run the local server for direct disk access

The hosted server can’t read your disk, so even a shell-capable agent goes through the presigned-URL handshake above. @rendobar/mcp, the local stdio server, skips that: its upload_file tool reads a file off disk and uploads it in a single call. Get an API key at app.rendobar.com, Settings, API keys.
Needs Node 20.10 or later. The server checks at startup and exits with a clear message if it’s older.

See also