MCP Access Point
@sxhxliang
Turn a web server into an MCP server in one click without making any code changes.
Overview
What is MCP Access Point?
MCP Access Point is a lightweight protocol conversion gateway that establishes a communication bridge between traditional HTTP services and MCP (Model Context Protocol) clients. Built on the Pingora high-performance proxy library, it enables MCP clients to interact directly with existing HTTP services without requiring any server-side interface modifications.
How to use MCP Access Point?
Install from source with cargo run -- -c config.yaml, or run via Docker with a mounted config file. Clients connect to endpoints like IP:PORT/sse for SSE or IP:PORT/mcp for Streamable HTTP; multi-tenant services are accessible via /api/{service-id}/sse or /api/{service-id}/mcp.
Key features of MCP Access Point
- Protocol conversion between HTTP and MCP
- Zero-intrusive integration with existing HTTP services
- Enables MCP clients to call standard HTTP services directly
- Lightweight proxy with minimalist architecture
- Multi-tenancy with independent configuration per tenant
- Runtime configuration via Admin API without service restart
Use cases of MCP Access Point
- Progressive migration from HTTP to MCP architecture
- Reusing existing HTTP infrastructure within the MCP ecosystem
- Building hybrid systems that support both HTTP and MCP protocols
- Enabling MCP-based AI clients to interface with legacy HTTP microservices
FAQ from MCP Access Point
What transport protocols does MCP Access Point support?
It supports both SSE (2024-11-05) and Streamable HTTP (stateless, 2025-03-26) protocols.
What MCP clients are compatible?
MCP Inspector, Cursor Desktop, Windsurf, VS Code, and Trae are explicitly supported.
What runtime dependencies are required?
The server runs on Rust via Cargo or as a Docker container. A configuration file (config.yaml) is required to define upstream services and routing rules.
Can configurations be updated without restarting?
Yes, MCP Access Point provides a RESTful Admin API for real-time configuration updates, including dependency validation and batch operations.
Where does the configuration data live?
Configuration is defined in a YAML file (config.yaml) that specifies MCP services, upstream backends, routing rules, and optional Admin API settings.