概述
mcphub 二进制同时是 CLI 入口。不带参数调用 mcphub 启动服务器(保持原有行为);带子命令则通过 HTTP API 操作本地或远端 hub。
登录
0600:
- macOS/Linux:
$XDG_DATA_HOME/mcphub/credentials.json(默认~/.local/share/mcphub/credentials.json) - 兼容旧路径:若
~/.mcphub/credentials.json已存在则继续使用
staging、prod 等:
解析顺序:命令行参数 → 环境变量 → active profile。
全局参数
子命令
servers
groups
<group> 可填 UUID 或人类可读名称,CLI 会先列表再解析成 id。
keys
管理 bearer 密钥。管理员可管理系统级和用户级密钥;普通用户可管理自己的用户级密钥。
create 创建后服务端生成的 token 只会显示一次——记得当场复制。
tools —— 发现可调用的工具
tools 是 call 的发现索引:回答有哪些 tool、每个 tool 接受什么参数、归属哪个 server——不用手工解析 servers list 的嵌套 JSON。
tools get 的文本视图会先列参数表(带 required 标识),再打印完整 JSON schema,最后给一条可直接复制的 mcphub call ... 样例(必填参数已占位)。
call
调用 active profile 对应 hub 上的 MCP 工具。默认走 /mcp/$smart,由智能路由挑选工具。推荐的 agent 工作流:tools list → tools get → call。
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选择安装方式(npm、docker、uvx、pip、binary)。不指定则由 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 友好:所有命令都支持--json;MCPHUB_URL / MCPHUB_TOKEN 在 CI 中可跳过凭据文件。
MCPHUB_TOKEN_KIND=bearer(或加 --bearer)。注意:只有 accessType=all 的系统级 bearer key 才能调用 /api/* 管理接口;受限 scope 的系统级密钥和用户级密钥仅用于 MCP transport。