Can hosted MCP run a Sume Format? Call it over REST with an API key
The hosted MCP tools-and-gates inventory lists no Format-run tool. Run Formats with POST /v1/formats/{handle}/{slug}/runs and an API key that has formats:write.

Short answer
No. As of 2026-10-08 the tools-and-gates page for Sume's hosted MCP at https://mcp.sume.com/mcp lists no tool that starts a Format run. To run a Format, call the REST endpoint POST /v1/formats/{handle}/{slug}/runs with an API key that has the formats:write scope and an Idempotency-Key header.
That is a deliberate split, not a gap in your connector. MCP covers jobs, assets, text to speech, avatars, crawl and account reads. Formats run through the Format API, where the receipt, version pin, webhooks and spend cap are defined.
What to use for what
The table maps common tasks to the surface that supports them.
| Task | Surface | Credential |
|---|---|---|
| Run a Format or bulk-run it | REST: /v1/formats/.../runs and /bulk-runs | API key with formats:write |
| Read a Format run receipt | REST: GET /v1/format-runs/{id} | API key with formats:read |
| Wait on a job, read assets, crawl | Hosted MCP tools | OAuth (mcp:read) or API key |
| Create Image 1.0 or Video 1.0 | REST only, not in the MCP tool list | API key |
Using both in one agent
An agent can hold two credentials. Give it the MCP connector for exploration and job waiting, and give your own backend the REST key for starting Format runs. The agent asks your backend to start a run, and the backend returns the run id.
Do not look for a Format inside script_run. That tool only calls tools that appear in the MCP registry, so it cannot reach a Format run either.
Check it yourself
Call tools_list on your own connection and search the names for anything Format-shaped. Under OAuth with Write off the list is shorter still. The registry is the source of truth, and the docs warn not to assume parity with the HTTP API.
Then send a run over REST. A fresh run answers 202; replaying the same key answers 200 with the same receipt.
curl -sS -X POST https://api.sume.com/v1/formats/sume/sume-slideshow/runs \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Idempotency-Key: demo-slideshow-2026-10-08-001" \
-H "Content-Type: application/json" \
-d '{"instruction":"Three slides about our spring sale.","generation_spend_cap_usd":20}' | jq '{id, status}'Credentials and scopes for the REST side
A Format call needs formats:write to start a run and formats:read to read the receipt or list Formats. Service-account keys are refused for Formats, and a team Format needs a key issued in that workspace, otherwise you get 403 workspace_key_required. Keep this key on your server. Do not paste it into an MCP client config, where an agent could echo it.
The key also decides which wallet pays. The run is billed to the workspace the key belongs to, and no tool argument can change that.
A pattern that works
Have your backend start the run, store the returned id, and register communication.webhook_url so Sume tells you when it ends. Meanwhile an MCP-connected agent can read assets or crawl pages the Format will use. When the webhook fires, the backend fetches nothing more unless the payload is null for size, in which case it reads error.result_url.
This keeps the paid, versioned, auditable step in code you control, while the agent keeps the flexible read-only work.
Document the decision in the repository next to the code that makes the call, so the next engineer sees why the choice was made and which docs page it came from. Re-read that page when you upgrade a client or change a key, since gates and limits are the parts most likely to differ from what you remember.
A short note of the date you last verified the behaviour, such as 2026-10-08, is enough for a reviewer to know how fresh the claim is.
- Start: REST with
Idempotency-Key. - Observe: webhook, or
GET /v1/format-runs/{id}. - Explore: MCP read tools.
Sources
Related posts
More in Developers
- Hosted video instead of a GPU: a Python submit-poll-download script
Replace a local H3 or Wan pipeline with three HTTP calls. A Python script that submits a minimax-h3 job to Sume, polls it and saves the MP4, with job states.
- How many Sume jobs can one key poll at once? Reads per minute by plan
Polling every 2 seconds costs 30 reads per job per minute. Divide your plan's read budget by 30 to size the poller: 160 jobs on Free, 1600 on Scale.
- How many minutes of speech fit in one 20,000-character TTS request?
Sume TTS caps a request at 20,000 characters. At 800 to 1,200 characters per minute that is roughly 17 to 25 minutes of audio and costs 95 cents.
- Hy Image 3.5 Preview returns base64 PNG; Sume returns a URL
Moving image code from a base64 PNG response (Hy Image 3.5 Preview on OpenRouter) to Sume means downloading data[].url. A 12-line Python version.
Written by Sume