Guide
How to Add SSO, SAML and SCIM to MCP Servers
MCP servers do not speak SAML or SCIM. A gateway in front of them does. This guide shows the four parts of the setup and the steps in Gatana. It also shows what nine gateway vendors publish about SAML, OIDC and SCIM support as of October 2026.
· Erik Jonsson Thorén, Founder, Gatana
Short answer: MCP servers do not do single sign-on themselves. Put an MCP gateway in front of them. Connect the gateway to your identity provider with SAML or OIDC. Provision users and teams with SCIM. Map groups or token claims to servers and credentials. Agents then authenticate to the gateway with OAuth. Every tool call runs under the identity of the person.
Why an MCP server cannot do this alone
The MCP authorization specification describes how a client obtains a token for one server. It does not describe your directory. The MCP server of a vendor knows nothing about your Okta groups or your Entra tenant. With ten servers, you would configure sign-on ten times, if the servers supported it at all. Most do not.
A gateway solves this one time. Agents authenticate to the gateway. The gateway authenticates the person against your identity provider. It then calls the upstream servers with the credentials that it holds for that person or team.
The four parts of the setup
| Part | What it does | Standard |
|---|---|---|
| 1. Agent to gateway | The agent proves which person it acts for | OAuth 2.1, or a token from your identity provider |
| 2. Gateway to identity provider | The gateway verifies the person at sign-in | SAML 2.0 or OIDC Core 1.0 |
| 3. User and team lifecycle | The identity provider creates, updates and removes users and teams in the gateway | SCIM 2.0 |
| 4. Access rules | Groups or token claims decide which servers, tools and credentials a person gets | Gateway configuration |
Part 1: agent to gateway. Gatana supports three methods. With OAuth 2.1, the client connects to the gateway URL. It finds that authorization is necessary and opens the browser for sign-in. The token expires. The credential store of the operating system usually holds it. A personal access token is a static bearer token for scripts and servers. With federated OIDC, the gateway accepts an access token that your identity provider issued for the configured client ID. No separate sign-in is necessary.
Part 2: gateway to identity provider. Gatana connects to any SAML or OIDC Core 1.0 provider. Okta and Microsoft Entra ID are documented. You can configure one OIDC provider and one SAML provider for each organization. Accounts match on the email address. A person who signed in with a password and then with SSO keeps one account.
Part 3: lifecycle. Gatana supports inbound SCIM 2.0. Users and teams exist in Gatana before the person uses it for the first time. When the identity provider removes a person, the gateway removes or disables the account. You select the deletion behavior for users and for teams. Okta is verified.
Part 4: access rules. Each server has roles: No permissions, Member, Maintainer and Admin. A person, a team or a profile holds a role on a server. A profile groups servers and credential overrides. A claim mapping on the profile applies it to every person whose token contains a given claim. The base permission of the organization sets the floor for all people.
The steps in Gatana
Connect the identity provider
- Open Settings in the left sidebar.
- Scroll to Authentication.
- Click Add and select OpenID Connect or SAML.
- Copy the values that the dialog shows into your identity provider. The patterns are:
OIDC redirect URI: https://YOUR_ORG_ID.gatana.ai/oauth/interaction/auth-callback
SAML SP metadata URL: https://YOUR_ORG_ID.gatana.ai/api/v1/tenant-saml-metadata
SAML audience / entity ID: https://YOUR_ORG_ID.gatana.ai
SAML ACS URL: https://YOUR_ORG_ID.gatana.ai/oauth/interaction/saml-callback
- Optional, for OIDC: enable OIDC Access Token Trust. The gateway then accepts access tokens from the provider for the configured client ID. A person who has no account yet is provisioned on first access.
The federation page in the documentation has the details for each provider.
Turn on SCIM
- Open Settings and scroll to SCIM.
- Check Enable SCIM 2.0.
- Click Manage SCIM tokens and create a token.
- Optional: set the deletion behavior for users and teams.
- In the identity provider, set the SCIM base URL to
https://gatana.ai/api/scim/v2and use the token as the bearer authorization.
See auto-provisioning with SCIM.
Map people to servers and credentials
- Set the Base Permissions of the organization to No permissions if you must grant access for each server.
- Create a profile, for example
platform-team. Add the servers. Add credential overrides for the tools that have no per-user OAuth. Disable Open to All. - Add a claim mapping on the profile, for example claim
teamwith valueplatform. - Add SCIM-synced teams to servers with a role where a profile is not necessary.
A new hire is added to the platform group in the identity provider. The person opens an agent. The gateway validates the token, reads the claim and applies the profile. The agent has the correct tools with the correct credentials on day one. The zero-touch onboarding page shows the full flow.
Connect the agents
Most MCP clients need only the gateway URL. They find OAuth themselves:
{
"Gatana": {
"type": "http",
"url": "https://YOUR_ORG_ID.gatana.ai/mcp"
}
}
The first sign-in of a third-party app shows an approval screen. The connection then appears under Clients & API Keys, with its audit log and a disconnect button. See connecting to Gatana.
What the vendors publish
We read the product, pricing and documentation pages of the vendors on 6 October 2026. We recorded what they state. “Not stated” means that the page we read does not refer to the item. It does not mean that the product does not have it. Ask the vendor. We make Gatana.
| Product | Single sign-on | SCIM | Tier or edition, as published |
|---|---|---|---|
| Gatana | SAML and OIDC; Okta and Entra ID documented, any compliant provider | SCIM 2.0 inbound; Okta verified | Pro ($125 each month for each organization) and Enterprise |
| TrueFoundry | Federated login through Okta and Azure AD | Listed with SSO and audit logs under Enterprise | Enterprise tier. Pro, at $25 for each user each month, does not list SSO |
| MintMCP | OAuth and SAML, listed as enterprise SSO integration; providers not named | SCIM directory synchronization, enterprise-only | Enterprise; per-user licensing, prices not published |
| lunar.dev MCPX | “SSO and RBAC through your identity provider”; Okta and Azure AD named; SAML not stated | Not stated | Enterprise, self-hosted, licensed for each seat |
| Obot | OAuth2 login with Google, GitHub, Microsoft Entra, Okta, JumpCloud and Auth0; access can be limited to groups; the documentation states that SAML SSO is not supported on its Entra application | Not stated | Open source; enterprise on request |
| Composio | “SSO / SCIM” on Enterprise; protocol not stated | On Enterprise | Enterprise |
| Bifrost (Maxim) | Okta, Microsoft Entra, Keycloak and Google Workspace | SCIM provisioning and role assignment from identity provider groups | Enterprise licence; open source core |
| IBM ContextForge | “Federated SSO (Google, GitHub, Entra ID)”; SAML not stated | Not stated | Open source, Apache 2.0 |
| Microsoft MCP Gateway | Not stated; role authorization and Azure managed identity | Not stated | Open source, MIT |
Checklist before you sign
- Does the gateway accept your protocol, SAML or OIDC, in the plan that you intend to buy?
- Does SCIM remove a person immediately, or only at the next login?
- Can a group or a claim grant access to servers and credentials without a manual step?
- Does every tool call run under the identity of the person, and not under a shared service account?
- Does the audit record name the person, the agent and the credential?
Sources
Read on 6 October 2026:
- TrueFoundry: pricing, MCP gateway
- MintMCP: pricing, MCP gateway
- lunar.dev: pricing, MCPX
- Obot: authentication providers
- Composio: pricing
- Bifrost: enterprise
- IBM ContextForge: repository
- Microsoft MCP Gateway: repository
- Gatana: federation, SCIM, pricing
FAQ
Questions, answered.
Can an MCP server use SAML directly?
- In practice, no. The MCP authorization specification describes how a client obtains a token for one server. It does not connect a server to your directory. The MCP server of a vendor knows nothing about your Okta or Entra groups. Put a gateway in front of the servers. Connect the gateway to the identity provider one time, for all the servers.
Do I need SCIM if I already have SSO?
- SSO answers who a person is at login. SCIM keeps the list of people and teams current between logins. Without SCIM, a person who left the company keeps access until the next login attempt fails. Team membership must also be maintained by hand. With SCIM, the identity provider creates, updates and removes users and teams in the gateway.
What happens when a person leaves the company?
- With SCIM, the identity provider deprovisions the user in the gateway. Gatana lets you select the deletion behavior for users and teams. The agents of that person lose access to every tool behind the gateway. Their stored credentials go with the account. The audit log keeps the record of their actions.
How do agents authenticate to the gateway?
- Three methods exist in Gatana. OAuth 2.1: the client finds that authorization is necessary and opens the browser for sign-in. Personal access token: a static bearer token for scripts and servers. Federated OIDC: the gateway accepts an access token that your identity provider issued for the configured client ID.
Can I map Okta groups to tools?
- Yes. Create a profile that contains the servers and the credentials a group needs. Add a claim mapping, for example claim team with value platform. Every person whose token contains that claim gets the profile applied on first access. No manual provisioning is necessary. SCIM-synced teams can also be added to servers with a role.
Which Gatana plan includes SAML, OIDC and SCIM?
- Federated identity with SAML, OIDC and SCIM is included in the Pro plan at 125 US dollars each month for each organization, with unlimited users, and in the Enterprise plan. The Free plan does not include it. Okta and Microsoft Entra ID are documented. Any SAML or OIDC Core 1.0 provider works.