The MCP Mandate
Your internal tooling isn't ready for AI. That's about to matter.
In 2002, Jeff Bezos issued a now infamous mandate:
All teams will henceforth expose their data and functionality through service interfaces.
Teams must communicate with each other through these interfaces.
There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.
It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter.
All service interfaces, without exception, must be designed from the ground up to be externalizable.
Anyone who doesn’t do this will be fired.
Thank you; have a nice day.1
Bezos’s insight wasn’t really about AWS, or even about external consumers. It was simpler than that: you can never predict what your engineers will build when they have access to each other’s capabilities. And you don’t need to. Build the interface for any consumer. Let them run loose.
Now think about what’s happening inside your company right now.
Engineers are using AI to write code, debug issues, draft documents. And every time one of those agents needs to touch an internal tool — your deployment pipeline, your ticketing system, your internal docs — it hits a wall. That’s assuming it even knows those resources exist.
Most times the tool will have no interface accessible to an agent at all. Sometimes someone will have hacked together a wrapper that returns a wall of HTML. But HTML is not made for agents. It has padding declarations and cookie banners and a thousand other things that exist only to look nicer for human eyes. Your agent doesn’t have eyes. It doesn’t care. What it does have is a context window. And your garbage HTML is filling it up.
If you have internal tooling that an agent can’t reach — or can’t use effectively — you’re not just slowing down your engineers. Your AI is stuck asking you to copy and paste internal docs while your competitor’s is shipping.
So why not just have the agent call the API directly?
Because APIs weren’t designed for agents. They were designed for developers. The mental model is that a human reads the docs, understands the intent, writes the integration once, and it runs forever. The human is load-bearing.
Agents don’t work that way. An agent needs to discover what a tool does at runtime, decide whether to use it based on a description, and handle weird results without a human in the loop. There’s no one to read the docs. The description is the docs.
MCP2 isn’t a better API — it’s a different primitive, built for a different consumer. An API says “here’s how to talk to me.” An MCP says “here’s what I can do for you.”
So here’s my mandate:
Every internal service must expose an MCP interface. If a human can use it, an agent must be able to use it.
It doesn’t matter how old the service is, what language it’s written in, or how much you hate touching it. Wrap it. That’s the job.
Every MCP must be registered in a central registry — discoverable by humans, queryable by agents. If it can’t be found, it doesn’t exist.
Every MCP must be designed for agent consumption. Not a wrapper around your HTML. Not a raw dump of your REST response. The agent doesn’t have eyes. Give it the juice, not the packaging.
Anyone who doesn’t do this will be fired.
Thank you; have a nice day.
Most companies haven’t done this yet. And unlike Bezos’s mandate, nobody is going to force them to.
But the insight still holds: give your agents the full toolbox, let them run loose, and see what happens. The teams that do are going to pull ahead fast. The teams that don’t are going to wonder what happened.
The original version wasn’t preserved in its original form — this is a retelling from Stevey’s Google Platforms Rant.


