Analysis updated 2026-05-18
Add proper user login to a remote MCP server instead of using a shared API key.
Let enterprise identity providers like Entra ID or Cloudflare Access secure an MCP server even without Dynamic Client Registration support.
Set up machine to machine authentication so automated jobs like CI pipelines can call an MCP server securely.
Put a login gateway in front of an existing backend that only accepts a static API key.
| acartag7/mcp-sso | abdulkader-safi/obsidian-image-magick-plugins | featherwolf/enhancedgv | |
|---|---|---|---|
| Stars | 8 | 8 | 8 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | moderate | easy | easy |
| Complexity | 4/5 | 2/5 | 2/5 |
| Audience | developer | general | general |
Figures from each repo's GitHub metadata at analysis time.
Quickest path needs no identity provider, connecting a real IdP like Entra or Cloudflare Access needs env vars and a public HTTPS URL.
This project solves a specific security problem for a newer kind of tool called an MCP server. MCP servers let AI assistants like Claude call out to remote services, and those services need a way to check who is asking. The common shortcut is a static API key pasted straight into a config file, which never expires and cannot be revoked without changing the shared secret for everyone. That is the kind of secret that ends up leaked in a careless commit or a support screenshot. The proper fix is OAuth, the login flow used by most modern apps, but it depends on a feature called Dynamic Client Registration that lets a client register itself automatically with an identity provider. Big enterprise identity systems such as Microsoft Entra ID and Cloudflare Access do not support that feature, so teams using them are stuck either wiring OAuth together by hand for each deployment or falling back to manual setup that breaks the simple paste a URL and connect experience. mcp-sso sits in between. It speaks the OAuth style flow that MCP clients expect, while your real identity provider stays in charge of confirming who a user actually is. Instead of passing the identity provider's own tokens through to the client, mcp-sso issues its own short lived tokens that are only valid for your specific server, so a stolen token cannot be reused elsewhere. It works with Cloudflare Access, Microsoft Entra ID, Google and generic OIDC providers, plus a no setup console pairing mode for trying it out with no identity provider at all. It supports common web frameworks including fastify, express and hono, and can store its data in SQLite, MySQL or memory. Beyond regular user logins, it also supports machine to machine authentication for automated jobs like CI pipelines, and can act as a gateway that adds proper login in front of an existing backend that only understands a plain API key. The only runtime dependency is a small library called jose, keeping the footprint intentionally minimal. Security choices favor failing loudly over silently allowing something ambiguous through.
A bridge that adds proper login (OAuth) to MCP servers, so AI tools don't need shared API keys pasted into configs.
Mainly TypeScript. The stack also includes TypeScript, Node.js, OAuth 2.1.
Open source, check the repository's LICENSE file for exact terms.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.