About Helper
Helper is an MCP server published by david-martin in the Maps category: mCP Helper (aggregating and routing to mcp servers) proof of concept.
The repository has 2 stars and 3 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/david-martin/mcp-helperThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Helper
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 3 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
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:
main.go-handleInitialization()creates backend sessions,aggregateTools()fetches and prefixes tools from servers - External Processor:
ext-proc/directory handles request/response processing:request.go-extractMCPToolName()pulls tool name from JSON body,stripServerPrefix()removes prefixes, setsx-mcp-serverrouting header, maps session IDsresponse.go-extractHelperSessionFromBackend()reverse-maps backend session IDs to helper sessions
- Routing Rules:
envoy.yaml- routes based onx-mcp-serverheader (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
README fetched from the repository 3 hours ago. The original is authoritative.