MetaMCP
A self-hosted gateway that merges several MCP servers into one endpoint with auth and tool selection
- 2,735 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Stores secrets and launches the connected MCP servers
- Exposes tool access over the network
Install
- Works in
Manual install
git clone https://github.com/metatool-ai/metamcp.git
cd metamcp
cp example.env .env
docker compose up -dAccess and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Stores secrets and launches the connected MCP servers
- Exposes tool access over the network
This is third-party code. Review the repository files before installing.
What it does
MetaMCP runs in Docker and is itself an MCP server, so any client can connect to it. In the web UI servers are grouped into namespaces where individual servers and tools can be toggled, and tools renamed or re-described. A namespace is published as an endpoint over SSE, Streamable HTTP or OpenAPI with API key or OAuth auth. It includes request middleware, a built-in inspector, rate limiting and OpenID Connect login.
Who it is for. For teams and agent builders who need a single access point to a set of MCP servers.
Good fit when
- You want to give a team one endpoint instead of a dozen server configs
- You need to hide extra tools to keep model context lean
- You need OpenAPI access to MCP servers, for example from Open WebUI
Not a fit when
- You only need one or two servers locally
- You cannot run Docker and PostgreSQL
Example request
Through the MetaMCP endpoint find recent HackerNews threads and save the links to a noteMCP
- Transport
- sse, http
- Authentication
- API key
Environment variables
APP_URLrequired- The URL MetaMCP is accessed from
Limitations
Requires Docker and the PostgreSQL from docker-compose. The author warns of maintenance delays; the main ai-dev branch includes AI-made changes and should be tested before building. Stdio-only clients need a local mcp-proxy. Access is allowed only from the APP_URL address.
How to disable. Remove the MetaMCP endpoint from client configs and stop the containers with docker compose down.
FAQ
How do I connect Claude Desktop?
Via uvx mcp-proxy with the endpoint URL and the key in API_ACCESS_TOKEN. mcp-remote does not work with MetaMCP keys.
Where should server secrets live?
In the container's environment, referenced as ${VAR_NAME} in server settings.
Discussion
No questions or reviews yet.
Related
MCP serversThe docker mcp CLI plugin and gateway: MCP servers from Docker's catalog in isolated containers behind one connection point
A proxy between MCP transports: connects stdio clients to remote SSE and HTTP servers and exposes local servers over the network
A Node.js manager for MCP servers: it starts local servers, connects remote ones and gives a client one address, with a REST API for control
An IBM gateway and registry that federates MCP servers, A2A agents and REST or gRPC APIs behind one endpoint with auth and observability
MCP server for managing Docker in natural language: containers, images, networks and volumes, including remote hosts over SSH
MCP Gateway Registry
mcp-gateway-registry
One registry and gateway for MCP servers, agents and skills: shared login, OAuth, audit, OpenTelemetry. Community project for Docker and cloud
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| MetaMCP (this entry) | no | API key | 2,735 | |
| Aident Loadout | yes | OAuth | hosted service with access to hundreds of apps via OAuth | |
| MCP Hub | no | not required | 524 | a Node.js manager for MCP servers |
README in short
The README opens with the author's note on maintenance status and a community fork. It then explains concepts: server, namespace, endpoint, middleware, inspector and tool overrides. It covers Docker Compose and Dev Containers setup, Cursor and Claude Desktop configs, auth, OIDC, rate limits and Nginx settings. MIT licensed.