Skip to main content

概述

mcphub 二进制同时是 CLI 入口。不带参数调用 mcphub 启动服务器(保持原有行为);带子命令则通过 HTTP API 操作本地或远端 hub。
CLI 与服务器共用同一个 npm 包,无需额外安装。

登录

JWT 会缓存到符合 XDG 规范的凭据文件中,权限 0600
  • macOS/Linux: $XDG_DATA_HOME/mcphub/credentials.json(默认 ~/.local/share/mcphub/credentials.json
  • 兼容旧路径:若 ~/.mcphub/credentials.json 已存在则继续使用
支持多 profile,可以在同一终端中并行操作 stagingprod 等:
也可以完全绕过凭据文件: 解析顺序:命令行参数 → 环境变量 → active profile。

全局参数

子命令

servers

groups

<group> 可填 UUID 或人类可读名称,CLI 会先列表再解析成 id。

keys

管理 bearer 密钥。管理员可管理系统级和用户级密钥;普通用户可管理自己的用户级密钥。
create 创建后服务端生成的 token 只会显示一次——记得当场复制。

tools —— 发现可调用的工具

toolscall 的发现索引:回答有哪些 tool、每个 tool 接受什么参数、归属哪个 server——不用手工解析 servers list 的嵌套 JSON。
tools get 的文本视图会先列参数表(带 required 标识),再打印完整 JSON schema,最后给一条可直接复制的 mcphub call ... 样例(必填参数已占位)。

call

调用 active profile 对应 hub 上的 MCP 工具。默认走 /mcp/$smart,由智能路由挑选工具。推荐的 agent 工作流:tools listtools getcall
call 的路由优先级:--smart > --server <name> > --group <name> > 默认($smart)。三种最终都走 /mcp/<slug> 同一个端点;--server 是和 tools list/tools get 输出天然对齐的写法。 key=value 强转规则: --no-coerce 强制所有值按字符串处理。

export

下载 hub 当前的 mcp_settings.json

discover / install(市场)

当 hub 开启了 systemConfig.discovery.enabled = true,CLI 即可浏览公共市场并把 server 装到自己的 hub 或客户端配置文件里。
要点:
  • --type 选择安装方式(npmdockeruvxpipbinary)。不指定则由 hub 选第一个可用;指定但不存在时 CLI 会列出可用类型。
  • --env KEY=VAL(可重复)注入环境变量——预声明的键和新增的键都会合并进最终 env
  • --to file 采用原子写(临时文件 + rename),中断不会破坏客户端配置。

退出码

Agent 自动化范式

所有命令都支持 --json,并读取 MCPHUB_URL / MCPHUB_TOKEN,因此 agent 可以纯 JSON 驱动整个”发现 → 调用”流程:
tools list --json 的响应是扁平的{server, serverStatus, name, description, enabled}),agent 一次过滤就能定位目标,不必再下钻 servers[*].tools[*]

脚本与 CI

CLI 对 JSON 友好:所有命令都支持 --jsonMCPHUB_URL / MCPHUB_TOKEN 在 CI 中可跳过凭据文件。
如果在 CI 中使用 bearer key,再追加 MCPHUB_TOKEN_KIND=bearer(或加 --bearer)。注意:只有 accessType=all 的系统级 bearer key 才能调用 /api/* 管理接口;受限 scope 的系统级密钥和用户级密钥仅用于 MCP transport。