Skip to content
MCP Server

A video pipeline your agent can use — and cannot break

Submit encodes, host videos, add captions and read back status and cost from Claude, Claude Code or Cursor. No delete, no cancel, no keys.

No card needed · 30-second test encodes free · pay per output minute after

server · https://mcp.transcodely.com/mcp

How do I connect Claude to video transcoding?

Three steps, and the only thing you type is a URL. The usual MCP setup — install a package, run it locally, paste an API key into a config file — is exactly what this isn’t.

  1. 01

    Point your client at the server

    One URL. There is no package to install, no gateway to run, and no local process to keep alive — the server is hosted and speaks MCP (Model Context Protocol) over streamable HTTP.

  2. 02

    Authorize

    Your client opens a browser window; you approve; it closes. No API key is created, copied, or pasted into a config file. If you do not have a Transcodely account yet, you can make one right there.

  3. 03

    Ask for a video

    The tools show up in your client. Describe what you want in plain language and the agent picks the tool, runs it against your app, and reports back.

  1. 1 Open Settings → Connectors → Add custom connector.
  2. 2 Paste the server URL: https://mcp.transcodely.com/mcp
  3. 3 Click Connect and approve the authorize screen.
https://mcp.transcodely.com/mcp

The same connector works in the Claude desktop and mobile apps.

Running headless, in CI, or on a server with no browser? Attach a Transcodely API key as a bearer token instead — the connect guide covers both paths.

See an exchange

The protocol log behind “transcode and host this video”: what the agent sends, and what comes back.

MCP exchange streamable HTTP
  1. Tool call create_video_from_url tools/call
    {
      "url": "https://www.transcodely.com/videos/bbb-30s.mp4",
      "title": "Big Buck Bunny (30s)"
    }
  2. Result from create_video_from_url
    {
      "id": "vid_a1b2c3d4e5f6g7",
      "object": "video",
      "status": "processing",
      "visibility": "unlisted",
      "renditions": []
    }
Tool names and argument keys are exactly what the protocol carries. Results are abridged and ids are examples; get_video is polled until the video is ready.

What can an agent actually do?

Exactly 15 things. 9 of them only read. 4 create something, and 3 of those bill you. Two — set_spend_limit and update_preset — replace a setting, free of charge, and reach only the work you create afterwards.

ToolWhat it doesEffect
create_jobTranscode a source from gs://, s3://, or https:// into one or more renditions, written to a storage origin you own.creates · billable
create_presetSave a named bundle of encoding settings that later jobs can call up by slug. Jobs that already exist are untouched.creates · free
create_video_from_urlIngest a publicly reachable https:// video and host it — adaptive ladder, CDN, player. Private and internal addresses are rejected.creates · billable
generate_captionsTranscribe a hosted video into a WebVTT subtitle track. Idempotent per video and language, so a retry never bills twice.creates · billable
get_ingest_ruleOne ingest rule in full: the origin it watches, its filters, and how many events and jobs it has produced.read-only
get_job_statusA compact progress snapshot for one job — overall status, per-output status, and any error code. Built for polling.read-only
get_output_reportWhat the encoder actually produced, measured from the written file: codec, profile, pixel format, colour, every audio stream — and each property that differs from what you asked for.read-only
get_usageEncoding minutes, average storage, egress, and cost in EUR for a billing month, with a per-day breakdown.read-only
get_videoRead a hosted video: status, duration, every encoded rendition, and — once it is ready — the link to play it.read-only
list_ingest_eventsWhat became of every delivery your rules received — matched, created, skipped or failed, and the reason. The answer to "I uploaded a file and no job appeared".read-only
list_ingest_rulesThe standing rules that turn an object landing in your bucket into a job, and whether each one is enabled. No secret material is returned.read-only
list_jobsRecent jobs newest first, optionally filtered by status, with cursor paging up to 100 rows per page.read-only
list_presetsEvery preset this app can use — the ones we ship and your own — with full settings and an estimated cost per source minute.read-only
set_spend_limitSet or clear this app's monthly EUR cap. Owners and admins only, signed in through the browser — an API key cannot move it.replaces a setting
update_presetChange a custom preset's settings. Queued and running jobs are unaffected: a job resolves its preset when it is created.replaces a setting

What keeps it safe?

Every call is scoped to one app
A tool call resolves to a single Transcodely app and sees only that app’s jobs and videos. Point separate connections at separate apps — a per-app URL each — to keep environments apart.
Every call is audited
Each tool call writes an audit row with the tool name and scrubbed arguments — the same audit trail your REST calls land in.

What it can’t do

A short surface is the point. Here is where it ends.

  • Nothing on this surface deletes or cancels

    There is no delete, cancel, or remove tool. An agent connected to Transcodely can create new work and read what exists — it cannot remove a video or kill a running job. Two — set_spend_limit and update_preset — replace a setting, and only work created after the change sees it.

  • No file uploads over MCP

    create_video_from_url fetches a publicly reachable http(s) URL; private and internal addresses are rejected. To push bytes from your machine, use the dashboard or the upload API.

  • No admin, billing, or team surface

    Keys, members, plans, invoices, and origins are not exposed. get_usage reports what a month cost; it cannot change what anything costs.

  • The encoder is not a model

    Transcoding is deterministic ffmpeg work — the same pipeline, the same output, whether an agent or a cron job starts it. generate_captions is the one genuinely AI feature here: speech transcribed into a WebVTT track.

Frequently asked questions

Give your agent a video pipeline

Free to connect. You pay only for the encoding and hosting your agent actually starts — the same rates as the API.

No card needed · 30-second test encodes free · pay per output minute after