MCP-HDR-002
Missing Mcp-Name on tools/call rejected with 400 + HeaderMismatch
“Mcp-Name | params.name or params.uri | tools/call, resources/read, prompts/get requests.” — spec anchor
How to fix this
`tools/call`, `resources/read` and `prompts/get` must carry `Mcp-Name` holding the body's `params.name` (or `params.uri`). Reject the request with 400 and `-32020` when it is missing.
Check your own server against this rule
The validator makes real protocol requests and reports this rule as pass, warn or fail alongside the other 78. Validate a server or read how the check works.
Other Request metadata headers rules
- MCP-HDR-001Missing Mcp-Method rejected with 400 + HeaderMismatch
- MCP-HDR-003Mcp-Name header must match the request body
- MCP-HDR-004Missing MCP-Protocol-Version rejected (modern-only servers)
- MCP-HDR-005MCP-Protocol-Version header must match _meta.protocolVersion
- MCP-HDR-006Header names compared case-insensitively
- MCP-HDR-007Base64 sentinel-encoded header values decoded before comparison
- MCP-HDR-008Mcp-Param-{Name} validated against body when x-mcp-header is declared
- MCP-HDR-009Mcp-Param-{Name} containing invalid characters is rejected
- MCP-HDR-010Header validation runs before method dispatch