One binary, no runtime
A static Go binary with zero dependencies. No Node, no Python, no 1 GB container images. The Docker image is 15 MB.
submcp turns your scattered MCP servers into one gateway. One binary, one URL, every tool.
A static Go binary with zero dependencies. No Node, no Python, no 1 GB container images. The Docker image is 15 MB.
One tools/list or tools/call fans out to every registered server. A dead upstream is skipped, the rest still respond.
Every tool is prefixed with its server. No collisions, no confusion across your stack.
Streamable HTTP and legacy SSE served from the same process. Clients that speak either protocol just work.
Endpoints, namespaces, servers, tool mappings and API keys live in Postgres. The database is the contract.
A full management interface ships inside the binary. Add servers, toggle namespace mappings, test connectivity, manage keys.
go build -o bin/submcp ./cmd/submcp, or pull the 15 MB Docker image.
go build -o bin/submcp ./cmd/submcp
Point it at Postgres, add your upstream servers in the admin UI, and test each one live.
Point any MCP client at /metamcp/all/mcp with an API key. Every tool from every server, one URL.
These upstreams are being aggregated by this gateway right now.
Self-host for free, or use our hosted gateway: one URL, all your MCP servers, 14-day free trial.
No free tier after trial. Cancel anytime.
submcp is open source and free to self-host. If it saves you time, buy me a coffee.
Buy me a coffee