The reason to reach for this over a bigger gateway is what it does not ask of you: the config is the Claude-style file you already have, and each server entry can carry allow and deny lists so a proxied server offers only the tools you picked. Because it drops the streaming requirement, the hosting side can be as simple as a single container.
A thin Go proxy that connects to your MCP servers and exposes them to clients over HTTP without a streaming transport.
- Clients connect over plain HTTP — no streaming transport needed on the host
- One config file in the same shape your client already uses, in JSON or YAML
- $VARNAME in the config is substituted from the environment, so secrets stay out of the file
- Per-server tool filtering under _extensions.tools, with allow and deny lists
- Deny takes precedence, so a blanket allow with a few exclusions works
Install with go install github.com/ubie-oss/mcp-proxy, then run it with a config path and a port. The config lists each server's command, args and env just as a client config would.
One command — go install github.com/ubie-oss/mcp-proxy
