This page covers the key concepts you need to understand when working with the Aembit Model Context Protocol (MCP) Authorization Server. For setup instructions, see Set up the MCP Authorization Server.
Access control
Section titled “Access control”Aembit’s MCP Authorization Server uses Aembit Access Policy: Access Policies define, enforce, and audit access between Client and Server Workloads by cryptographically verifying workload identity and contextual factors rather than relying on static secrets.Learn more to control access. An Access Policy connects these components to answer key questions during authorization:
-
Client Workload: Client Workloads represent software applications, scripts, or automated processes that initiate access requests to Server Workloads, operating autonomously without direct user interaction.Learn more - Identifies which MCP client is requesting access. For MCP, the redirect URI from Dynamic Client Registration serves as the client identifier. This enables granular policies per client application (such as Gemini CLI or MCP Jam).
-
Server Workload: Server Workloads represent target services, APIs, databases, or applications that receive and respond to access requests from Client Workloads.Learn more - Identifies which MCP server the client wants to access. The Server Workload configuration (host, port, path) must align with your MCP server’s URL and the
resourceparameter. See URL configuration alignment for details. -
Trust Provider: Trust Providers validate Client Workload identities through workload attestation, verifying identity claims from the workload's runtime environment rather than relying on pre-shared secrets.Learn more - Validates user identity during the authorization flow. For MCP with human authentication, the OIDC ID Token Trust Provider matches claims (issuer, audience, subject) from your identity provider to verify the user.
-
Access Condition: Access Conditions add dynamic, context-aware constraints to authorization by evaluating circumstances like time, location, or security posture to determine whether to grant access.Learn more - Adds context-based restrictions such as time-of-day or geolocation. For geolocation conditions, both the MCP client’s IP and the user’s browser IP must satisfy the restriction.
-
Credential Provider: Credential Providers obtain the specific access credentials—such as API keys, OAuth tokens, or temporary cloud credentials—that Client Workloads need to authenticate to Server Workloads.Learn more - Generates the access token that the MCP client uses to authenticate with the MCP server. The token includes an audience claim matching the Server Workload and uses the configured signing algorithm (ES256 (default) or RSA).
For step-by-step configuration, see Set up the MCP Authorization Server.
MCP Authorization Server architecture
Section titled “MCP Authorization Server architecture”This diagram shows how Aembit’s MCP Authorization Server fits into the MCP ecosystem. Aembit sits between MCP clients and MCP servers, applying Access Policy controls to human authentication flows.
The authorization flow differs depending on which identity provider protocol you use. Select your protocol:
How OIDC authorization works
Section titled “How OIDC authorization works”- Initiate command - The user runs a command in their MCP client (like Gemini CLI)
- Register and request auth - The MCP client registers with Aembit and requests authorization
- Redirect to IdP - Aembit redirects the user’s browser to the OIDC identity provider
- Authenticate - The user signs in with their corporate credentials
- Return ID token - The identity provider returns an OIDC ID token to Aembit’s Trust Provider
- Verify - The Trust Provider validates the ID token claims (issuer, audience, subject)
- Check - Access Conditions check contextual factors (time, location)
- Issue access token - The Credential Provider generates a JWT access token
- Access with bearer token - The MCP client uses the token to access the protected MCP server
How SAML authorization works
Section titled “How SAML authorization works”- Initiate command - The user runs a command in their MCP client (like Gemini CLI)
- Register and request auth - The MCP client registers with Aembit and requests authorization
- Redirect to IdP - Aembit redirects the user’s browser to the SAML identity provider
- Authenticate - The user signs in with their corporate credentials
- Return SAML assertion - The identity provider returns a SAML assertion to Aembit
- Check - Access Conditions check contextual factors (time, location)
- Issue access token - The Credential Provider generates a JWT access token
- Access with bearer token - The MCP client uses the token to access the protected MCP server
For guidance on choosing between OIDC and SAML, see MCP Authorization Server overview.
Client authentication
Section titled “Client authentication”Aembit’s MCP Authorization Server supports Dynamic Client Registration: An OAuth mechanism that allows MCP clients to register with the Authorization Server at runtime without pre-configuration, receiving unique credentials for subsequent authorization requests.Learn more for MCP client registration. This section covers how clients register and how redirect URIs identify them.
Client registration
Section titled “Client registration”With Dynamic Client Registration (DCR), MCP clients register themselves at runtime by sending a registration request to
the /register endpoint.
The Authorization Server returns a unique client_id for subsequent authorization requests.
For detailed DCR mechanics, see the MCP authorization specification.
Redirect URIs
Section titled “Redirect URIs”In OAuth 2.1, a redirect URI is the callback URL where the Authorization Server sends users after they authenticate. When an MCP client registers through Dynamic Client Registration, it provides its redirect URI, which tells the Authorization Server where to send the authorization code after successful authentication.
For details on the OAuth 2.1 redirect flow, see RFC 6749.
Redirect URIs as Client Workload identifiers
Section titled “Redirect URIs as Client Workload identifiers”In Aembit Access Policies, the redirect URI serves a dual purpose. It’s both the OAuth callback URL and the identifier for your Client Workload. This enables granular access policies based on which MCP clients are requesting access.
For example, if Gemini CLI registers with http://localhost:4747/auth/callback, you would configure a Client Workload
with the Redirect URI identifier type set to this value.
This ensures only authorized MCP clients can obtain access tokens for your protected MCP servers.
Common redirect URI patterns
Section titled “Common redirect URI patterns”Different MCP clients use different redirect URI formats depending on whether they run locally or remotely.
Local development:
| MCP client | Redirect URI |
|---|---|
| MCP Jam | http://localhost:6274/oauth/callback |
| Gemini CLI | http://localhost:7777/oauth/callback |
Remote or cloud-hosted:
| MCP client | Redirect URI |
|---|---|
| Claude Desktop | https://claude.ai/api/mcp/auth_callback |
| Custom web app | https://your-app.example.com/oauth/callback |