| Field | Meaning | Check |
|---|---|---|
| HTTP endpoint | Server entry point | Correct path and destination |
method | Protocol operation | Mirrors Mcp-Method |
params.name | Addressed tool or prompt | Mirrors decoded Mcp-Name where required |
params.uri | Addressed resource | Mirrors decoded Mcp-Name on resources/read |
params.arguments | Tool input | Validate against the tool contract |
id | Request correlation | Match the response; not an idempotency key |
_meta.io.modelcontextprotocol/protocolVersion | Requested contract | Mirrors MCP-Protocol-Version |
_meta.io.modelcontextprotocol/clientInfo | Optional client self-description | Not authenticated identity |
_meta.io.modelcontextprotocol/clientCapabilities | Declared supported behavior | Not authorization |
The _meta object belongs under params. Mcp-Name is required for tools/call, prompts/get, and resources/read, not for every method. Header names are case-insensitive; method/name values are case-sensitive. The prescribed name encoding is =?base64?{UTF-8 bytes encoded as Base64}?=. Decode before comparing; malformed encodings are not empty names.
Source: HTTP binding, checked 2026-09-09.
Lesson 1.2 · Read an MCP request from headers to tool arguments
The sheet is the diagnosis. The course is the fix.
Lab 1 builds a server that rejects a request whose headers disagree with its body, and runs the same fixtures against a TypeScript and a Python implementation. Every lab runs on your machine with Docker Compose, and each one ships tests that break the code on purpose so you see them catch it.
Free · four printable pages
The 2026-07-28 migration cheatsheet
Every breaking change next to what replaces it, the error codes and the deprecation clock. We'll email it to you.
More free sheets#
- Your MCP server fails on one replica. Start with the request. Lesson 1.1
- Was it the transport, the protocol or the tool? Lesson 1.3
- Your MCP tool timed out. Did the write happen? Lesson 2.1
- The tool answered. The approval never came. Lesson 3.1
- Health check green, MCP tool still failing. Lesson 8.1
- What MCP 2026-07-28 breaks, and what's only deprecated. Lesson 9.1