Open MCP Auth Proxy logo

Open MCP Auth Proxy

by wso2

Open MCP Auth Proxy is a lightweight authorization proxy for Model Context Protocol (MCP) servers. It enforces authorization according to the MCP authorization specification.

View on GitHub

Last updated: N/A

What is Open MCP Auth Proxy?

Open MCP Auth Proxy is a proxy server that sits between MCP clients and MCP servers to intercept incoming requests, validate authorization tokens, and offload authentication and authorization to OAuth-compliant Identity Providers, supporting the MCP authorization protocol.

How to use Open MCP Auth Proxy?

To use the Open MCP Auth Proxy, you need to install it, configure it with your MCP server URL and identity provider details (like Asgardeo), and then run it. You can use the --demo flag for quick testing with a pre-configured Asgardeo sandbox. For more advanced usage, you can configure transport modes (SSE or stdio) and CORS settings.

Key features of Open MCP Auth Proxy

  • Intercepts incoming requests to MCP servers

  • Validates authorization tokens

  • Offloads authentication and authorization to OAuth-compliant Identity Providers

  • Supports the MCP authorization protocol

  • Supports SSE and stdio transport modes

  • Integrates with Asgardeo and other OAuth providers

  • Provides a demo mode for quick testing

  • Configurable CORS settings

Use cases of Open MCP Auth Proxy

  • Securing MCP servers with OAuth-based authentication

  • Implementing fine-grained authorization policies for MCP resources

  • Centralizing authentication and authorization for multiple MCP servers

  • Integrating MCP servers with existing identity management systems

FAQ from Open MCP Auth Proxy

What is MCP?

MCP stands for Model Context Protocol, a protocol for exchanging model data in real-time.

What identity providers are supported?

The proxy primarily supports Asgardeo, but can be integrated with other OAuth providers like Auth0.

What is the difference between SSE and stdio transport modes?

SSE is for Server-Sent Events transport, while stdio is for MCP servers that use standard input/output (stdio) transport. Stdio mode allows the proxy to start the MCP server as a subprocess.

How do I configure the proxy with Asgardeo?

You need to register an M2M application in Asgardeo, authorize it to invoke the Application Management API, and then update the config.yaml file with your Asgardeo organization name, client ID, and client secret.

Can I use the proxy with a local MCP server?

Yes, you can use the proxy with a local MCP server. The README provides an example of setting up and running a local echo server for testing.