MCP服务器聚合器

metatool-app

MetaMCP是一个统一的中间件MCP(大模型客户端协议),旨在帮助您集中管理所有不同的MCP实例。它通过一个全栈的图形用户界面(GUI)应用(即本项目仓库)和一个本地MCP代理(见我们...

标签:

MetaMCP:统一的MCP中间件,管理您所有的MCP

MetaMCP是一个统一的中间件MCP(大模型客户端协议),旨在帮助您集中管理所有不同的MCP实例。它通过一个全栈的图形用户界面(GUI)应用(即本项目仓库)和一个本地MCP代理(见我们的最新npm仓库 mcp-server-metamcp)协同工作来实现这一目标。

主要功能亮点:

  • 统一管理多MCP服务器: 提供一个GUI应用界面,让您可以将多个MCP服务器集成在一起,并进行统一管理。
  • 支持任何MCP客户端: 由于MetaMCP本身就是一个MCP服务器,它能够兼容并支持任何遵循MCP协议的客户端应用,例如Claude Desktop、Cursor等。
  • 全面支持MCP元素: 在MCP框架下,MetaMCP支持管理prompts(提示词)、resources(资源)和tools(工具)。
  • 多工作区支持: 支持创建和切换不同的工作区。例如,您可以在一个工作区中激活DB1相关的设置,然后在另一个工作区中切换到DB2,这样可以有效隔离不同项目或数据库的上下文,避免污染MCP客户端的语境。
  • 工具级别开关: 您可以在应用中对单个工具进行启用或禁用操作。

可用性:

此应用是自托管的,完全免费并开源。同时,我们也会提供一个云版本。您可以使用云版本来体验应用的功能,但我强烈建议熟悉Docker的用户进行自托管:自托管将提供无限访问更低延迟以及完全私密的自主操作体验。

您可以在 https://metamcp.com/ 查看演示视频,网站上也提供了一个概览截图供您参考。

经过验证的平台:

  • Windows (在MCP官方TypeScript SDK 1.8.0更新后,我们已相应更新并验证可用) (详见 issue #15)
  • Mac
  • Linux

安装(自托管版本):

开始使用此自托管版本的MetaMCP App的最简单方法是克隆仓库并使用Docker Compose来运行它。

  1. 克隆仓库:
    bash
    git clone https://github.com/metatool-ai/metatool-app.git
  2. 进入项目目录:
    bash
    cd metatool-app
  3. 复制环境变量文件:
    bash
    cp example.env .env
  4. 使用Docker Compose构建并以后台模式运行:
    bash
    docker compose up --build -d

然后,在您的浏览器中打开 http://localhost:12005 即可访问MetaMCP App。

建议全局安装npx(基于Node.js的mcp)和uvx(基于Python的mcp)。安装uv请参考:https://docs.astral.sh/uv/getting-started/installation/

连接到MetaMCP:

默认远程模式 SSE 端点:

推荐通过SSE(Server-Sent Events)端点连接MetaMCP:

  • 使用HTTP头部 Authorization: Bearer <your-api-key> 的方式:
    http://localhost:12007/sse
  • 或者,如果客户端无法设置头部,可以使用基于URL的方式:
    http://localhost:12007/api-key/<your-api-key>/sse

您的API key可以在MetaMCP App的“API Keys”页面获取。

本地访问:

即使您的工作区处于“默认远程模式”,您仍然可以使用上述SSE端点方式进行本地访问。

客户端配置示例:

MetaMCP作为一个MCP服务器,可以通过不同的方式与MCP客户端连接。以下是一些常见客户端的配置示例:

  • Claude Desktop 配置:
    在Claude Desktop的配置文件中,mcpServers 部分应如下配置:
    json
    {
    "mcpServers": {
    "MetaMCP": {
    "command": "npx",
    "args": [
    "-y",
    "@metamcp/mcp-server-metamcp@latest"
    ],
    "env": {
    "METAMCP_API_KEY": "<your api key>",
    "METAMCP_API_BASE_URL": "http://localhost:12005"
    }
    }
    }
    }

    此配置通过 npx 运行 @metamcp/mcp-server-metamcp 包,并通过环境变量 METAMCP_API_KEYMETAMCP_API_BASE_URL 将API key和MetaMCP App的基础URL传递给代理。
  • Cursor 配置 (非Windows):
    对于Cursor客户端,如果环境变量不容易配置,您可以使用命令行参数传递API key和基础URL:
    npx -y @metamcp/mcp-server-metamcp@latest --metamcp-api-key <your-api-key> --metamcp-api-base-url http://localhost:12005
  • Windows 上的 Cursor 配置:
    在Windows上,您可以在Cursor中使用 cmd /c 命令来执行npx命令:
    cmd /c npx -y @metamcp/mcp-server-metamcp@latest --metamcp-api-key <your-api-key> --metamcp-api-base-url http://localhost:12005
    或者,也可以使用JSON配置文件,类似于Claude Desktop,但需要在 command 中指定 cmd,并在 args 中包含 /c 和其余npx命令参数:
    json
    {
    "mcpServers": {
    "MetaMCP": {
    "command": "cmd",
    "args": [
    "/c",
    "npx",
    "-y",
    "@metamcp/mcp-server-metamcp@latest"
    ],
    "env": {
    "METAMCP_API_KEY": "<your api key>",
    "METAMCP_API_BASE_URL": "http://localhost:12005"
    }
    }
    }
    }
  • 独立 SSE 服务器:
    您还可以单独启动MetaMCP的本地代理作为独立的SSE服务器,并在客户端直接连接到该服务器:
    mcp-server-metamcp --metamcp-api-key <your-api-key> --transport sse --port 12006
    然后使用如下JSON配置连接到该服务器:
    json
    {
    "mcpServers": {
    "MetaMCP": {
    "url": "http://localhost:12006"
    }
    }
    }
  • Smithery Windows 配置:
    您还可以使用Smithery在云端的Docker容器中运行MCP代理,以获得最佳兼容性:
    smithery run @metatool-ai/mcp-server-metamcp --config '{"metamcpApiKey":"<your api key>"}'
    或者,在您的Claude Desktop配置文件中进行配置:
    json
    {
    "mcpServers": {
    "MetaMCP": {
    "command": "smithery",
    "args": [
    "run",
    "@metatool-ai/mcp-server-metamcp",
    "--config",
    "{\"metamcpApiKey\":\"<your api key>\"}"
    ]
    }
    }
    }

    同样,您需要从MetaMCP App的API Keys页面获取API key。

架构概览:

注意到prompts和resources也类似地被涵盖,类似于tools的管理方式。

以下序列图描述了MetaMCP的核心交互流程:

“`mermaid
sequenceDiagram
participant MCPClient as MCP Client (例如 Claude Desktop)
participant MetaMCPMCP as MetaMCP MCP 服务器
participant MetaMCPApp as MetaMCP App
participant MCPServers as MetaMCP App中安装的MCP服务器

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

loop 遍历每个已列出的MCP服务器
    MetaMCPMCP ->> MCPServers: 请求 list_tools
    MCPServers ->> MetaMCPMCP: 返回工具列表
end

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

MCPClient ->> MetaMCPMCP: 调用工具 (call_tool)
MetaMCPMCP ->> MCPServers: 向目标MCP服务器 call_tool
MCPServers ->> MetaMCPMCP: 返回工具响应结果
MetaMCPMCP ->> MCPClient: 返回工具响应结果

“`

许可:

本项目遵循特定的开源许可协议。

(注意:原始README中关于Loading和License部分内容较少,在此仅作提及。)

数据统计

相关导航

暂无评论

暂无评论...