MCP代理整合器
一个统一多个MCP服务器的代理服务器,通过MetaMCP应用程序实现工具、提示和资源的无缝管理。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"MetaMCP": {
"args": [
"-y",
"@metamcp/mcp-server-metamcp@latest"
],
"command": "npx",
"env": {
"METAMCP_API_KEY": "\u003cyour api key\u003e"
}
}
}
}
服务介绍
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>"
}
}
}
}
使用
作为 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 端点接收消息。
命令行选项
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")
-h, --help display help for command
环境变量
METAMCP_API_KEY: MetaMCP 的 API 密钥METAMCP_API_BASE_URL: MetaMCP API 的基础 URL
开发
# Install dependencies
npm install
# Build the application
npm run build
# Watch for changes
npm run watch
亮点
- 与任何 MCP 客户端兼容
- 多工作区层允许您一键切换另一组 MCP 配置。
- GUI 动态更新 MCP 配置。
- 为加入的 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/ 获取灵感和部分代码(在此项目中进行了重构)