返回市场
MCP服务器元工具

MCP服务器元工具

作者:metatool-ai5 星标更新:2025-02-24

项目介绍

MCP Server MetaTool

警告
⚠️ 此仓库不再维护!

请查看这个Node.js替代方案:metatool-ai/mcp-server-metamcp
它具有更好的性能更少的错误
(我也是那个项目的作者之一。)

概述

MetaTool MCP Server 是一个代理服务器,它可以连接多个 MCP 服务器并将工具调用转发到适当的服务器。 它应该与 metatool-app 一起使用,后者是 MCP 的图形用户界面工具管理器,也是开源的。

sequenceDiagram
    participant MCPClient as MCP 客户端(例如 Claude Desktop)
    participant MetaToolMCP as MetaTool MCP 服务器
    participant MetaToolApp as MetaTool 应用程序
    participant MCPServers as 在 MetaTool 应用程序中安装的 MCP 服务器

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

    loop 对于每个列出的 MCP 服务器
        MetaToolMCP ->> MCPServers: 请求列出工具
        MCPServers ->> MetaToolMCP: 返回工具列表
    end

    MetaToolMCP ->> MetaToolMCP: 聚合工具列表
    MetaToolMCP ->> MCPClient: 返回聚合的工具列表

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

工作原理

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

安装

最佳使用方式是通过 uv 必须设置一个 METATOOL_API_KEY 环境变量

export METATOOL_API_KEY="my_api_key" # 从 metatool-ai/metatool-app 获取,该应用可自托管且免费
uvx mcp-server-metatool

您需要一个 MCP 客户端来连接此服务器并使用它。

额外配置

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

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

许可证

Apache 许可证 2.0