Capstone 13: Stateless MCP Server with Registry and Governance
Production MCP is not one server process. It is a chain of contracts: publishable metadata, live discovery, a stateless request envelope, authorization, policy, audit, and deployment evidence. Required MCP deep dives: Lesson 28: Tool Contracts, Lesson 29: Reliability, Lesson 30: Registry Supply Chain, and Lesson 31: Conformance Operations Protocol target: MCP 2026-07-28 Implement the stateless MCP request and result envelope. Keep Registry metadata separate from live protocol discovery. Build deterministic, cache-aware tool discovery. Enforce issuer, audience, scope, and approval policy for every tool call. Deploy Streamable HTTP without session affinity. Prove behavior at the wire, authorization, policy, registry, and audit boundaries. Complete the four linked Phase 13 lessons in order before treating this capstone as production-ready: Lesson 28 defines the tool, schema, content, pagination, completion, routing, and error contracts this server must expose. Lesson 29 defines cancellation races, deadlines, idempotency, backpressure, retry, and reconnect behavior. Lesson 30 defines namespace, provenance, admission pin, Registry status, drift, ledger, and rollback evidence. Lesson 31 defines golden and negative transcripts, strict version eras, SDK differential checks, proxy proof, redaction, health, and release gating. The capstone integrates those artifacts. It does not replace them with one happy-path SDK test. An internal platform needs read-only data tools and a small set of state-changing tools. Developers must be able to discover the server, understand how to connect,…
Capstone 13: Stateless MCP Server with Registry and Governance: Production MCP is not one server process. It is a chain of contracts: publishable metadata,…
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.