The README includes a Mermaid sequence diagram to illustrate the architecture of the MetaMCP MCP Server, showing how it interacts with MCP clients, the MetaMCP App, and installed MCP servers.
MetaMCP MCP Server
https://metamcp.com: The One MCP to manage all your MCPs
MetaMCP MCP Server is a proxy server that joins multiple MCP servers into one. It fetches tool/prompt/resource configurations from MetaMCP App and routes tool/prompt/resource requests to the correct underlying server.
MetaMCP App repo: https://github.com/metatool-ai/metatool-app
Installation
Installing via Smithery
Sometimes Smithery works (confirmed in Windsurf locally) but sometimes it is unstable because MetaMCP is special that it runs other MCPs on top of it. Please consider using manual installation if it doesn't work instead.
To install MetaMCP MCP Server for Claude Desktop automatically via Smithery:
Manual Installation
Usage
Using as a stdio server (default)
Using as an SSE server
With the SSE transport option, the server will start an Express.js web server that listens for SSE connections on the /sse
endpoint and accepts messages on the /messages
endpoint.
Using as a Streamable HTTP server
With the Streamable HTTP transport option, the server will start an Express.js web server that handles HTTP requests. You can optionally use --stateless
mode for stateless operation.
Using with Docker
When running the server inside a Docker container and connecting to services on the host machine, use the --use-docker-host
option to automatically transform localhost URLs:
This will transform any localhost or 127.0.0.1 URLs to host.docker.internal
, allowing the container to properly connect to services running on the host.
Configuring stderr handling
For STDIO transport, you can control how stderr is handled from child MCP processes:
Available stderr options:
ignore
(default): Ignore stderr output from child processesinherit
: Pass through stderr from child processes to the parentpipe
: Capture stderr in a pipe for processingoverlapped
: Use overlapped I/O (Windows-specific)
Command Line Options
Environment Variables
METAMCP_API_KEY
: API key for MetaMCPMETAMCP_API_BASE_URL
: Base URL for MetaMCP APIUSE_DOCKER_HOST
: When set to "true", transforms localhost URLs to host.docker.internal for Docker compatibilityMETAMCP_STDERR
: Stderr handling for STDIO transport (overlapped, pipe, ignore, inherit). Defaults to "ignore"
Development
Highlights
- Compatible with ANY MCP Client
- Multi-Workspaces layer enables you to switch to another set of MCP configs within one-click.
- GUI dynamic updates of MCP configs.
- Namespace isolation for joined MCPs.
Architecture Overview
Credits
- Inspirations and some code (refactored in this project) from https://github.com/adamwattis/mcp-proxy-server/
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A proxy server that unifies multiple MCP servers, enabling seamless tool, prompt, and resource management via the MetaMCP App.
Related Resources
Related MCP Servers
- -securityAlicense-qualityThe Metaplex MCP Server facilitates access to Metaplex documentation and repository details, enabling users to search and interact with various Metaplex resources through the MCP protocol.Last updated -31TypeScriptThe Unlicense
- -securityAlicense-qualityA proxy service that connects MCP clients to remote MCP servers, allowing users to use server keys from MCP.so to access remote resources without running their own server.Last updated -393TypeScriptMIT License
- -securityFlicense-qualityProxy that aggregates multiple MCP servers and presents them as a unified interface, allowing clients to access resources from multiple servers transparently.Last updated -5TypeScript
- JavaScriptMIT License