Sume MCP tool names: tools.list or tools_list, which one to call?
Use the underscore ids from tools_list, like generate_image. Sume also accepts dotted aliases, but tools_schema wants snake_case and clients may add a prefix.

Use the underscore ids that tools_list returns, such as tools_list, generate_image and jobs_wait. Sume's docs say the server also canonicalizes dotted aliases like tools.list to the underscore name, so a dotted call usually works. But write the underscore name in prompts and configs, because that is the live id, and because your client may add its own prefix.
Three places a name can differ
The overview page on Sume MCP states the first two rows. The prefix row comes from Sume's server instructions, which tell agents to use the namespaced name their client shows.
| Where | Form | Note |
|---|---|---|
| Live tool ids | Underscore, e.g. generate_image | What tools_list returns |
| Dotted alias | e.g. tools.list | Canonicalized to the underscore name by the server |
| Client prefix | <server>-<tool> | Some clients register tools namespaced by server; use the name your client lists |
| tools_schema argument | snake_case Sume tool id | Fails closed on unknown names |
What goes wrong
The common failure is a prompt that hard-codes one form while the client shows another. If your client lists sume-generate_image and your prompt says generate_image, the agent may guess wrong. Fix it by pasting names from the client's own tool list into the prompt, not from memory.
Also do not invent names. Sume's tool notes say that a name absent from tools_list is not available. Tools from other vendors' inventories will not exist here, and a tools_schema call on an unknown name fails closed instead of guessing an alias.
- Run
tools_listafter connecting and copy the ids you need. - Pass the snake_case id as
nametotools_schema. - Do not write dotted names into saved prompts or scripts.
The tradeoff
The alias is a convenience for clients that prefer dotted names, and it is not a reason to mix styles. Keeping one style costs nothing, and it means a failed call tells you something real, such as a missing scope, rather than a spelling problem.
One more habit helps agents that run unattended: have them call tools_list at the start of a session and read the names back, instead of relying on a name from a previous run. Sume's quickstart tells you the same thing, that live ids use underscores and dotted aliases also work, and that tools_list is the call that shows what this session can reach.
Sources
Related posts
More in Developers
- A Sume poll returned HTML: guard the JSON parse in Python
A proxy or edge can answer a Sume poll with an HTML page. A tested stdlib Python helper that returns None for non-JSON bodies so your loop retries, not crashes.
- Sume 503 provider_capacity_exceeded: retry later, same key
provider_capacity_exceeded means Sume's provider dispatch queue is full. Retry later with the same Idempotency-Key. provider_not_configured is different.
- Sume has two 429s: rate_limited and queue_full, handled differently
rate_limited is a request window. queue_full means workspace concurrency and queue capacity are both full; wait for a job to finish or cancel one.
- Which statuses to retry when reading back a Sume job (Python)
After a Sume submit returns a job id, retry reads on 408, 425, 429, 500, 502, 503, 504 and 520 to 525. A tested Python classifier and the 409 gotcha.
Written by Sume