MCP Access Point is a lightweight protocol conversion gateway tool designed to establish a communication bridge between traditional HTTP services and MCP (Model Context Protocol) clients. It enables MCP clients to interact directly with existing HTTP services without requiring any server-side interface modifications. Introduction This project is built on Pingora - an ultra-high performance gateway proxy library capable of supporting massive-scale request proxy services. Pingora has been used to build services that handle core traffic for the Cloudflare platform, consistently serving over 40 million requests per second across the internet for years. It has become the technical cornerstone supporting a significant proportion of traffic on the Cloudflare platform. HTTP to MCP This mode allows clients like Cursor Desktop to communicate with remote HTTP servers through SSE, even when the servers themselves don't support the SSE protocol. - Example setup includes two services: - Service 1 runs locally at 127.0.0.1:8090 - Service 2 runs remotely at api.example.com - Through the MCP Access Point, both services can be converted to MCP services without any code modifications. - Clients communicate with Service 1 and Service 2 via the MCP protocol. The MCP Access Point automatically distinguishes MCP requests and forwards them to the appropriate backend services. Transport Type (Specification) Currently supports SSE and Streamable HTTP protocols: - ✅ Streamable HTTP (stateless) 2025-03-26 - All services: ip:port/mcp - Single service: ip:port/api/{service_id}/mcp - ✅ SSE 2024-11-05 - All services: ip:port/sse - Single service: ip:port/api/{service_id}/sse use IP:PORT/sse for SSE use IP:PORT/mcp for Streamable HTTP Supported MCP clients - ✅ MCP Inspector - ✅ Cursor Desktop - ✅ Windsurf - ✅ VS Code - ✅ Trae Core Features - **Protocol Conversion**: Seamless conversion between HTTP and MCP protocols - **Zero-Intrusive Integration**: Full compatibility with existing HTTP services - **Client Empowerment**: Enables MCP clients to directly call standard HTTP services - **Lightweight Proxy**: Minimalist architecture with efficient protocol conversion - **Multi-tenancy**: Independent configuration and endpoints for each tenant - **Runtime Configuration Management**: Dynamic configuration updates without service restart - **Admin API**: RESTful API for real-time configuration management Quick Start Installation Multi-tenancy Support The MCP Access Gateway supports multi-tenancy, where each tenant can configure multiple MCP services accessible via: - /api/{mcp-service-id}/sse (for SSE) - /api/{mcp-service-id}/mcp (for Streamable HTTP) Example configuration: To access all services simultaneously, use: - 0.0.0.0:8080/mcp (Streamable HTTP) - 0.0.0.0:8080/sse (SSE) Configuration Details 1. **-c config.yaml** - -c (or --config) specifies the configuration file path (config.yaml). - This file defines the APIs that the MCP Access Point will proxy and convert. config.yaml Example The configuration file supports multi-tenancy, allowing independent configuration of upstream services and routing rules for each MCP service. Key configuration items include: 1. **mcps** - MCP service list - id: Unique service identifier used to generate access paths - upstream_id: Associated upstream service ID - path: OpenAPI specification file path. Supports local files (e.g., config/openapi.json) and remote HTTP/HTTPS URLs (e.g., https://petstore.swagger.io/v2/swagger.json). Both JSON and YAML formats are supported.