MetaMCP MCP 服务器
https://metamcp.com :一个 MCP 来管理您所有的 MCP
MetaMCP MCP 服务器是一个代理服务器,它将多个 MCP 服务器合并为一个。它从 MetaMCP 应用获取工具/提示/资源配置,并将工具/提示/资源请求路由到正确的底层服务器。
MetaMCP 应用程序仓库: https://github.com/metatool-ai/metatool-app
安装
通过 Smithery 安装
Smithery 有时可以正常工作(已在 Windsurf 本地确认),但有时不稳定,因为 MetaMCP 比较特殊,它在其上运行其他 MCP。如果无法正常工作,请考虑手动安装。
要通过Smithery自动为 Claude Desktop 安装 MetaMCP MCP 服务器:
npx -y @smithery/cli install @metatool-ai/mcp-server-metamcp --client claude手动安装
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>"
}
}
}
}Related MCP server: mcprouter
用法
用作 stdio 服务器(默认)
mcp-server-metamcp --metamcp-api-key <your-api-key>用作 SSE 服务器
mcp-server-metamcp --metamcp-api-key <your-api-key> --transport sse --port 12006使用 SSE 传输选项,服务器将启动一个 Express.js Web 服务器,该服务器监听/sse端点上的 SSE 连接并接受/messages端点上的消息。
与 Docker 一起使用
在 Docker 容器内运行服务器并连接到主机上的服务时,使用--use-docker-host选项自动转换 localhost URL:
mcp-server-metamcp --metamcp-api-key <your-api-key> --transport sse --port 12006 --use-docker-host这会将任何 localhost 或 127.0.0.1 URL 转换为host.docker.internal ,从而允许容器正确连接到主机上运行的服务。
命令行选项
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:MetaMCP 的 API 密钥METAMCP_API_BASE_URL:MetaMCP API 的基本 URLUSE_DOCKER_HOST:设置为“true”时,将 localhost URL 转换为 host.docker.internal 以实现 Docker 兼容性
发展
# Install dependencies
npm install
# Build the application
npm run build
# Watch for changes
npm run watch亮点
与任何 MCP 客户端兼容
多工作区层使您能够一键切换到另一组 MCP 配置。
MCP 配置的 GUI 动态更新。
加入的 MCP 的命名空间隔离。
架构概述
sequenceDiagram
participant MCPClient as MCP Client (e.g. Claude Desktop)
participant MetaMCP-mcp-server as MetaMCP MCP Server
participant MetaMCPApp as MetaMCP App
participant MCPServers as Installed MCP Servers in Metatool App
MCPClient ->> MetaMCP-mcp-server: Request list tools
MetaMCP-mcp-server ->> MetaMCPApp: Get tools configuration & status
MetaMCPApp ->> MetaMCP-mcp-server: Return tools configuration & status
loop For each listed MCP Server
MetaMCP-mcp-server ->> MCPServers: Request list_tools
MCPServers ->> MetaMCP-mcp-server: Return list of tools
end
MetaMCP-mcp-server ->> MetaMCP-mcp-server: Aggregate tool lists
MetaMCP-mcp-server ->> MCPClient: Return aggregated list of tools
MCPClient ->> MetaMCP-mcp-server: Call tool
MetaMCP-mcp-server ->> MCPServers: call_tool to target MCP Server
MCPServers ->> MetaMCP-mcp-server: Return tool response
MetaMCP-mcp-server ->> MCPClient: Return tool response致谢
灵感和一些代码(在本项目中重构)来自https://github.com/adamwattis/mcp-proxy-server/