Days after I wrote about building a Gatekeeper by hand for a client's SAP, Ariba, and Entra sprawl, the Model Context Protocol shipped a stable spec extension that standardizes almost exactly that pattern. It's called Enterprise-Managed Authorization, it's real, it's backed by Anthropic, Microsoft, and Okta, and real MCP servers — Atlassian, Figma, Linear, Slack, Asana, Canva, Supabase — already support it. My first reaction was that I'd been quietly overtaken by a standards committee. Reading the spec closely changed my mind, but not in the direction I expected. It's not that the problem got solved. It's that the standard drew a precise line around exactly which half of it got solved, and the SAP and the Ariba both fall on the wrong side of that line.
Their own writeup is candid about the problem: without a shared mechanism, every employee has to individually authenticate to every MCP server, access ends up being "whatever each user authorized, with no central control or audit trail," and nothing stops a personal account from connecting to enterprise tooling. Organizations end up building — their words — "bespoke solutions." That's a precise description of the SAP Gatekeeper we sketched out by hand two posts ago.
The mechanism is a real IETF draft standard, not a proprietary trick: an ID-JAG, an Identity Assertion JWT Authorization Grant. Three actors, one flow. The identity provider — Entra, Okta, whichever — issues an ID-JAG during normal SSO, enforcing whatever group, role, or conditional-access rules already govern that person. The client presents that ID-JAG to the MCP server's own authorization server, with no per-service consent screen in between. The MCP server validates the assertion against organizational policy and issues access from it. One sign-in, every approved server, and the audit trail lives with the IdP instead of scattered across whatever each person happened to click "allow" on.
EMA needs two things to be true about a system: it has to have an MCP server, and that server's authorization has to be built on OAuth in a shape the extension can sit on top of. Slack, Figma, Linear — modern SaaS, built OAuth-native from the start, shipped an MCP server this year because everyone's shipping an MCP server this year. Neither is true for the client's actual stack.
SAP, in this integration, is a username and password — Basic Auth against a shared service account. There's no MCP server, and there's no OAuth of any kind in the path to extend. Ariba is closer, technically: a client-credentials grant is at least OAuth-shaped. But client-credentials is inherently a service-level grant, not a per-user delegated one, and there's still no MCP server for Ariba sitting in front of it. EMA has nothing to attach to on either system. The Gatekeeper we designed doesn't get replaced by a standard that can't reach it.
The thesis from the Cloudflare post holds up better than I expected, and this is why: I argued you don't need to own an edge network, you need the discipline of never letting an agent hold a raw credential, sourced from a broker that speaks for it instead. EMA is the industry deciding that discipline is worth standardizing — for the half of a company's stack that's young enough to have an MCP server and an OAuth flow already. That's genuinely good; it means a whole category of integration work is about to get cheaper and more consistent, the same way the field mapping got easier once vendors mostly agreed on JSON over arbitrary fixed-width files.
It also means the gap gets more visible instead of less. Before EMA, everything was a bespoke solution, SAP and Slack alike, and the unevenness didn't stand out because nothing was standardized. Now Slack gets a protocol and an audit trail for free, and SAP still gets whatever a contractor hand-builds this quarter — and the size of that gap is exactly the size of "how old is the system, and how much has anyone bothered to modernize its auth story since." SAP's API surface moves on a timeline measured in product cycles, not conference talks. There's no version of "wait for the standard to catch up" that resolves inside a project timeline.
Not "build the Gatekeeper, or don't, because the standard handles it." Both, for a long time, maybe permanently: the modern edge of a company's stack authenticates through EMA and audits through the IdP natively, and the legacy core — the SAP, the Ariba, the on-prem thing nobody's touched since 2011 — keeps needing something standing in front of it, translating a password or a client-credentials grant into the same shape everything else now gets by default. The actual job isn't picking a side. It's building, and maintaining, the bridge between a company's two different eras of integration — which is, if I'm honest, most of what this company has ever been hired to do. The name changed. The work didn't.