Sso MCP Server
OAuth 2.1 bridging for MCP servers to replace static, insecure API keys.
Data last scanned today · Reviewed today
Overview
Sso MCP Server acts as an OAuth 2.1 bridge for MCP environments, addressing the security risks associated with static API keys. By managing client identities through CIMD or DCR, it allows users to implement robust authorization workflows without exposing secrets in client configurations. The server acts as a middleman, minting audience-bound tokens so that upstream Identity Provider (IdP) tokens remain isolated. Designed to work with OIDC providers like Entra ID or Cloudflare Access, the server facilitates a PKCE-based consent flow. It verifies identities externally while providing a specialized token tailored specifically for your individual MCP server, preventing the common practice of sharing long-lived secrets across multiple tools.
Our verdict
With a high-risk security score of 45/100, this project requires caution as it is community-maintained rather than vendor-backed. The absence of a read-only mode, coupled with its role in handling authentication flows, means any vulnerability could have broad implications. This tool is best suited for experienced developers building custom authentication layers who can perform their own security audits.
- Minimizes supply-chain risk with only one direct dependency
- Supports OAuth 2.1 authentication flow using PKCE
- Actively maintained with a commit history from two days ago
- Includes documentation on threat modeling and client registration
- Community-maintained project lacking official vendor backing
- Missing a read-only mode to limit scope of write access
- Lacks an independent editorial security review of its codebase
- Low bus-factor due to having only two contributors
Setup
{
"mcpServers": {
"mcp-sso": {
"args": [
"-y",
"mcp-sso"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf | ||||
| ChatGPT |
Frequently asked questions
›What are the environment requirements to run the server?
The server requires Node 24+ and has a runtime dependency on the jose library.
›How are machine-to-machine (M2M) clients provisioned?
M2M clients are provisioned out-of-band by running provisionMachineClient against your MachineClientStore, as there is no HTTP endpoint for this process.
›Which identity providers are supported for user authentication?
The server supports Cloudflare Access, Microsoft Entra ID, Google, and generic OIDC, alongside a zero-setup console-pairing mode.
›Does mcp-sso pass my upstream Identity Provider tokens to the MCP client?
No, the bridge mints its own audience-bound tokens specifically for your server; upstream IdP tokens never pass through the bridge.
›What database storage options are available for the bridge?
The server supports node:sqlite (recommended for zero-ops), mysql2, and an in-memory store.
Badge
Maintain this server? Add the live badge to your README.