Speakeasy builds your MCP server. Who ensures it never drifts?
Generation is day one. The problem is what happens on day thirty.
MCP servers are becoming infrastructure. If you want an agent to reliably call your API, you need a model-friendly, tool-described interface layer that sits between the agent and the raw endpoints. That’s MCP.
Speakeasy generates that layer beautifully. You point it at your OpenAPI spec, and you get an MCP server with typed tools, schemas, and descriptions. It removes the tedious half of the MCP adoption problem.
But generation is day one. The problem isn’t “how do I build an MCP server” — Speakeasy solved that. The problem is what happens on day thirty.
What happens on day thirty
On day thirty, your spec has changed. Someone renamed a field. An endpoint was promoted out of beta. A response shape shifted in a way that passed internal review but nobody propagated to the generated MCP surface. The deployed API does one thing. The MCP server — built from last sprint’s spec — says it does another. The agent calling both has no way to tell.
This is drift. And in an MCP-mediated world, drift does not surface as a compile error. It surfaces as the agent confidently calling a tool that no longer matches reality, returning a plausible-looking response, and silently corrupting the downstream workflow.
Three artifacts, one contract
- The spec — what you declared
- The deployed API — what actually serves requests
- The generated MCP server — what the agent thinks it’s talking to
When these three agree, agents work. When they don’t, agents fail in the most expensive way — confidently.
Who owns that drift? Speakeasy doesn’t — generation is a one-shot, deliberately. Your API framework doesn’t — it doesn’t know there’s a downstream MCP artifact. Your agent layer doesn’t — it’s consuming the MCP interface, not validating it.
Right now, nobody does.
The open problem
Not “how do we build MCP servers” — Speakeasy: handled. Not “how do we write agents” — Claude Code, Codex: handled. The open problem is: who enforces the contract between the three artifacts, at build time, on every change?
That’s what StateAnchor does — a build-time gate that catches spec-to-artifact drift before it reaches production. Not a replacement for Speakeasy. The layer underneath that makes Speakeasy’s output stay true.
Connect StateAnchor to gate your spec before generation runs. Free to start.
Get started →Quickstart guide →