catalog_list shows a capability that tools_list does not
On Sume's hosted MCP, catalog_list lists public API capabilities and can name ones with no MCP tool. tools_list is the session's real tool contract.

Because they answer different questions. Sume's docs say catalog_list lists public API capabilities, broader than the MCP tools, while tools_list lists every tool visible to the current session. Trust tools_list for what you can call.
Everything here is from MCP tools and gates and the MCP overview, read 2026-09-30.
Which capabilities have no MCP tool?
| Capability | Where to use it |
|---|---|
Sume Image 1.0 (images_create) | REST only, via the Developer API |
Sume Video 1.0 (videos_create) | REST only, via the Developer API |
| Local file bytes | Hosted MCP cannot read your laptop; use upload URL, PUT, assets_complete |
What should the agent call first?
Call tools_list for the session's tools and tools_schema with a name for one contract. mcp_health confirms endpoint, auth source and safety posture. Router stills and clips on MCP are generate_image and generate_video.
Call tools_list and summarize the available tools.
Then call tools_schema with name "generate_image" and explain
idempotency_key and dry_run before any paid generation.Why might a tool be missing from tools_list?
Under OAuth with only mcp:read, mutating and paid tools are hidden until the session has mcp:write, or you use an API key. Paid calls on a read-only session return insufficient_scope.
What do I do for a REST-only product?
Call the Developer API at https://api.sume.com/v1. The docs say the hosted MCP is not full parity with the HTTP API, so plan REST for those two products.
Why does this matter to agent authors?
An agent that plans from catalog_list alone can propose a call that does not exist on MCP. The docs say hosted MCP is not full parity with the HTTP API and that the client should discover the live contract with tools_list and tools_schema. Add that as the first instruction in the agent prompt, and route the two REST-only products through your own backend.
Sources
Related posts
More in Developers
- Reframe a video around the speaker by API: what a crop can do
Descript's Center Active Speaker (Beta) follows whoever talks. Sume's video filter crop is one fixed rectangle per clip, so cut per speaker and crop each part.
- Claude Code list_changed and reconnect: refresh Sume tools
Claude Code refreshes an MCP server's tools on list_changed and lets you reconnect from /mcp. After changing Sume's Write consent, verify with tools_list.
- D1 free-tier limit now fails queries: dedupe Sume webhooks safely
Cloudflare D1 queries on Workers Free now fail past the daily row limits. Dedupe Sume webhooks on request_id, return a 5xx, and use redeliver after the reset.
- Start a Cloudflare Workflow from a Sume webhook with ctx.exports
Verify the Sume webhook signature in a Worker, then start a Workflow with ctx.exports and no workflows binding. Includes a short Worker handler.
Written by Sume