Model Context Protocol (MCP) servers are external resource servers that provide AI-powered capabilities and tools to workload principals (AI agents). MCP servers can be integrated with Okta to enable secure, authorized access to their capabilities through standardized OAuth 2.0 flows.
Okta for AI Agents manages the registration, configuration, and lifecycle of third-party MCP servers, helping to ensure the following:
- MCP servers are properly validated before allowing connections
- Authorization servers that are protecting MCP Servers are configured correctly for token exchange
- Readiness checks verify all dependencies are satisfied
- Access is authorized through standard OAuth 2.0 protocols
MCP servers can be associated with two types of authorization servers:
Okta Custom Authorization Servers (
aus...prefix). See Custom Authorization Servers.- Support XAA (Cross-App Access) capability
- Okta custom authorization servers with ID-JAG token support
- No additional protocol configuration required
External Authorization Servers (
eas...prefix)- Support STS (Security Token Service) capability
- External identity providers (such as GitHub and GitLab)
- Require OAuth endpoint configuration
- Require client registration in Okta
MCP servers support different authorization capabilities:
- XAA (Cross-App Access): Native identity chaining for token exchange
- STS (Security Token Service): Standard OAuth 2.0 token exchange with external IdPs
An MCP server is considered connectable when at least one authorization server supports either XAA or STS capabilities.
MCP servers transition through different states during their lifecycle:
- PENDING: MCP server created but not yet ready for operations. Initial state after creation.
- INACTIVE: MCP server is inactive and ready to be activated. Configuration has been validated.
- ACTIVE: MCP server is active and operational. Can accept connections from clients.
- INVALID: MCP server configuration is invalid or validation failed. Requires remediation.
- DELETED: MCP server has been deleted and removed from the system.
- Admin Registers → INACTIVE: Admin completes registration and configuration
- Validation Fails → INVALID: Server configuration fails validation checks
- Delete Before Registration → DELETED: Server is deleted before completing registration
- Activate Server → ACTIVE: Admin activates the server for use
- Validation Fails → INVALID: Subsequent validation reveals configuration issues
- Delete Server → DELETED: Server is deleted before activation
- Deactivate Server → INACTIVE: Admin deactivates the server
- Runtime Validation Fails → INVALID: Runtime checks detect configuration problems
- Fix Issues & Validate → INACTIVE: Issues are resolved and validation passes
- Delete Server → DELETED: Server is deleted instead of being fixed
Authorization servers associated with MCP servers follow a similar lifecycle with connectivity verification:
Workload principals (AI agents) request tokens from authorization servers to access MCP server capabilities. See Workload Principals for more information.
MCP servers use OAuth 2.0 token exchange flows:
- ID-JAG tokens: Issued by Okta org authorization servers for XAA capability
- Access tokens: Exchanged or issued for accessing MCP server resources
See AI agent token exchange guide - Authorization server (ID-JAG) for detailed flow documentation.
External authorization servers (STS capability) require configuration of:
- Authorization endpoint: OAuth 2.0 authorization endpoint URL
- Token endpoint: OAuth 2.0 token endpoint URL
- Grant types: Supported OAuth grant types (authorization_code, refresh_token)
See AI agent token exchange guide - Resource server for detailed flow documentation.
External authorization servers require the MCP server to be registered as a trusted client in Okta. This registration:
- Creates an OAuth client app in Okta
- Configures client credentials for token exchange
- Establishes trust between Okta and the external authorization server
See the MCP Server Registration API reference and Add MCP servers in the help documentation.