Codex MCP input schema budget: how many Sume tools you load
Codex 0.158.0 makes MCP and Code Mode input schema budgets configurable. Sume keeps tool descriptions short and shows fewer tools to a read-only session.

The Codex 0.158.0 changelog lists one line on this: "Make MCP and Code Mode input schema budgets configurable." It gives no default or setting name in the snapshot, so check Codex's own docs for the key. On the Sume side, two things keep what a session loads small: short tool descriptions, and a tool list that depends on the OAuth scope.
Sume facts are from MCP tools and gates and the MCP server source, read 2026-10-01.
What does a schema budget limit?
Input schemas are the JSON descriptions of each tool's parameters that the client sends to the model. More tools and larger schemas mean more of them to fit. A budget is a ceiling on that, and a configurable one lets you trade completeness against context.
How does Sume keep its descriptions small?
The source file for the asset tool descriptions states a cap of roughly 0.5 to 2 KB per tool and keeps longer guidance in on-disk skills and server instructions. The same file defines a minimum of 512 bytes and a maximum of 2048 bytes for those descriptions.
Does the session scope change how many tools load?
Yes. Mutating and paid tools stay hidden until the session has mcp:write or an API key, so a default read-only OAuth session lists fewer tools than a write session.
| Session | Listed tools |
|---|---|
OAuth mcp:read | read-only tools |
OAuth mcp:write | read-only plus mutating and paid tools |
| API key | full hosted tool set |
How do I read one contract without loading everything?
Call tools_schema with a name such as generate_image to fetch a single tool's contract on demand, and tools_list to see what the session can use. Live ids are underscore names. If you want to block paid tools outright, see disabled tools in Codex.
Sources
Related posts
More in Developers
- Apply a LUT to video by API: no .cube file, use lutrgb curves
Sume's video filter cannot load a .cube LUT because lut3d is not allowlisted. Per-channel curves with lutrgb or lutyuv are the supported way to grade.
- Colossyan callback vs polling, and Sume terminal-only webhooks
Colossyan posts finished or failed to your callback, or you poll every 5 s. Sume webhooks are terminal-only, so keep status_url polling as a backup.
- Colossyan intrinsicDurationTrackReference vs Sume scene duration
Colossyan can size a scene to the actor's speech. In Sume avatar videos you set voice.duration per scene, silence beats need it, and the total stays 4-60 s.
- Colossyan dynamicVariables vs Sume: fill placeholders yourself
Colossyan swaps {name} placeholders from dynamicVariables. Sume's avatar endpoint has no such field: fill the script yourself, one idempotent job per recipient.
Written by Sume