MetaMCP MCP Server is a proxy server that consolidates multiple Model Context Protocol (MCP) servers into a single interface. It retrieves tool, prompt, and resource configurations from the MetaMCP App and routes requests to the appropriate underlying MCP server, simplifying management across multiple AI integration points.
npx -y @smithery/cli install @metatool-ai/mcp-server-metamcp --client claude
Note: Smithery installation may be unstable due to MetaMCP's unique role of running other MCPs. If you encounter issues, please use the manual installation method instead.
You can run the server directly using npx:
export METAMCP_API_KEY=<your-api-key>
npx -y @metamcp/mcp-server-metamcp@latest
Alternatively, you can configure it in your MCP configuration file:
{
"mcpServers": {
"MetaMCP": {
"command": "npx",
"args": ["-y", "@metamcp/mcp-server-metamcp@latest"],
"env": {
"METAMCP_API_KEY": "<your api key>"
}
}
}
}
The default transport method is stdio, which you can use with:
mcp-server-metamcp --metamcp-api-key <your-api-key>
For Server-Sent Events (SSE) transport:
mcp-server-metamcp --metamcp-api-key <your-api-key> --transport sse --port 12006
With the SSE transport, the server launches an Express.js web server that listens for SSE connections on the /sse
endpoint and accepts messages on the /messages
endpoint.
When running inside a Docker container and connecting to services on the host machine:
mcp-server-metamcp --metamcp-api-key <your-api-key> --transport sse --port 12006 --use-docker-host
This transforms any localhost or 127.0.0.1 URLs to host.docker.internal
, allowing the container to properly connect to host services.
Options:
--metamcp-api-key <key> API key for MetaMCP (can also be set via METAMCP_API_KEY env var)
--metamcp-api-base-url <url> Base URL for MetaMCP API (can also be set via METAMCP_API_BASE_URL env var)
--report Fetch all MCPs, initialize clients, and report tools to MetaMCP API
--transport <type> Transport type to use (stdio or sse) (default: "stdio")
--port <port> Port to use for SSE transport (default: "12006")
--require-api-auth Require API key in SSE URL path
--use-docker-host Transform localhost URLs to use host.docker.internal (can also be set via USE_DOCKER_HOST env var)
-h, --help display help for command
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 compatibilityThere are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"cursor-rules-mcp": {
"command": "npx",
"args": [
"-y",
"cursor-rules-mcp"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.