mcp-helper

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
  1. Open http://localhost:6274/?transport=streamable-http&serverUrl=http://localhost:8080#resources
  2. Click Connect
  3. Click List Tools

You'll see federated tools from both backend MCP servers (server1 and server2), automatically prefixed to avoid conflicts:

alt text

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, sets x-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