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.
- 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.
- Webhook URL with user:pass@ gets a 400: verify the signature instead
Sume refuses a run webhook_url that carries credentials, plain HTTP or a private host. Authenticate your receiver with the signed headers, not the URL.
- Sume SDK 402 insufficient credits: it is returned, not thrown
Generated Sume SDK calls resolve with data, error and response. Turn a 402 into SumeInsufficientCreditsError with toSumeApiError and stop retrying.
Written by Sume