MetaMCP MCP Server
About
A proxy server that combines multiple MCP servers into a single endpoint, routing requests to the appropriate underlying server.
Details
- Author
- metatool-ai
- GitHub stars
- 153
- Downloads
- 331
- Categories
- Developer Tools, Automation, API, Other
Jump to
- Compatible with any MCP client.
- Multi-workspaces layer for one-click MCP config switching.
- GUI dynamic updates of MCP configurations.
- Namespace isolation for joined MCP servers.
- Supports stdio, SSE, and Streamable HTTP transports.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MetaMCP MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install via Smithery (npx -y @smithery/cli install @metatool-ai/mcp-server-metamcp --client claude) or manually by setting the METAMCP_API_KEY environment variable and running npx -y @metamcp/mcp-server-metamcp@latest. Configure the transport type (stdio, SSE, or streamable-http) and port using CLI options. Optionally, set METAMCP_API_BASE_URL for the MetaMCP API base URL.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"metamcp mcp server": {
"mcp-server-metamcp": {
"command": "npx",
"args": [
"-y",
"@smithery/cli",
"install",
"@metatool-ai/mcp-server-metamcp",
"--client",
"claude"
]
}
}
}
}
McpServers
{
"mcp-server-metamcp": {
"command": "npx",
"args": [
"-y",
"@smithery/cli",
"install",
"@metatool-ai/mcp-server-metamcp",
"--client",
"claude"
]
}
}
MetaMCP MCP Server
> 🚨 DEPRECATED PACKAGE WARNING 🚨
>
> This local proxy package is deprecated in MetaMCP's 2.0 all-in-one architecture.
>
> Please checkout https://github.com/metatool-ai/metamcp for more details.
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.
<a href="https://glama.ai/mcp/servers/0po36lc7i6">
</a>
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:
npx -y @smithery/cli install @metatool-ai/mcp-server-metamcp --client claude
Manual Installation
export METAMCP_API_KEY=<env>
npx -y @metamcp/mcp-server-metamcp@latest
{
"mcpServers": {
"MetaMCP": {
"command": "npx",
"args": ["-y", "@metamcp/mcp-server-metamcp@latest"],
"env": {
"METAMCP_API_KEY": "<your api key>"
}
}
}
}
Usage
Using as a stdio server (default)
mcp-server-metamcp --metamcp-api-key <your-api-key>
Using as an SSE server
mcp-server-metamcp --metamcp-api-key <your-api-key> --transport sse --port 12006
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
mcp-server-metamcp --metamcp-api-key <your-api-key> --transport streamable-http --port 12006
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:
mcp-server-metamcp --metamcp-api-key <your-api-key> --transport sse --port 12006 --use-docker-host
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:
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


