English | 简体中文
开源。永远免费。
由Path Integral Institute倾心打造
MCPM 是一个开源的命令行工具,用于管理 MCP 服务器。它提供了一个简化的全局配置方法,您只需安装一次服务器,并通过配置文件进行组织,然后将其集成到任何 MCP 客户端中。功能包括通过中央注册表发现服务器、直接执行、共享能力和客户端集成工具。
演示显示了过时的 v1 命令,新的演示正在制作中...

💡 壮大 MCP 生态系统! 我们欢迎对我们的 MCP 注册表 进行贡献。添加自己的服务器、改进文档或提出功能建议。开源在社区参与下蓬勃发展!
curl -sSL https://mcpm.sh/install | bash
或者选择其他安装方法,如 brew、pipx、uv 等。
MCPM v2.0 提供了一种简化的方式来管理 MCP 服务器,采用全局配置模型。主要特点包括:
MCPM v2.0 消除了 v1 版本基于目标系统的复杂性,转而采用干净的全局工作空间模型。
MCPM 将支持以下客户端的 MCP 服务器管理:
MCPM 提供了一个全面且组织良好的 CLI。v2.0 架构使用全局配置模型,服务器只需安装一次,可以通过配置文件进行组织,然后根据需要集成到特定的 MCP 客户端中。
mcpm --help # 显示帮助信息和可用命令
mcpm --version # 显示当前版本的 MCPM
全局服务器安装和管理命令:
# 🔍 搜索和安装
mcpm search [QUERY] # 在 MCP 注册表中搜索可用服务器
mcpm info SERVER_NAME # 显示关于服务器的详细信息
mcpm install SERVER_NAME # 从注册表安装服务器到全局配置
mcpm uninstall SERVER_NAME # 从全局配置移除服务器
# 📋 列出和检查
mcpm ls # 列出所有已安装的服务器及其配置文件分配
mcpm edit SERVER_NAME # 编辑服务器配置
mcpm inspect SERVER_NAME # 启动 MCP 检查器以测试/调试服务器
直接执行服务器进行测试或集成:
mcpm run SERVER_NAME # 直接通过标准 I/O 执行服务器
mcpm run SERVER_NAME --http # 通过 HTTP 执行服务器进行测试
mcpm share SERVER_NAME # 通过安全隧道分享服务器以实现远程访问
mcpm usage # 显示全面的分析和使用数据
配置文件是虚拟标签,将服务器组织成逻辑组以适应不同的工作流程:
# 🔄 配置文件操作
mcpm profile ls # 列出所有配置文件及其标记的服务器
mcpm profile create PROFILE # 创建新配置文件
mcpm profile rm PROFILE # 移除配置文件(服务器仍被安装)
mcpm profile edit PROFILE # 交互式服务器选择以添加到配置文件
# 🚀 配置文件执行
mcpm profile run PROFILE # 通过标准 I/O 或 HTTP 执行配置文件中的所有服务器
mcpm profile share PROFILE # 通过安全隧道分享配置文件中的所有服务器
mcpm profile inspect PROFILE # 启动 MCP 检查器以检查配置文件中的所有服务器
管理 MCP 客户端配置(Claude Desktop、Cursor、Windsurf 等):
mcpm client ls # 列出所有支持的 MCP 客户端及其状态
mcpm client edit CLIENT_NAME # 交互式启用/禁用客户端的服务器
mcpm client edit CLIENT_NAME -e # 在外部编辑器中打开客户端配置
mcpm client import CLIENT_NAME # 从客户端导入服务器配置
mcpm doctor # 检查系统健康状况和服务器状态
mcpm config # 管理 MCPM 配置和设置
mcpm migrate # 从 v1 迁移到 v2 配置
MCP 注册表是一个中央存储库,其中包含可以使用 MCPM 安装的可用 MCP 服务器。注册表位于 mcpm.sh/registry。
MCPM 设计为 AI 代理友好,支持全面自动化。每个交互式命令都有一个使用 CLI 参数和环境变量的非交互式替代方案。
设置环境变量以启用完全自动化:
export MCPM_NON_INTERACTIVE=true # 禁用所有交互提示
export MCPM_FORCE=true # 跳过确认
export MCPM_JSON_OUTPUT=true # JSON 输出以便解析
llm.txt 文件提供了专门针对 AI 代理的全面文档,包括:
llm.txt 文件会根据 CLI 结构自动生成,并在每次发布时更新。
mcpm new [MY_SERVER_NAME] --type stdio --command "[COMMAND]" --args "[ARG_1] [ARG_2] ..."
(添加 --force 参数以跳过确认交互)
验证它是否出现在已安装的服务器列表中:
mcpm ls
你应该看到 [MY_SERVER_NAME] 在列表中。
mcpm run [MY_SERVER_NAME] --http
MCPM 会打印服务器 URL,例如:
URL: http://127.0.0.1:6276/mcp/
mcpm run [MY_SERVER_NAME] --http --host 0.0.0.0
提示:添加 --port <PORT> 以选择不同的端口。
# 标准 I/O 服务器
mcpm new [SERVER_A] --type stdio --command "[COMMAND]" --args "[ARG_1] [ARG_2] ..." --force
# 远程 HTTP/SSE 服务器
mcpm new [SERVER_B] --type remote --url "http://SERVER_ADDR/mcp/" --force
mcpm profile create [PROFILE_NAME]
mcpm profile edit [PROFILE_NAME]
MCPM 会列出所有已安装的服务器,你可以使用箭头键导航,空格键选择/取消选择,输入以搜索,按 Enter 确认。
验证:
mcpm profile ls
你应该看到你的配置文件及其选定的服务器。
# 标准 I/O
mcpm profile run [PROFILE_NAME]
# HTTP
mcpm profile run [PROFILE_NAME] --http
# 可选:主机和端口
mcpm profile run [PROFILE_NAME] --http --host 0.0.0.0 --port 8080
# 服务器管理
mcpm new myserver --type stdio --command "python -m server" --force
mcpm edit myserver --env "API_KEY=secret" --force
# 配置文件管理
mcpm profile edit web-dev --add-server myserver --force
mcpm profile run web-dev --port 8080
# 客户端集成
mcpm client edit cursor --add-profile web-dev --force
mcpm client edit)brew install mcpm
pipx install mcpm
uv tool install mcpm
pip install mcpm
如果你是 x-cmd 的用户,你可以运行:
x install mcpm.sh
此仓库包含 MCP 管理器的 CLI 和服务组件,使用 Python 和 Click 按照现代包开发实践构建。
项目遵循现代基于 src 的布局:
mcpm.sh/
├── src/ # 源包目录
│ └── mcpm/ # 主包代码
├── tests/ # 测试目录
├── test_cli.py # 开发 CLI 运行器
├── pyproject.toml # 项目配置
├── pages/ # 网站内容
│ └── registry/ # 注册表网站
├── mcp-registry/ # MCP 注册表数据
└── README.md # 文档
克隆仓库
git clone https://github.com/pathintegral-institute/mcpm.sh.git
cd mcpm.sh
使用 uv 设置虚拟环境
uv venv --seed
source .venv/bin/activate # 在 Unix/Mac 上
在开发模式下安装依赖项
uv pip install -e .
在开发期间直接运行 CLI
# 使用已安装的包
mcpm --help
# 或使用开发脚本
./test_cli.py --help
运行测试
pytest tests/
uv pip install -e . 进行可编辑安装src/mcpm/commands/ 目录中保持命令模块化tests/ 目录中为新功能添加测试test_cli.py 脚本进行快速开发测试MCP 使用单一事实来源模式进行版本管理,确保所有组件的一致性。
version.py 中src/mcpm/__init__.py 导入此版本pyproject.toml 使用动态版本化从 version.py 读取发布新版本时:
使用提供的版本提升脚本
./bump_version.sh NEW_VERSION
# 示例:./bump_version.sh 1.1.0
推送更改和标签
git push && git push --tags
创建与新版本匹配的 GitHub 发布
这个过程确保版本在所有地方都是一致的:代码、包元数据和 Git 标签。PyPI 发布由 CI/CD 管道处理,并会自动触发。
MIT