https://github.com/achetronic/mcp-proxy
proxy for Model Context Protocol (MCP) servers that adds authentication, authorization, and enterprise features to any MCP backend.
https://github.com/achetronic/mcp-proxy
mcp mcp-server oauth2 proxy stdio streamable-http
Last synced: 4 months ago
JSON representation
proxy for Model Context Protocol (MCP) servers that adds authentication, authorization, and enterprise features to any MCP backend.
- Host: GitHub
- URL: https://github.com/achetronic/mcp-proxy
- Owner: achetronic
- License: apache-2.0
- Created: 2025-08-16T20:32:27.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2025-08-16T21:13:12.000Z (5 months ago)
- Last Synced: 2025-09-07T05:28:43.013Z (4 months ago)
- Topics: mcp, mcp-server, oauth2, proxy, stdio, streamable-http
- Language: Go
- Homepage:
- Size: 33.2 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# MCP Proxy





A proxy for Model Context Protocol (MCP) servers that adds authentication, authorization, and enterprise features to any MCP backend. Transform your local MCP servers into secure, scalable services ready for remote access.
## Motivation
MCP servers are often developed for local use with stdio transport, making them unsuitable for production environments where remote access, authentication, and scalability are required. MCP Proxy bridges this gap by providing a layer in front of any MCP server, enabling enterprise deployment while preserving the original MCP functionality.
## Features
- π **OAuth RFC 8414 and RFC 9728 compliant**
- Support for `.well-known/oauth-protected-resource` and `.well-known/oauth-authorization-server` endpoints
- Both endpoints are configurable
- π‘οΈ **Several JWT validation methods**
- Delegated to external systems like Istio
- Locally validated based on JWKS URI and CEL expressions for claims
- π **Transport bridging**
- Accept StreamableHTTP and Stdio requests and forward to HTTP or stdio MCP backends
- Enable remote access to local MCP servers
- π Access logs can exclude or redact fields
- π Production-ready: Included full examples, Dockerfile, Helm Chart and GitHub Actions for CI
- β‘ Super easy to extend: Production vitamins added to a good juice: [mcp-go](https://github.com/mark3labs/mcp-go)
## Deployment
### Production π
Deploy to Kubernetes using the Helm chart located in the `chart/` directory.
## How to develop your MCP
### Prerequisites
- Go 1.24+
### Modify the code and run
Modify the entire codebase and execute `make run`
**Note:** Default YAML config executing the previous command start the server as an HTTP server forwarding
to a Stdio server. Other needs? just modify the Makefile to use other YAML provided in examples.
### Configuration Examples
Several configuration examples are available [here](./docs)
## π€ Contributing
All contributions are welcome! Whether you're reporting bugs, suggesting features, or submitting code β thank you! Hereβs how to get involved:
βΈ [Open an issue](https://github.com/achetronic/mcp-proxy/issues/new) to report bugs or request features
βΈ [Submit a pull request](https://github.com/achetronic/mcp-proxy/pulls) to contribute improvements
## π License
MCP Proxy is licensed under the [Apache 2.0 License](./LICENSE).