david-martin/mcp-helper
3.3
If you are the rightful owner of mcp-helper and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The MCP Gateway Proof of Concept is a project that implements a Model Context Protocol (MCP) Gateway, acting as a proxy/router for multiple MCP servers.
Tools
7
Resources
0
Prompts
0
MCP Helper PoC
MCP Helper with Go Envoy external processor.
Run
docker-compose up --build
A streamable HTTP MCP server will now be available at: http://localhost:8080/
Test with MCP Inspector
# Start the inspector
DANGEROUSLY_OMIT_AUTH=true npx @modelcontextprotocol/inspector
- Open http://localhost:6274/?transport=streamable-http&serverUrl=http://localhost:8080#resources
- Click Connect
- Click List Tools
You'll see federated tools from both backend MCP servers (server1 and server2), automatically prefixed to avoid conflicts:
Architecture Overview
Key Components:
- MCP Initialize/Tool List: -
handleInitialization()
creates backend sessions,aggregateTools()
fetches and prefixes tools from servers - External Processor: directory handles request/response processing:
- -
extractMCPToolName()
pulls tool name from JSON body,stripServerPrefix()
removes prefixes, setsx-mcp-server
routing header, maps session IDs - -
extractHelperSessionFromBackend()
reverse-maps backend session IDs to helper sessions
- -
- Routing Rules: - routes based on
x-mcp-server
header (server1
/server2
→ backend clusters, default → helper)
Flow: Client → Envoy → Ext-Proc (extracts tool, strips prefix, sets routing headers) → Routes to backend or helper → Response (session reverse mapping) → Client