Enterprise-Managed MCP Connectors: What IdP-Governed Authorization Covers, and What It Does Not (2026)
- Enterprise-managed MCP connectors are generally available as of 24 August 2026. An admin authorizes a connector once through the identity provider and employees in scope inherit access, with no consent screen and no separate credential to manage.
- This closes the single worst authorization gap in MCP: the per-employee personal OAuth grant nobody could enumerate and nobody could revoke centrally. Supabase's CISO describes the prior state as handing Personal Access Tokens to everyone on the team.
- It is not an Anthropic-only capability. It is the Enterprise-Managed Authorization (EMA) extension to the Model Context Protocol, originally SEP-990, declared stable on 18 June 2026, with Anthropic as the first implementation and Visual Studio Code named as a second client. Ten connectors are GA on Anthropic's side - Asana, Atlassian, Canva, Datadog, Figma, Granola, Linear, Notion, Slack, Supabase - with Exa, Miro and Zoom coming soon. Okta is the only identity provider supported at launch, on Claude Team and Enterprise plans.
- The boundary is structural, not a shortcoming. WorkOS notes that a fully authless MCP server never returns a 401, so there is no point at which Claude can exchange an assertion. The same architecture rules out local stdio: the flow needs an MCP authorization server in the path, and a developer's local
.mcp.jsonentry has none. - The IdP-only lock is opt-in, not the default. Anthropic's Help Center states browser sign-in and managed authorization can be on for the same connector at once, and existing sessions end when the access token expires or is revoked.
- EMA governs the connection, not the action. It decides whether a user may connect a client to a server and with which scopes, not whether a given tool call should run right now - that is the endpoint plane, what is actually configured on the laptop, and it stays silent about that half. Read it as two planes: a real win on the first, unchanged on the second.
Enterprise-managed MCP connectors are now generally available in Claude, and this is a genuinely good security change. Anthropic's 24 August 2026 update moved the feature to general availability. As Cyber Security News summarized it on 25 August 2026, an admin authorizes a connector once through the identity provider and employees inherit access, with "no consent screen, no manual OAuth flow, and no separate credential to manage." That removes the worst structural problem in MCP authorization: the per-employee OAuth grant nobody could enumerate or revoke centrally.
The per-user OAuth grant is exactly the risk this site has documented, and centralizing it is the right fix. The boundary is scope: remote connectors, enabled by an admin, reached through an opted-in client, by users who authenticate through the IdP - background in Model Context Protocol security explained. Everything else on your fleet works as it did yesterday.
What shipped on 24 August 2026?
Enterprise-managed authorization is now generally available and supports Datadog, Notion, and Slack with Exa, Miro, and Zoom coming soon in addition to the existing support for Asana, Atlassian, Canva, Figma, Granola, Linear, and Supabase. (August 24, 2026)Anthropic, "Centrally manage authorization for MCP connectors", update dated 24 August 2026
| Component | Supported at GA | Coming soon |
|---|---|---|
| Connectors | Asana, Atlassian, Canva, Datadog, Figma, Granola, Linear, Notion, Slack, Supabase | Exa, Miro, Zoom |
| Identity providers | Okta | "Support for additional identity providers coming soon" |
| Plans | Claude Team and Enterprise | - |
The Help Center's setup flow assumes an identity provider connection is already in place: an admin confirms it, then chooses which roles receive the connector and which scopes Claude can request, under Organization settings > Connectors. Anthropic says "Access stays consistent across Claude chat, Claude Code, and Cowork."
One detail the coverage skipped makes the news better rather than worse: this is not an Anthropic-proprietary feature. It is the Enterprise-Managed Authorization extension to the Model Context Protocol, io.modelcontextprotocol/enterprise-managed-authorization, declared stable on 18 June 2026 per the MCP project blog and originating as SEP-990. Anthropic calls its product "the first implementation of the Enterprise-Managed Authorization extension." That launch post named two clients - Anthropic's shared MCP layer across Claude, Claude Code and Cowork, and Visual Studio Code - and seven server implementations, "with Slack and more actively adding support." It belongs on the same timeline as the 2026 MCP specification changes.
Why enterprise-managed MCP connectors close the worst authorization gap
Before this, in Anthropic's words, "admins enabled a connector for the organization, and then every individual user authorized it themselves." The MCP project named the consequence: security teams "cannot enforce consistent policy: access is whatever each user authorized, with no central control or audit trail." Supabase CISO Bil Harmer, quoted in Anthropic's announcement, describes the prior state as credential sprawl: "The only way to use Supabase through Claude was to be an org owner or hand out Personal Access Tokens to everyone on your team." That is the failure mode in secrets management for AI agents, and one of the five paths by which MCP servers expose enterprise credentials.
The admin controls Anthropic names are the ones a security team would ask for: provision once through the IdP, scope by group and role, revoke through the IdP, shorten access token lifetimes, and require that a connector only ever connects through the IdP. The reasoning on lifetimes is the interesting part - because checking access with the IdP is frictionless, admins can shorten them "without impacting productivity", so a deprovisioned employee's access expires fast instead of lingering on an old token. That is the discipline non-human identity governance has been asking for. Anthropic names HubSpot, Ramp and Webflow as organizations rolling this out; the most-quoted number, "2,000 employees, provisioned through Okta, zero extra steps", is a named customer statement inside that vendor announcement, not measured adoption data.
How does the authorization flow actually work?
The mechanism is Okta's Cross App Access protocol and Identity Assertion JWT Authorization Grants. The client completes single sign-on, exchanges the resulting ID Token for an ID-JAG - the IdP evaluates policy at that step - and presents the ID-JAG to the MCP server's authorization server for an access token. There is no per-server consent screen. Four parties are defined: MCP client, enterprise IdP, MCP authorization server, MCP resource server. Cyber Security News frames the design choice accurately: it extends "existing OAuth infrastructure rather than introducing a parallel authentication surface for security teams to monitor separately." AI gateways and user-level OAuth for MCP servers covers the same token-exchange primitive.
For a server to qualify, WorkOS notes its authorization server must accept the urn:ietf:params:oauth:grant-type:jwt-bearer grant type and advertise it in the grant_types_supported array of its RFC 8414 metadata. Dynamic Client Registration is not supported, so pre-registered client IDs are required. Atlassian described the same exchange from the server side when it brought enterprise-managed authorization to its Rovo MCP server on 29 June 2026, then in private beta: Atlassian OAuth accepts the ID-JAG over the JWT bearer grant and validates its signature against an admin-configured trusted IdP, plus the audience and the client_id binding. A useful scoping of the work, alongside the MCP server security guide.
{
"issuer": "https://auth.example.com",
"grant_types_supported": [
"authorization_code",
"refresh_token",
"urn:ietf:params:oauth:grant-type:jwt-bearer"
]
}
What do enterprise-managed MCP connectors not govern?
Anthropic's post does not frame limitations, and it does not need to - the boundary falls out of the architecture. All four parties must exist for the flow to run, and MCP.Directory puts the failure mode bluntly: missing any one of IdP, client or server support silently "falls back to standard per-server OAuth", the exact grant this feature exists to remove.
| Outside the flow | Why, in the sources | What governs it instead |
|---|---|---|
A local stdio MCP server in a developer's .mcp.json | WorkOS: "A fully authless MCP server never returns 401, so there is no point at which Claude can exchange an assertion." A local subprocess sits further outside still: no authorization server to mint a token, no resource server to present it to. | The endpoint only, and stdio executes commands locally by design |
| A self-hosted remote server, until someone implements the extension | Anthropic is explicit that the standard is open: "any connector can support it - including the custom connectors your own teams build." An invitation to implement, not automatic coverage. | Whoever owns that server |
| A connector reached from a different agent | The MCP documentation: "Extensions are opt-in and never active by default," and support "typically requires client-level support from the organization's IT team." | Whatever that client does; agents carry different permission and configuration models |
| A personal account, unless an admin turns the lock on | The control exists, but the Help Center is clear it is not the default: "Browser sign-in and Managed authorization can be on for a connector at the same time. When they are, Claude tries Managed authorization first and prompts the user to sign in individually if that fails." | A deliberate per-connector admin decision |
| A token the connected service already minted | Revocation works as advertised - immediate "across all MCP clients", and "existing sessions end when the connector's access token expires or is revoked" - but the Help Center places "token lifetimes and lifecycle" with the connected authorization server and the IdP. | Shortened access token lifetimes, paired with IdP revocation |
| What a connector can reach once connected | The Help Center places this outside Anthropic's control: "access decisions, scoping, and the data each connector can reach are governed by your identity provider's policies and the connected service's permissions, not by Anthropic." | IdP policy and the connected service's own permissions |
Control plane, endpoint plane
The clean way to hold both halves is the two-plane model this site already uses. The control plane decides who may connect, from where, and with what token. The endpoint plane is what is actually configured on the developer's machine. Enterprise-managed authorization is a strong control-plane feature and makes no claim about the other - the same structure as Entra Agent ID governing agents that are registered rather than installed, and the same line drawn in where scan-time vetting ends.
| Question about MCP in your org | Enterprise-managed authorization | Where the evidence lives |
|---|---|---|
| May this employee connect Claude to Notion? | Yes - by IdP group and role | IdP console: access decisions |
| Which connectors are approved org-wide? | Yes - Organization settings > Connectors | Anthropic admin console |
| Does access end at deprovisioning? | Yes - IdP revocation, backed by short token lifetimes | IdP console and token records |
| Is a personal account linked to a work connector? | Only if the IdP-only lock was enabled | IdP console; the service's records |
Which servers are in this repo's .mcp.json? | No - stdio has no authorization server | The endpoint: the project's own config |
| Which servers went into another client? | No - the extension is opt-in per client | The endpoint: per-client config |
| Did an MCP config change here, and when? | No - config drift is a file event | The endpoint: change records in the audit trail |
| Should this tool call run, right now? | No - it authorizes the connection, not the action | The agent's hook, e.g. PreToolUse |
The bottom half of that table is what an audit of Claude Code across a fleet turns up: settings files, hooks, .mcp.json entries, plugins and skills. None of it produces an IdP event, because none of it involves an authorization server.
Does the IdP tell you what the connector did?
No. What becomes centrally visible is authorization and access decisions in the IdP console. MCP.Directory, quoting independent auth researcher Ehsan Hosseini, states the limit precisely: it "answers can this user connect this client to this server, and which scopes? It never answers should this specific action run, right now, on this resource?" The same write-up notes it has no visibility into what happens after that - in its words, "the IdP is not in the loop for the individual tools/call requests that follow" - and advises against treating an EMA-issued token "as a substitute for your own runtime guardrails on what a connected agent is allowed to do."
A second limit sits alongside it. Control works only to the granularity the server defined its OAuth scopes, evaluated at the moment the token is issued rather than per call, and each ID-JAG is audience-restricted to one MCP server. Coarse scopes granted at issue time are not least privilege for AI agents, and a correctly authorized connector can still be steered into a wrong action by content the agent read. That evaluation happens where the agent exposes a decision point - for Claude Code, the PreToolUse hook.
How Anomity covers what enterprise-managed MCP connectors cannot see
Anomity does not broker OAuth, integrate with Okta, replace an identity provider, or block a connector authorization. Those belong on the control plane, and enterprise-managed authorization is the right way to run them. Anomity works the other plane, in three steps.
- Inventory. The unprivileged Endpoint Sensor runs on Windows, macOS and Linux and inventories eight AI artifact types per endpoint - AI agents, MCP servers, extensions, plugins, skills, secrets, hooks, and CLIs - each tied to the endpoint it was found on. That is the register for the local
.mcp.jsonentry and the self-hosted server nobody told IT about: how to build an AI agent inventory. - Allow, deny, or log at the hook. Where an agent exposes one, such as Claude Code's
PreToolUseevent, Anomity evaluates the call against policy before it runs. That is the per-action decision the extension does not make. - Audit. Every added, changed and removed artifact lands in a queryable 90-day audit trail and routes to SIEM, Slack, email or Jira - ideally the SIEM your IdP events already reach, so both planes answer from one place.
Anomity collects metadata only, never source code, prompts or secret values, with secrets redacted on the endpoint, and is SOC 2 Type II. It complements rather than replaces network, EDR, DLP and GRC tooling, and the same applies to your IdP. The honest limits: no enforcement where an agent exposes no hook, and no visibility into what happens inside a vendor's cloud.
You can't govern what you can't see.The Anomity principle
What to do next
- Turn it on. On Claude Team or Enterprise with Okta, enable enterprise-managed authorization for every GA connector you already use - it is strictly better than the per-user OAuth grants it replaces. Expect to run both paths for a while: WorkOS points out that Okta is the only identity provider at launch and the ID-JAG standard is still emerging.
- Enable the IdP-only requirement deliberately, per connector, since browser sign-in can otherwise stay on alongside it, and shorten token lifetimes at the same time - that is what converts IdP revocation into access that actually expires.
- Ask internal MCP server owners whether their authorization server advertises the JWT bearer grant in its RFC 8414 metadata, and track approved servers centrally, as in how to build an MCP server registry.
- Count what the IdP will never show you: local
.mcp.jsonentries, per-client configurations, hooks, skills and plugins. Deploying Claude Code across a fleet covers the settings hierarchy they live in. - Add a per-action decision point at the agent's hook, and send both planes to one SIEM, so "which MCP servers do we have, and what did they do" becomes one answerable question.
Enterprise-managed MCP connectors are the best thing to happen to MCP authorization since the spec added OAuth, and shipping as an open extension with a second client implementation makes it better still. It moves one slice - remote connectors, reached through EMA-capable clients, by IdP-authenticated users - out of the shadow IT category AI agents and MCP servers occupy. The rest is local, self-hosted and per-developer configuration no authorization server sees, and it becomes governable only once it is enumerated. To see what an endpoint inventory returns next to your connector list, book a demo.
Related
Frequently asked questions
What are enterprise-managed MCP connectors?
They are MCP connectors whose authorization is centralized in the organization's identity provider instead of being granted by each employee individually. Anthropic announced general availability on 24 August 2026: an admin authorizes a connector once, scopes it by IdP group and role, and users in scope get it on first login with no consent screen and no separate credential. Underneath, it is the Enterprise-Managed Authorization extension to the Model Context Protocol, declared stable on 18 June 2026, which Anthropic implemented first and which Visual Studio Code was also named as implementing.
Which connectors and identity providers are supported?
Ten connectors are generally available per Anthropic's 24 August 2026 update: Asana, Atlassian, Canva, Datadog, Figma, Granola, Linear, Notion, Slack and Supabase. Exa, Miro and Zoom are listed as coming soon, so do not plan around them yet. Okta is the identity provider supported at launch, with Anthropic saying support for additional providers is coming; the Help Center's setup steps assume an existing identity provider connection, which an admin confirms before configuring the connector. The feature is on Claude Team and Enterprise plans, configured under Organization settings > Connectors.
Does enterprise-managed authorization cover local stdio MCP servers?
No, and not as a temporary gap. WorkOS notes that enterprise-managed auth does not apply to a fully authless MCP server, because such a server never returns a 401 and so never creates the point at which Claude can exchange an assertion. Local stdio servers sit outside the flow for a structural reason of their own: the extension defines four parties - MCP client, enterprise IdP, MCP authorization server and MCP resource server - and a server launched as a local subprocess has no authorization server to mint a token and no HTTP resource server to present it to. An MCP server configured in a developer's local .mcp.json is therefore governed only by what is on that machine.
Does it stop employees linking personal accounts to work tools?
It can, but only if an admin turns the control on. Anthropic offers a setting requiring that a connector only ever connects through the IdP, which it describes as keeping work and personal use cleanly separated and preventing someone from accidentally linking a personal account to a work tool. It is not the default state: Anthropic's Help Center says browser sign-in and managed authorization can be enabled on a connector at the same time, and that Claude then tries managed authorization first and prompts the user to sign in individually if that fails. Treat the IdP-only lock as a per-connector decision to make deliberately.
How fast is revocation when someone is deprovisioned?
Revocation runs through the identity provider, and the sources describe it as taking effect immediately across clients: the MCP documentation says revoking an employee's access at the IdP level takes effect immediately across all MCP clients, and Anthropic's Help Center states that existing sessions end when the connector's access token expires or is revoked. Anthropic pairs that with shorter lifetimes, so a deprovisioned employee's connector access expires fast instead of lingering on an old token rather than the ordinary OAuth lifecycle managed by the connected authorization server and the identity provider.
Does the IdP give us an audit trail of MCP tool calls?
No. What becomes centrally visible is authorization and access decisions in the IdP console: who was granted access to which connector, with which scopes, and when that was revoked. MCP.Directory's analysis, quoting independent auth researcher Ehsan Hosseini, notes it answers whether a user may connect a client to a server and with which scopes, never whether a specific action should run now on a specific resource, and that it has no visibility into individual tool calls once a session starts. Tool-call evidence has to come from the agent itself, at a decision point such as Claude Code's PreToolUse hook.
Is this an Anthropic-only feature?
No, and that is a point in its favor. It is the Enterprise-Managed Authorization extension to the Model Context Protocol, identifier io.modelcontextprotocol/enterprise-managed-authorization, which originated as SEP-990 and was declared stable on 18 June 2026. Anthropic describes its product as the first implementation of that extension. At the stable launch the MCP project named Anthropic's shared MCP layer across Claude, Claude Code and Cowork plus Visual Studio Code as client implementations, and Asana, Atlassian, Canva, Figma, Granola, Linear and Supabase as server implementations, with Slack and others adding support.
What should we do about MCP servers the extension cannot reach?
Enumerate them first, because nothing else is possible without that. Local stdio servers, self-hosted remote servers that have not implemented the JWT bearer grant, and servers configured in clients that have not opted into the extension all live on the endpoint plane. Inventory those artifacts per machine, add a per-action policy check at the agent's hook where one exists, and keep a queryable audit trail of every added, changed and removed configuration. Then push the servers that matter to implement the extension, which Anthropic explicitly invites for custom connectors teams build themselves.




