项目简介
Metatool MCP Server 是一个代理服务器,它本身既是 MCP 客户端,又是 MCP 服务器。它的主要作用是将多个由 Metatool App 管理的 MCP 服务器的工具整合起来,对外提供一个统一的 MCP 服务接口。当 MCP 客户端(如 Claude Desktop)连接到 Metatool MCP Server 时,可以访问到所有被代理的 MCP 服务器上的工具。
注意: 该项目已被标记为 'deprecated',官方推荐使用性能更好、bug 更少的 metatool-ai/mcp-server-metamcp 替代。尽管如此,该项目依然是一个有效的 MCP 服务器实现,可以用于理解 MCP 代理服务器的工作原理。
主要功能点
- MCP 代理服务: 作为 MCP 服务器,接收 MCP 客户端的请求。
- 工具聚合: 连接到 Metatool App 获取已配置的 MCP 服务器列表,并汇总这些服务器提供的工具。
- 工具路由: 根据工具名称前缀(server_name__tool_name)将工具调用请求转发到相应的后端 MCP 服务器。
- 动态配置: 通过 Metatool App 的 API 动态获取和更新后端 MCP 服务器的配置信息。
- 自定义 MCP 服务器支持: 支持通过 Metatool App 管理和代理自定义的 MCP 服务器,包括动态安装 Python 依赖。
安装步骤
- 安装 uvx: 推荐使用 uvx 运行 Metatool MCP Server。如果尚未安装 uvx,请参考 uv 安装文档 进行安装。
- 设置环境变量 'METATOOL_API_KEY': Metatool MCP Server 需要连接到 Metatool App 的 API 获取配置信息。您需要从 Metatool App 获取 API Key 并设置为环境变量 'METATOOL_API_KEY'。
如果您使用了非默认的 Metatool App 地址,还需要设置 'METATOOL_API_BASE_URL' 环境变量:export METATOOL_API_KEY="your_metatool_api_key"
默认 Metatool App 地址为 'http://localhost:12005'。export METATOOL_API_BASE_URL="http://your_metatool_app_address:port" - 运行 Metatool MCP Server: 使用 uvx 命令运行 Metatool MCP Server。
uvx mcp-server-metatool
服务器配置
MCP 客户端需要配置连接到 Metatool MCP Server 的信息。以下是 MCP 客户端所需的服务器配置信息(JSON 格式):
{ "serverName": "metatool", "command": "mcp-server-metatool" // "args": [] // 启动参数,本例中不需要额外参数 }
配置参数说明:
- 'serverName': MCP 服务器的名称,可以自定义,例如 "metatool-proxy"。
- 'command': 启动 MCP 服务器的命令。由于我们使用 'uvx mcp-server-metatool' 运行,这里直接填写 'mcp-server-metatool' 即可。 MCP 客户端会在后台执行 'uvx mcp-server-metatool' 命令来启动 Metatool MCP Server。
- 'args': 启动命令的参数列表。Metatool MCP Server 默认通过标准输入/输出 (stdio) 与 MCP 客户端通信,无需额外参数。
将以上 JSON 配置信息填入您的 MCP 客户端的服务器配置中即可。 具体的配置位置和方法请参考您的 MCP 客户端的使用说明。
基本使用方法
- 启动 Metatool App: 确保 Metatool App 已经启动并运行,并且您已经配置了需要代理的 MCP 服务器。
- 启动 Metatool MCP Server: 在终端中运行 'uvx mcp-server-metatool' 命令启动代理服务器。
- 配置 MCP 客户端: 将上面提供的服务器配置 JSON 信息填入您的 MCP 客户端的服务器配置中,并连接到 Metatool MCP Server。
- 使用工具: 在 MCP 客户端中,您应该能够看到来自所有被代理的 MCP 服务器的工具列表。工具名称会带有服务器名称前缀,例如 'server1__tool_name',用于区分工具来源。您可以像使用普通 MCP 服务器一样调用这些工具。
注意: 由于 Metatool MCP Server 是一个代理服务器,实际的工具执行仍然在后端的 MCP 服务器上进行。Metatool MCP Server 负责请求转发和结果返回。
信息
分类
网页与API