You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert

4
4
5
-
If this project saves you time, please give it a star — it really helps visibility.
5
+
> If you found value here, please consider starring.
6
+
7
+
## Overview
8
+
9
+
-**Drop-in OAuth 2.1/OIDC gateway for MCP servers — put it in front, no code changes.**
10
+
-**Your IdP, your choice**: Google, GitHub, or any OIDC provider — e.g. Okta, Auth0, Azure AD, Keycloak — plus optional password with allow-list.
11
+
-**Publish local stdio MCP servers safely**: bridge to a public streamable HTTP endpoint (/mcp) with automatic TLS (ACME/Let’s Encrypt).
12
+
-**Verified across major MCP clients**: Claude, Claude Code, ChatGPT, GitHub Copilot, Cursor, etc. — the proxy smooths client-specific quirks for consistent auth.
6
13
7
14
## Quickstart
8
15
9
16
> Domain binding & 80/443 must be accessible from outside.
10
17
11
-
### Binary
12
-
13
18
Download binary from [release](https://github.com/sigbit/mcp-auth-proxy/releases) page.
This will automatically obtain and manage Let's Encrypt TLS certificates for your domain.
76
-
77
-
```json
78
-
{
79
-
"mcpServers": {
80
-
"mcp": {
81
-
"type": "http",
82
-
"url": "https://{your-domain}/mcp"
83
-
}
84
-
}
85
-
}
86
-
```
87
-
88
-
89
-
## Overview
90
-
91
-
MCP Auth Proxy is a secure OAuth 2.1 authentication proxy for Model Context Protocol (MCP) servers. MCP servers are expected to support not only standard OAuth 2.1 flows but also Dynamic Client support (e.g., dynamic client registration) and authentication-related .well-known metadata. On top of that, different MCP clients handle tokens differently, which makes implementation tricky.
30
+
That's it! Your streamable HTTP endpoint is now available at `https://{your-domain}/mcp`.
31
+
To proxy SSE/streamable HTTP transport, specify a URL; to use the stdio transport, specify a command.
92
32
93
-
MCP Auth Proxy sits in front of your MCP services and enforces sign-in with OAuth providers (such as Google or GitHub or OIDC) or password before users can access protected MCP resources.
33
+
(Listen on 80/443 and automatically set up certificates, but use the no-auto-tls option if not needed.)
94
34
95
-
## Note
96
-
97
-
For a simpler approach to publish local MCP servers over OAuth, consider [MCP Warp](https://github.com/sigbit/mcp-warp), which provides an OAuth Proxy + ngrok-like service. We highly recommend considering this option as well.
3. Set redirect URI: `{EXTERNAL_URL}/.auth/oidc/callback`
114
+
4. Note the configuration URL (usually issuer URL + /.well-known/openid-configuration), client ID, and client secret
115
+
5. Configure the userinfo endpoint to return user identification field (default: email)
116
+
117
+
## Note
118
+
119
+
For a simpler approach to publish local MCP servers over OAuth, consider [MCP Warp](https://github.com/sigbit/mcp-warp), which provides an OAuth Proxy + ngrok-like service. We highly recommend considering this option as well.
120
+
198
121
## 🤝 Contributing
199
122
200
123
For developer guidelines, contribution instructions, and commit message conventions, please see [CONTRIBUTING.md](./CONTRIBUTING.md).
0 commit comments