Enterprise-Managed Authorization (EMA)
Enterprise-Managed Authorization (EMA) - A stable MCP authorization extension that lets an organization's identity provider decide which MCP servers its users can reach. The client obtains an Identity Assertion JWT Authorization Grant (ID-JAG) from the IdP during single sign-on and exchanges it for an access token at the MCP server's authorization server, so the user never sees a per-server consent screen.
Enterprise-Managed Authorization is the MCP extension that moves the
access decision from the end user to the organization. It reached stable
status on 2026-06-18 and lives in modelcontextprotocol/ext-auth, a
separate repository from the core specification, whose extensions the
README describes as optional, additive, composable and versioned
independently of the revision cycle.
The mechanism is an application of an IETF draft rather than something MCP invented. The specification profiles the Identity Assertion JWT Authorization Grant, itself a profile of Identity Chaining Across Trust Domains, and assigns the MCP roles to it: the MCP client is the OAuth client, the MCP server is the resource server, the authorization server is whichever one the MCP server advertises in its Protected Resource Metadata under RFC 9728, and the enterprise identity provider is the IdP authorization server.
The flow runs in three steps. A user signs in to the MCP client through the organization's IdP over OpenID Connect or SAML. The client then sends a token exchange request under RFC 8693, presenting its ID token or refresh token along with the identifier of the MCP server it wants to reach, and receives an Identity Assertion JWT Authorization Grant, or ID-JAG. It presents that grant to the MCP server's authorization server as a JWT authorization grant under RFC 7523, and if the grant validates, receives an access token. The specification is explicit that the user is never redirected through a per-server consent screen: the IdP evaluated the policy already, against the group membership and roles it holds.
That shifts three things at once. Administrators enable a server once for the organization rather than each employee authorizing it; access decisions and their audit trail live in the IdP console instead of being distributed across whatever each user happened to approve; and because there is no interactive account picker, a personal account cannot be attached to a corporate tool by accident.
The stable announcement names its first implementers. Okta is the first supported identity provider, exposing the extension through its Cross App Access protocol. On the client side, Anthropic implemented it in the shared MCP layer behind Claude Code and its sibling products, and Visual Studio Code added support in the IDE. On the server side the post lists Asana, Atlassian, Canva, Figma, Granola, Linear and Supabase as supporting it, with Slack described as actively adding support.
Where to see Enterprise-Managed Authorization in the catalog
| Entity | Type | Note |
|---|---|---|
| Claude Code | client | Anthropic implemented the extension in the shared MCP layer behind Claude, Claude Code and Cowork. |
| VS Code (GitHub Copilot) | client | The announcement names Visual Studio Code as having added EMA support. |
| Supabase MCP Server | server | Named among the first servers supporting EMA at the stable announcement. |
Sources and verification
Last verified · confidence 1.00.
- Enterprise-Managed Authorization specification, stable status, in modelcontextprotocol/ext-auth - defines "an application of the 'Identity Assertion JWT Authorization Grant' for use within enterprise deployments"; maps the Client to the MCP Client, the Resource Server to the MCP Server, the Resource Authorization Server to the server advertised in the MCP server's Protected Resource Metadata (RFC 9728) and the IdP Authorization Server to the enterprise identity provider; three steps are single sign-on via OpenID Connect or SAML, Token Exchange (RFC 8693) and JWT Authorization Grant (RFC 7523) - accessed
- Official MCP blog post "Enterprise-Managed Authorization: Zero-touch OAuth for MCP" by Paul Carleton (Core Maintainer), 2026-06-18 - states the extension "is now stable" and "is being adopted by Anthropic, Microsoft, Okta and a growing number of MCP servers"; Okta is "the first supported identity provider" via Cross App Access (XAA); Anthropic implemented it in its shared MCP layer for Claude, Claude Code and Cowork, and Visual Studio Code added support; "Asana, Atlassian, Canva, Figma, Granola, Linear and Supabase now support EMA, with Slack and more actively adding support"; "The user is never redirected through a per-server consent screen" - accessed
- modelcontextprotocol/ext-auth README - lists Enterprise-Managed Authorization as the repository's only Stable extension, with OAuth Client Credentials in Draft, and describes extensions as optional, additive, composable and versioned independently - accessed