返回市场
元界MCP服务器

元界MCP服务器

作者:metatool-ai149 星标更新:2025-06-25

项目介绍

MetaMCP MCP Server

🚨 已弃用包警告 🚨

在MetaMCP的2.0全功能架构中,此本地代理包已被弃用。

详情请访问:https://github.com/metatool-ai/metamcp

MetaMCP MCP Server 是一个代理服务器,它将多个MCP服务器合并成一个。该服务器从MetaMCP应用获取工具/提示/资源配置,并将工具/提示/资源请求路由到正确的底层服务器。

smithery 徽章

<a href="https://glama.ai/mcp/servers/0po36lc7i6"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=3675630332,9272737&fm=3081&app=3_081&f=PNG?w=760&h=400" alt="MetaServer MCP 服务器" /> </a>

MetaMCP 应用仓库:https://github.com/metatool-ai/metatool-app

安装

通过 Smithery 安装

有时 Smithery 可以正常工作(在本地确认过 Windsurf),但有时由于 MetaMCP 的特殊性(在其上运行其他 MCP)而变得不稳定。如果 Smithery 不起作用,请考虑使用手动安装。

要通过 Smithery 自动安装 MetaMCP MCP Server 到 Claude Desktop:

npx -y @smithery/cli install @metatool-ai/mcp-server-metamcp --client claude

手动安装

export METAMCP_API_KEY=<环境变量>
npx -y @metamcp/mcp-server-metamcp@latest
{
  "mcpServers": {
    "MetaMCP": {
      "command": "npx",
      "args": ["-y", "@metamcp/mcp-server-metamcp@latest"],
      "env": {
        "METAMCP_API_KEY": "<你的 API 密钥>"
      }
    }
  }
}

使用方法

作为 stdio 服务器使用(默认)

mcp-server-metamcp --metamcp-api-key <你的 API 密钥>

作为 SSE 服务器使用

mcp-server-metamcp --metamcp-api-key <你的 API 密钥> --transport sse --port 12006

启用 SSE 传输选项后,服务器会启动一个 Express.js 网络服务器,监听 /sse 端点上的 SSE 连接,并接受 /messages 端点的消息。

作为可流式传输的 HTTP 服务器使用

mcp-server-metamcp --metamcp-api-key <你的 API 密钥> --transport streamable-http --port 12006

启用可流式传输的 HTTP 传输选项后,服务器会启动一个 Express.js 网络服务器来处理 HTTP 请求。你可以选择使用 --stateless 模式进行无状态操作。

使用 Docker

当在 Docker 容器内运行服务器并连接到主机上的服务时,使用 --use-docker-host 选项自动转换 localhost URL:

mcp-server-metamcp --metamcp-api-key <你的 API 密钥> --transport sse --port 12006 --use-docker-host

这将把任何 localhost 或 127.0.0.1 URL 转换为 host.docker.internal,使容器能够正确连接到主机上运行的服务。

配置 stderr 处理

对于 STDIO 传输,你可以控制子 MCP 进程的 stderr 输出处理方式:

# 使用 inherit 查看子进程的 stderr 输出
mcp-server-metamcp --metamcp-api-key <你的 API 密钥> --stderr inherit

# 使用 pipe 捕获 stderr 输出(默认是忽略)
mcp-server-metamcp --metamcp-api-key <你的 API 密钥> --stderr pipe

# 或者通过环境变量设置
METAMCP_STDERR=inherit mcp-server-metamcp --metamcp-api-key <你的 API 密钥>

可用的 stderr 选项:

  • ignore(默认):忽略子进程的 stderr 输出
  • inherit:将子进程的 stderr 输出传递给父进程
  • pipe:捕获 stderr 输出进行处理
  • overlapped:使用重叠 I/O(Windows 特定)

命令行选项

选项:
  --metamcp-api-key <密钥>       MetaMCP 的 API 密钥(也可以通过 METAMCP_API_KEY 环境变量设置)
  --metamcp-api-base-url <URL>   MetaMCP API 的基础 URL(也可以通过 METAMCP_API_BASE_URL 环境变量设置)
  --report                       获取所有 MCP,初始化客户端,并向 MetaMCP API 报告工具
  --transport <类型>             使用的传输类型(stdio、sse 或 streamable-http)(默认:"stdio")
  --port <端口>                  SSE 或 Streamable HTTP 传输使用的端口,默认为 12006(默认:"12006")
  --require-api-auth             在 SSE 或 Streamable HTTP URL 路径中需要 API 密钥
  --stateless                    对于 Streamable HTTP 传输使用无状态模式
  --use-docker-host              将 localhost URL 转换为 host.docker.internal 以支持 Docker 兼容性(也可以通过 USE_DOCKER_HOST 环境变量设置)
  --stderr <类型>                STDIO 传输的 stderr 处理方式(overlapped、pipe、ignore、inherit)(默认:"ignore")
  -h, --help                     显示命令帮助

环境变量

  • METAMCP_API_KEY:MetaMCP 的 API 密钥
  • METAMCP_API_BASE_URL:MetaMCP API 的基础 URL
  • USE_DOCKER_HOST:当设置为 "true" 时,将 localhost URL 转换为 host.docker.internal 以支持 Docker 兼容性
  • METAMCP_STDERR:STDIO 传输的 stderr 处理方式(overlapped、pipe、ignore、inherit)。默认为 "ignore"

开发

# 安装依赖
npm install

# 构建应用
npm run build

# 监视更改
npm run watch

特点

  • 兼容任意 MCP 客户端
  • 多工作区层允许您一键切换到另一组 MCP 配置。
  • GUI 动态更新 MCP 配置。
  • 加入的 MCP 的命名空间隔离。

架构概述

sequenceDiagram
    participant MCPClient as MCP 客户端(例如 Claude Desktop)
    participant MetaMCP-mcp-server as MetaMCP MCP 服务器
    participant MetaMCPApp as MetaMCP 应用
    participant MCPServers as 在 Metatool 应用中安装的 MCP 服务器

    MCPClient ->> MetaMCP-mcp-server: 请求列出工具
    MetaMCP-mcp-server ->> MetaMCPApp: 获取工具配置及状态
    MetaMCPApp ->> MetaMCP-mcp-server: 返回工具配置及状态

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

    MetaMCP-mcp-server ->> MetaMCP-mcp-server: 聚合工具列表
    MetaMCP-mcp-server ->> MCPClient: 返回聚合的工具列表

    MCPClient ->> MetaMCP-mcp-server: 调用工具
    MetaMCP-mcp-server ->> MCPServers: 调用目标 MCP 服务器的工具
    MCPServers ->> MetaMCP-mcp-server: 返回工具响应
    MetaMCP-mcp-server ->> MCPClient: 返回工具响应

致谢