Skip to main content
Version: Omada Identity Cloud

Omada Identity MCP security

This page is for IT and security teams who review the app registration changes for Omada Identity MCP (Technical Preview feature) before they approve them. For the setup steps, see Prepare the app registration in Microsoft Entra ID.

Connecting AI assistants such as Claude and ChatGPT to Omada Identity MCP adds no new way into Omada Identity:

  • Sign-in stays with Microsoft Entra ID. Users sign in on the same sign-in page, with your multifactor authentication and Conditional Access policies.
  • No new permissions. The assistants receive one delegated permission, which acts as the signed-in user. There are no application permissions and no access to Microsoft Graph.
  • Omada never handles credentials. Omada Identity MCP never sees a password, sign-in code, refresh token, or client secret.
  • You can switch it off at any time. Remove the redirect URIs, or delete the client secret for ChatGPT, and the assistants stop at their next sign-in or token refresh.
important

A user cannot do anything through Claude or ChatGPT that their Omada Identity account does not already allow.

What changes on the app registration​

You add five settings to the app registration that your environment already uses for Omada sign-in. Nothing is removed. The existing Application ID Uniform Resource Identifiers (URIs), redirect URIs, client secrets, and sign-in settings of Omada Identity stay as they are, so sign-in to Omada Identity is not affected.

AdditionWhat it doesSecurity notes
Application ID URIs api://<your-application-client-id> and https://<zone-address>/<your-environment>/mcpNames the app registration. Claude and ChatGPT tell Microsoft Entra ID which service the sign-in is for by sending the address of Omada Identity MCP. Microsoft Entra ID accepts the address only if it is an Application ID URI of the app registration.An Application ID URI is a name, not a permission. It grants nothing, and the tokens that Microsoft Entra ID issues stay the same: the audience is still the client ID of the app registration.
The omada.mcp scopeThe permission that the assistant requests for the user.It is a delegated permission only, so it always acts as the signed-in user and never as an application. You can require admin consent.
Redirect URI under Mobile and desktop applications: https://claude.ai/api/mcp/auth_callbackThe only address to which Microsoft Entra ID can send the sign-in code for Claude.Only an exact match is accepted. Claude signs in as a public client: the sign-in code is useless without the one-time key that Claude holds (Proof Key for Code Exchange, PKCE), so no client secret is needed.
Redirect URI under Web: https://chatgpt.com/connector/oauth/<callback-id>The only address to which Microsoft Entra ID can send the sign-in code for ChatGPT.Only an exact match is accepted. Redeeming the sign-in code requires both the PKCE key and the client secret.
One client secret, for ChatGPT onlyLets ChatGPT redeem the sign-in code.You choose when it expires, and you can delete it at any time. The secret is stored in the ChatGPT admin settings, not by Omada.

How the sign-in works​

Claude and ChatGPT follow the open sign-in standard of the Model Context Protocol (MCP). Microsoft Entra ID supports this standard with three differences. Each difference has a standard solution, and Microsoft Entra ID still signs the user in and issues every token.

Difference in Microsoft Entra IDSolution
Microsoft Entra ID checks the address of the service against the Application ID URIs of the app registration. Without a match, it refuses the sign-in with the error AADSTS9010010.You add the exact address of Omada Identity MCP as an Application ID URI. The check of Microsoft Entra ID then passes as designed, and the token does not change.
The discovery document of Microsoft Entra ID does not list PKCE support, although Microsoft Entra ID supports it. ChatGPT refuses services that do not list it.Omada Identity MCP publishes a small, read-only document that points to the sign-in addresses of your Microsoft Entra ID and states the PKCE support. It contains no secrets.
Microsoft Entra ID does not let applications register themselves. MCP clients usually do this on their own.You register the client once. The administrator of Claude or ChatGPT enters the Application (client) ID that you provide, and for ChatGPT, also the client secret.
info

Sign-in codes and tokens are exchanged only between the AI assistant and Microsoft Entra ID. Omada Identity MCP is not part of the sign-in:

  • It has no sign-in or token endpoint.
  • It does not issue or sign tokens.
  • It does not store any credentials or tokens.

Claude and ChatGPT connect in their standard way, as Anthropic and OpenAI provide them, and Omada Identity validates the tokens in the same way as before.

Three independent checks​

Three independent checks stand between a token and your Omada Identity data:

  1. Microsoft Entra ID
    Users sign in with their account in your Microsoft Entra ID, with your multifactor authentication and Conditional Access policies. Redeeming the sign-in code requires the PKCE key, and for ChatGPT, also the client secret.

  2. Omada Identity MCP
    Omada Identity MCP accepts a token only if your tenant issued it for your app registration, it is correctly signed, and it has not expired. A token from any other tenant or app registration is refused.

  3. Omada Identity
    Omada Identity checks the same token again and applies the permissions of the user. A user who does not exist in Omada Identity gets nothing, and the tool authorization roles decide which tools each user sees.

Control and monitor the connection​

You manage the connection in Microsoft Entra ID, in the same app registration that you prepared for Omada Identity MCP. You can switch off, monitor, and limit the connection at any time in Microsoft Entra ID.

Switch off the connection​

  • Remove a redirect URI. That assistant can no longer start a new sign-in.
  • Delete the client secret. ChatGPT can no longer redeem sign-in codes or refresh tokens. Claude has no client secret, so remove its redirect URI instead.
  • Revoke the sessions of a user. Access tokens that are already issued stay valid until they expire, which takes about 60 to 90 minutes. To end them sooner, revoke the sessions of the user in Microsoft Entra ID.

Monitor and limit the connection​

  • Every sign-in through Claude or ChatGPT appears in the Microsoft Entra ID sign-in logs for the app registration.
  • Your Conditional Access policies apply as for any other sign-in to this app registration.
  • You choose when the client secret expires, and you can require admin consent for the omada.mcp scope.

What remains to consider​

The remaining risk comes from using AI assistants with Omada Identity data, not from the app registration changes:

  • Claude and ChatGPT store the tokens of each user, and ChatGPT also stores the client secret, in their enterprise workspaces, like any other SaaS (software as a service) connector.
  • The answers that a user asks for are shown in the conversation in Claude or ChatGPT. How the AI provider handles that data is governed by your organization's agreement with Anthropic or OpenAI.