MCP管理工具

mcp-hub是一个轻量级的控制平面和本地stdio代理,用于管理跨AI编码工具的MCP源。

  • by aiua-dev
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 An-6021/mcp-agent-platform

使用说明

mcp中心

mcp-hub 是一个轻量级的控制平面和本地 stdio 用于跨AI编码工具管理MCP源的代理。

它允许Codex、Claude Code、OpenCode和其他MCP客户端连接到一个本地代理,而实际的上游MCP服务是从远程控制平面配置的。

概述

MCP工具通常按客户端安装和配置。随着工具数量的增长,保持每个本地客户端同步变得重复且容易出错。

mcp-hub 将系统分为两部分:

  • 本地代理
    • 作为一个 stdio MCP服务器。
    • 从控制面板API加载工作区配置。
    • 从本地计算机连接到上游MCP服务。
    • 当控制平面暂时不可用时,回退到缓存配置。
  • 控制平面
    • 维护MCP源、公开工具和托管源定义。
    • 为本地代理提供配置端点。
    • 包括一个用于管理源和复制的客户端配置的web控制台。

特性

  • 一个当地人 stdio 多个MCP客户端的入口点。
  • 具有本地缓存回退的远程工作区配置。
  • 工具命名和曝光控制。
  • 支持多种上游源类型:
    • direct-http
    • local-stdio
    • hosted-npm
    • hosted-single-file
  • 对食品法典友好的TOML输出,具有显式 type = "stdio".
  • 外壳包裹 npx 为GUI客户端生成命令 $PATH.
  • 可选导出配置文件,用于将不同的源集作为单独的MCP服务器公开。

安装

直接使用已发布的本地代理 npx:

npx -y @a1ua/mcp-hub \
  --base-url https://your-control-plane.example.com \
  --workspace mcp-hub \
  --token your-token

或者全局安装:

npm install -g @a1ua/mcp-hub

客户端设置

法典

codex mcp add mcp-hub -- \
  npx -y @a1ua/mcp-hub \
  --base-url https://your-control-plane.example.com \
  --workspace mcp-hub \
  --token your-token

您也可以直接编写服务器配置:

[mcp_servers."mcp-hub"]
type = "stdio"
command = "/bin/sh"
args = ["-lc", "PATH=\"/opt/homebrew/bin:/usr/local/bin:$PATH\"; if [ -d \"$HOME/.nvm/versions/node\" ]; then for dir in \"$HOME\"/.nvm/versions/node/*/bin; do [ -d \"$dir\" ] && PATH=\"$dir:$PATH\"; done; fi; cd \"$HOME\"; exec 'npx' '-y' '@a1ua/mcp-hub' '--base-url' 'https://your-control-plane.example.com' '--workspace' 'mcp-hub' '--token' 'your-token'"]

配置URL模式

使用 --config-url 当控制平面为您提供完整的工作区或导出配置端点时:

npx -y @a1ua/mcp-hub \
  --config-url https://your-control-plane.example.com/v1/workspaces/mcp-hub/config \
  --workspace mcp-hub \
  --token your-token

CLI选项

选项 描述
--base-url 控制平面基本URL。代理解析 /v1/workspaces/<workspace>/config.
--config-url 完整配置URL。优先于 --base-url.
--workspace 工作区ID和本地缓存密钥。
--token 承载令牌直接在命令行上传递。
--token-env 用于读取Bearer令牌的环境变量名称。
--cache-dir 自定义本地缓存目录。

同样的设置也可以通过环境变量提供:

  • MCP_AGENT_BASE_URL
  • MCP_AGENT_CONFIG_URL
  • MCP_AGENT_WORKSPACE
  • MCP_AGENT_TOKEN
  • MCP_AGENT_TOKEN_ENV
  • MCP_AGENT_CACHE_DIR

项目结构

.
├── apps
│   ├── control-plane-api     # Fastify API and hosted-source runtime management
│   └── control-plane-web     # React control-plane console
├── packages
│   ├── agent                 # Published local stdio agent
│   ├── runtime               # MCP aggregation runtime
│   └── shared                # Shared schemas and config mapping
└── docs                      # Architecture and product notes

发展

安装依赖项:

pnpm install

运行开发帮助程序:

pnpm go

分别运行API和web控制台:

pnpm dev:api
pnpm dev:web

运行检查:

pnpm -r test
pnpm build

控制平面合同

本地代理需要一个返回JSON工作区配置的工作区配置端点。

随着 --base-url https://your-control-plane.example.com --workspace mcp-hub,代理请求:

https://your-control-plane.example.com/v1/workspaces/mcp-hub/config

使用导出配置文件,控制平面可以为不同的MCP服务器视图提供单独的配置URL。

当前范围

mcp-hub 专注于本地MCP聚合和配置交付。它不是一个开箱即用的多租户SaaS后端。

当前的实施方式最适合:

  • 个人MCP工作空间,
  • 小型团队工具设置,
  • 自托管控制平面,
  • 使用托管或生成的MCP源进行实验。

路线图

  • 改进公共安装向导和安装文档。
  • 扩展托管源代码生命周期管理。
  • 围绕源代码发现和导出配置文件添加更多自动化覆盖。
  • 优化web控制台,以获得更清晰的源代码、工具和导出工作流。

许可证

麻省理工学院