Claude Code maxResultSizeChars 500,000 vs Sume's 256 KiB output cap
Raising Claude Code's per-tool result limit to 500,000 characters does not change what Sume returns: the server caps one MCP result at 262,144 bytes.

Raising the limit in Claude Code does not make a Sume tool return more data. Claude Code lets a tool set _meta["anthropic/maxResultSizeChars"] up to 500,000 characters, and the default MAX_MCP_OUTPUT_TOKENS is 25,000. Those are client-side ceilings on what Claude Code will accept. Sume enforces its own ceiling before the response is sent: one MCP result may not exceed 256 KiB, which is 262,144 bytes. The smaller of the two limits wins, so the client setting is only relevant when it is lower than Sume's.
Two limits, two places
The node and depth limits come from the same output check. A result with 10,000 or more JSON nodes, or nested more than 32 levels, is refused with an "MCP output budget exceeded" error even when it is small in bytes.
| Limit | Value | Enforced by |
|---|---|---|
| MAX_MCP_OUTPUT_TOKENS default | 25,000 tokens | Claude Code |
| Warning threshold | 10,000 tokens | Claude Code |
| Per-tool override | _meta anthropic/maxResultSizeChars, up to 500,000 chars | Claude Code |
| One MCP result | 256 KiB (262,144 bytes) | Sume MCP server |
| Nodes in one result | 10,000 maximum | Sume MCP server |
| Nesting depth | 32 maximum | Sume MCP server |
What to do when a result is too large
Do not retry with a larger client limit; the same call will fail the same way. Sume's job tools are built so that the large thing, the media file, is never inside the MCP result. A finished job returns metadata and a URL, and the file itself is fetched over HTTPS outside the tool channel.
Ask for less per call instead. jobs_wait has an include_results flag that is false unless you set it, so a batch wait returns statuses only. When you do need results for many jobs, split the ids across several calls rather than one call with all 20 and include_results on.
An oversize error is not a failed job. The job keeps running and billing as normal, and you can fetch it later with jobs_result using the same job_id.
- Leave include_results off for batch waits, then call jobs_result per finished job.
- Download media from the returned URL with your own HTTP client, not through the model.
- Do not raise MAX_MCP_OUTPUT_TOKENS to work around a Sume error; it cannot help.
Where the client limit still matters
The Claude Code limit matters when a result is under 256 KiB but over what the model should read. 25,000 tokens is far smaller than 262,144 bytes of JSON, so a large jobs_result with include_results can trigger Claude Code's warning at 10,000 tokens well before Sume's cap. In that case, narrow the request, not the limit.
A quick budget for a batch
Suppose a script submits 20 clips and waits on all of them. A jobs_wait call with 20 ids and include_results false returns 20 small status objects, far inside both limits. The same call with include_results true returns 20 result objects, and each carries URLs and metadata. That is where you start to approach the 10,000 token warning in Claude Code, even though the bytes stay well under 262,144.
If a result does exceed Sume's cap, the error names the output budget, not the job. Read it as a signal to shrink the request. The reliable pattern is one wait for statuses, then one jobs_result per finished job, which keeps every response small and every failure local to one job.
Sources
Related posts
More in Integrations
- Claude Code: local Sume entry vs claude.ai connector, who wins
Claude Code ranks a local Sume MCP entry above a claude.ai connector. That decides whether you get the API key's full tool set or OAuth's read-only one.
- claude --strict-mcp-config: run CI with only the Sume server
--strict-mcp-config makes Claude Code use only servers from --mcp-config. A CI recipe for loading just Sume's hosted MCP, with a key, a wait limit and a cap.
- Cursor mcp.json for Sume: a URL and nothing else
The Cursor entry for hosted Sume MCP is one url field with no key in the file; OAuth sign-in happens in the client and the consent page lives on the MCP host.
- Devin Desktop ${file:} interpolation for the Sume API key
Devin Desktop expands ${file:/path} and ${env:NAME} in mcp_config.json. Put the Sume API key in a file outside the config; the 100-tool cap still applies.
Written by Sume