MCP x-mcp-header and Mcp-Param headers vs Sume idempotency_key
The MCP 2026-07-28 spec can mirror tool parameters into Mcp-Param headers via x-mcp-header. Sume takes idempotency_key as a tool argument in the JSON body.

An x-mcp-header property on a tool parameter tells a client to copy that parameter's value into an Mcp-Param-{Name} request header, so a gateway can read it without parsing the body. Sume's idempotency_key is an ordinary tool argument in the JSON body, and the docs do not describe a header form of it.
Spec facts are from the 2026-07-28 Streamable HTTP page; Sume facts from MCP tools and gates and MCP quickstart, read 2026-10-01.
What do the new MCP headers carry?
The page lists Mcp-Method (the request method, on all requests) and Mcp-Name (params.name or params.uri, on tools/call, resources/read and prompts/get). Parameters marked with x-mcp-header in a tool's schema are mirrored into Mcp-Param-{Name}. Values that are not plain ASCII use a Base64 sentinel form, and a header that disagrees with the body is a mismatch error.
Where does Sume keep idempotency_key?
In the tool arguments. The gate table lists idempotency_key as required on write and paid tools, as a stable key for transport and dedup rather than human approval. Do not assume anything beyond that; the live contract for any tool comes from tools_schema with a name.
| Header | Where it appears |
|---|---|
Mcp-Method, Mcp-Name | Spec: standard request headers |
Mcp-Param-{Name} | Spec: from parameters marked x-mcp-header |
mcp-protocol-version | In Sume's preflight allow-list |
x-api-key | In Sume's preflight allow-list |
idempotency_key | Sume tool argument in the JSON body |
What should a gateway in front of Sume do?
Route on the headers the spec defines, and keep reading the body if you need the key. A gateway that wants per-key dedup should parse the tools/call body. For the method and name headers, see Mcp-Method routing at the Sume endpoint.
How do I confirm the contract for a tool?
Call tools_schema with the tool name and read the input schema it returns. Whether a given parameter carries a header annotation is a property of that schema, not something to infer from the spec.
Sources
Related posts
More in Developers
- Ming Design-Layer splits a design into RGBA layers: Sume does not
Ming-Image-0.1-Design-Layer decomposes a flat design into RGBA PNG layers. Sume's Image API returns finished images, so build layers from transparent elements.
- Ming-Image-0.1-Design on Sume: not in the catalog, use these
Ming-Image-0.1-Design is an open 6B design model. Sume's image catalog does not list it, so send a listed model id such as openai/gpt-image-2.5 for posters.
- MiniMax H3 first_frame and reference roles can't mix: Sume rule
MiniMax H3 treats first/last frames and reference roles as mutually exclusive. On Sume, frame_images takes precedence over input_references. Which to send.
- MiniMax H3 reference input limits: 30 MB, 50 MB, 64 MB request
MiniMax H3 caps images at 30 MB, reference video at 50 MB and the request at 64 MB, and says to use public URLs. A pre-flight list, and how Sume takes URLs.
Written by Sume