Phase 13: Tools & Protocols

MCP Conformance Engineering: Versioning, Evidence, and Operations

A server is not conformant because its happy path worked through one SDK. Conformance lives at the wire, at version boundaries, through intermediaries, and during rollback. Turn normative MCP rules into golden and negative wire transcripts. Keep strict 2026-07-28 behavior separate from bounded legacy fallback. Distinguish additive unknown fields from an invalid unknown resultType. Compare raw JSON-RPC evidence with an SDK-normalized view. Prove header and body integrity through a real proxy boundary. Gate releases with redacted transcript, health, and rollback evidence. Your client calls tools/list through an SDK and gets tools. The integration test passes. That result leaves important questions unanswered: Did the request carry modern per-request protocol metadata? Did MCP-Protocol-Version, Mcp-Method, and Mcp-Name match the JSON-RPC body? Did the response contain a valid resultType on the wire, or did the SDK synthesize one? Would the client preserve a future additive field? Would a recognized modern error accidentally trigger a legacy handshake? Did a proxy preserve the origin status and JSON-RPC error? Did the notification serializer emit a forbidden response? Can operations prove why a release was promoted or rolled back without storing secrets? Conformance is a set of observable invariants. Build a harness that captures those invariants before production traffic has to discover them. MCP 2026-07-28 uses self-contained per-request metadata. A modern request carries params.meta.io.modelcontextprotocol/protocolVersion and params.meta.io.modelcontextprotocol/clientCapabilities. The exact…

MCP Conformance Engineering: Versioning, Evidence, and Operations: A server is not conformant because its happy path worked through one SDK. Conformance lives…

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.