← Discover MCPs and Agents
m
MCPAI & MLGitHub

mcp-auth-proxy

MCP Auth Proxy is a secure OAuth 2.1 authentication proxy for Model Context Protocol (MCP) servers

Links

README

From the repo.

MCP Auth Proxy

Secure your MCP server with OAuth 2.1 — in a minute

If you found value here, please consider starring.

Overview

  • Drop-in OAuth 2.1/OIDC gateway for MCP servers — put it in front, no code changes.
  • Your IdP, your choice: Google, GitHub, or any OIDC provider — e.g. Okta, Auth0, Azure AD, Keycloak — plus optional password.
  • Flexible user matching: Support exact matching and glob patterns for user authorization (e.g., *@company.com)
  • Publish local MCP servers safely: Supports all stdio, SSE, and HTTP transports. For stdio, traffic is converted to /mcp. For SSE/HTTP, it's proxied as-is. Of course, with authentication.
  • Verified across major MCP clients: Claude, Claude Code, ChatGPT, GitHub Copilot, Cursor, etc. — the proxy smooths client-specific quirks for consistent auth.

📖 For detailed usage, configuration, and examples, see the Documentation

Quickstart

Domain binding & 80/443 must be accessible from outside.

Download binary from release page.

If you use stdio transport

./mcp-auth-proxy \
  --external-url https://{your-domain} \
  --tls-accept-tos \
  --password changeme \
  -- npx -y @modelcontextprotocol/server-filesystem ./

That's it! Your HTTP endpoint is now available at https://{your-domain}/mcp.

  • stdio (when a command is specified): MCP endpoint is https://{your-domain}/mcp.
  • SSE/HTTP (when a URL is specified): MCP endpoint uses the backend’s original path (no conversion).

Already have certificates? Pass --tls-cert-file and --tls-key-file instead of --tls-accept-tos.

Why not MCP Gateway?

mcp-auth-proxy: A lightweight proxy that adds authentication to any MCP server (optional stdio→HTTP(S) conversion)
MCP Gateway: A hub to orchestrate multiple MCP servers (aggregation, catalog integration)

When to choose mcp-auth-proxy

  • You just need to add auth to one or a few MCPs (enforce OAuth/OIDC/password-only)
  • Catalog integration and aggregation aren’t needed (e.g., self-hosted or independently managed MCP deployments)

When to choose MCP Gateway

  • You need to manage multiple MCPs centrally (aggregation, policies/permissions, auditing, centralized logging)
  • You want catalog integration and aggregation

Note: They are not mutually exclusive. You can put mcp-auth-proxy in front of a Gateway's public endpoint to enforce authentication if the Gateway itself doesn't handle it.

TL;DR: Orchestrate many → Gateway / Expose safely & quickly → mcp-auth-proxy

Verified MCP Client

MCP ClientStatusNotes
Claude - Web
Claude - Desktop
Claude Code
ChatGPT - WebNeed to implement search and fetch tools.(1)
ChatGPT - DesktopNeed to implement search and fetch tools.(1)
GitHub Copilot
Cursor

Collected info

  • 155 stars
  • 37 forks
  • Language: Go
  • Source updated: 8/4/2026

Config for your environment

Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.

Tool

OS

Config file: ~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-server": {
      "url": "{MCP_ENDPOINT_URL}"
    }
  }
}

Paste into mcpServers in the config file. Restart Cursor after saving.

If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.