Back to MCP directory
publicPublicdnsLocal runtime

mcp-server-metatool

MetaTool MCP Server是一个代理服务器,用于连接多个MCP服务器并将工具调用转发到适当的服务器。它与metatool-app配合使用,提供GUI工具管理功能。项目已弃用,推荐使用Node.js替代版本。

article

README

🚀 MCP 服务器 MetaTool

MetaTool MCP 服务器是一个代理服务器,可连接多个 MCP 服务器,并将工具调用转发到对应服务器。它需与开源 GUI 工具管理器 metatool-app 配合使用,为 MCP 相关操作提供便利。

🚀 快速开始

本仓库已不再维护,建议查看 Node.js 替代方案:metatool-ai/mcp-server-metamcp,该替代方案具有 性能更好更少的错误

✨ 主要特性

  • 作为代理服务器,可连接多个 MCP 服务器。
  • 能将工具调用请求转发到相应的 MCP 服务器。
  • list_tools 调用时,可合并所有 MCP 服务器的工具并进行命名空间隔离。

📦 安装指南

使用 uv 是最佳安装方式,需要设置 METATOOL_API_KEY 环境变量。你需要一个 MCP 客户端来连接到此服务器才能使用它。

export METATOOL_API_KEY="my_api_key" # 从 metatool-ai/metatool-app 获取,它是可自行托管的免费版本
uvx mcp-server-metatool

📚 详细文档

工作原理

  • mcp-server-metatool 本身既是 MCP 客户端又是 MCP 服务器。
  • 在启动时,它连接到 metatool-app API 以获取要连接的 MCP 服务器列表。
  • list_tools 的 MCP 调用中,它将所有 MCP 服务器的工具合并在一起,并具有命名空间隔离。
  • call_tool 的 MCP 调用中,它将调用转发到相应的服务器。

序列图说明

sequenceDiagram
    参与者 MCPClient 作为 MCP 客户端(例如 Claude Desktop)
    参与者 MetaToolMCP 作为 MetaTool MCP 服务器
    参与者 MetaToolApp 作为 MetaTool 应用程序
    参与者 MCPServers 作为 MetaTool 应用程序中安装的 MCP 服务器

    MCPClient ->> MetaToolMCP: 请求工具列表
    MetaToolMCP ->> MetaToolApp: 获取工具配置和状态
    MetaToolApp ->> MetaToolMCP: 返回工具配置和状态

    循环 对于每个列出的 MCP 服务器
        MetaToolMCP ->> MCPServers: 请求 list_tools
        MCPServers ->> MetaToolMCP: 返回工具列表
    结束循环

    MetaToolMCP ->> MetaToolMCP: 汇总工具列表
    MetaToolMCP ->> MCPClient: 返回汇总的工具列表

    MCPClient ->> MetaToolMCP: 调用工具
    MetaToolMCP ->> MCPServers: 将 call_tool 请求转发到目标 MCP 服务器
    MCPServers ->> MetaToolMCP: 返回工具响应
    MetaToolMCP ->> MCPClient: 返回工具响应

额外配置

可以设置 METATOOL_API_BASE_URL 环境变量以指向另一个 MetaTool 实例。

export METATOOL_API_BASE_URL="http://localhost:12005"

📄 许可证

本项目采用 Apache License 2.0 许可证。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client