A global platform team runs a load balancer in front of a Streamable HTTP MCP server and wants to route each execute_sql tools/call by its region argument without parsing the JSON body. How should the server enable this?
Select an answer to reveal the explanation.
Short Explanation
It's like printing the destination city on the outside of a sealed parcel so the sorting machine never has to open it for you. x-mcp-header copies one argument into an Mcp-Param header for routing. The trap is thinking Mcp-Name already carries arguments.
Full Explanation
Streamable HTTP mirrors selected request fields into headers so intermediaries such as load balancers, gateways and WAFs can route without parsing the body. Beyond the standard Mcp-Method and Mcp-Name headers, a server may designate tool parameters for mirroring by adding an x-mcp-header property to that parameter's schema inside inputSchema. Its value supplies the name portion of the header, so x-mcp-header "Region" on the region property makes conforming clients send Mcp-Param-Region with the argument's value, Base64-encoded in a sentinel format if it is not header-safe. Clients on Streamable HTTP must support this feature, and servers processing the body must check that the header matches the body, rejecting mismatches with 400 and HeaderMismatch. Mcp-Name carries only the tool name, or the URI for resource reads, never arguments. Annotations are behavioral hints about the tool and have nothing to do with headers, and MCP-Protocol-Version carries only the protocol version. Query-string parameters on the endpoint URL are not a defined MCP mechanism and would not be validated against the body. Exam caveat: x-mcp-header applies only to string, integer or boolean parameters, and sensitive values should never be mirrored. Operational check: call execute_sql with region us-west1 and confirm the request carries Mcp-Param-Region: us-west1.