CLI工具组合器

将MCP服务器转化为可组合的CLI工具,支持工具调用、缓存管理和技能安装。

  • by lydakis
  • Go
  • 本地部署
  • 52 星标
  • 更新于
在 GitHub 查看 lydakis/mcpx

使用说明

mcpx

将MCP服务器转变为可组合的CLI。

mcpx                        # list servers
mcpx <server>               # list tools
mcpx <server> <tool> ...    # call a tool

工具名称与每个服务器公开的内容完全匹配。工具调用输出保持不变(文本或JSON),因此您可以使用管道、重定向或解析 jq.

快速开始

brew tap lydakis/mcpx
brew install --cask mcpx

安装通用 mcpx 您的代理人的技能(第一天推荐):

mcpx skill install

根据需要添加额外链接:

mcpx skill install --claude-link
mcpx skill install --kiro-link
mcpx skill install --openclaw-link

可选择写入/更新托管 mcpx 全局AGENTS文件中的指导块:

mcpx skill install --guidance
mcpx skill install --guidance --claude-link
mcpx skill install --guidance --kiro-link
mcpx skill install --guidance --openclaw-link
mcpx skill install --guidance --guidance-text "Prefer mcpx when MCP work benefits from CLI composition."

如果您已经在Cursor、Claude Code、Cline、Codex或Kiro中使用了MCP, mcpx 自动发现这些服务器配置。

mcpx github search-repositories --query=mcp | jq -r '.items[:3][].full_name'

没有现有配置?点 mcpx 在任何MCP端点,立即开始调用工具:

mcpx https://docs.mcp.cloudflare.com/mcp
mcpx https://docs.mcp.cloudflare.com/mcp search_cloudflare_documentation --query="durable objects alarms"

每个工具都能感知模式 --help 免费:

mcpx https://docs.mcp.cloudflare.com/mcp search_cloudflare_documentation --help

更深入

添加服务器

mcpx add 从安装链接、清单URL、直接MCP端点或本地清单文件引导配置:

mcpx add https://mcp.deepwiki.com/mcp
mcpx deepwiki read_wiki_structure --repoName=modelcontextprotocol/specification

添加的服务器持续存在 ~/.config/mcpx/config.toml。您也可以手写条目:

[servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { GITHUB_TOKEN = "${GITHUB_TOKEN}" }
default_cache_ttl = "30s"

短暂的来源

您直接传递的任何来源(无 mcpx add)在守护进程的生命周期内暂时运行:没有编写配置,也没有需要清理的东西。

mcpx <source>
mcpx <source> <tool> --help
mcpx <source> <tool> ...

缓存

缓存工具响应 --cache=<duration>,或强行拨打新电话 --no-cache:

mcpx deepwiki read_wiki_structure --repoName=modelcontextprotocol/specification --cache=5m
mcpx deepwiki read_wiki_structure --repoName=modelcontextprotocol/specification --no-cache

按服务器设置默认值 default_cache_ttl 在配置中。

命令垫片

安装本地直通,以便 <server> 作为独立命令工作:

mcpx shim install github
github search-repositories --query=mcp | jq -r '.items[:3][].full_name'

Shims登陆 $XDG_BIN_HOME 或 ~/.local/bin安装是冲突安全的:如果该名称已在中的其他位置解析,则安装失败 PATH.

mcpx shim install github --skill   # also generate a server skill
mcpx shim list
mcpx shim remove github

服务器特定技能(可选)

当你需要更严格的、特定于服务器的指令时,为一台服务器生成一个技能文件(写入 ~/.agents/skills/mcpx-<server> 默认情况下):

mcpx skill install github
mcpx skill install github --openclaw-link

Codex应用程序

当Codex Apps在本地启用并经过身份验证时, mcpx 将连接的应用程序暴露为常规服务器:

mcpx linear
mcpx linear <tool> --help
mcpx linear <tool> ...

Auth留在Codex。 mcpx 不运行OAuth流或存储第三方凭据。

参考

其他安装方法

npm:

npm install -g mcpx-go

PyPI:

pip install mcpx-go

来源:

go build ./...
./mcpx --version

Windows:使用WSL2并在Linux发行版shell中运行安装命令。

命令

命令 目的
mcpx add <source> 从源代码引导服务器配置
mcpx shim install <server> 安装局部通孔垫片
mcpx shim remove <server> 拆下垫片
mcpx shim list 列出已安装的垫片
mcpx completion <shell> 打印外壳完成(bash/zsh/fish)
mcpx skill install [<server>] 安装内置或特定于服务器的技能

mcpx add 接受 --name, --header KEY=VALUE,以及 --overwrite. mcpx shim install 接受 --skill 和 --skill-strict. mcpx skill install 接受 --guidance, --guidance-file,以及 --guidance-text (--guidance 跟随一个单一 --claude-link/--kiro-link/--openclaw-link 目标(如果提供)。

输出模式

--json 仅适用于mcpx拥有的曲面(mcpx, mcpx <server>, mcpx <server> <tool> --help).工具调用输出未经修改通过。

使用 -v 以包括每个服务器的源元数据。结合 --json 用于包括配置路径的机器可读输出。

退出代码

代码 含义
0 成功
1 刀具错误(MCP isError)
2 使用错误
3 内部错误

MCP烟雾测试

快速验证任何服务器:

mcpx <server>                      # list tools
mcpx <server> --json               # machine-readable
mcpx <server> -v                   # full descriptions
mcpx <server> <tool> --help        # inspect schema
mcpx <server> <tool> --help --json
echo $?                            # check exit code

更多示例

mcpx --json
mcpx github --json
mcpx github -v
mcpx github search-repositories --help --json
mcpx add "cursor://anysphere.cursor-deeplink/mcp/install?name=postgres&config=..."
mcpx add https://mcp.deepwiki.com/mcp
mcpx https://mcp.deepwiki.com/mcp
mcpx https://mcp.deepwiki.com/mcp read_wiki_structure --repoName=modelcontextprotocol/specification
mcpx add https://mcp.devin.ai/mcp --name deepwiki --header "Authorization=Bearer \${DEEPWIKI_API_KEY}"
mcpx skill install

手动设定

如果自动发现未发现任何内容,请创建 ~/.config/mcpx/config.toml 直接。对于回退设置,包括 -y 对于npx:

[servers.browser-tools]
command = "npx"
args = ["-y", "@agentdeskai/browser-tools-mcp@1.1.0"]

发展

问答

make check        # test + vet + build
make qa-core      # Go gates + core smoke/integration matrix
make qa-extended  # CLI contract + wrapper packaging checks
make qa           # full QA matrix (core + extended)

基准测试

基准是手动的(不是CI的一部分):

make perf
./scripts/perf_bench.sh <git-ref>          # compare against baseline
make perf-loop                              # warm CLI throughput (500 calls)
./scripts/perf_cli_loop.sh <git-ref>

对于汇总比较: go install golang.org/x/perf/cmd/benchstat@latest

版本控制

本地建筑展 mcpx dev标记的版本显示标签(例如 mcpx v0.1.0)通过GoReleaser ldflags。

发布

标签推送匹配 v* 触发发布工作流。GoReleaser发布工件和更新 lydakis/homebrew-mcpx。公证使用标准的Apple Developer和App Store Connect机密。

文档

许可证

麻省理工学院