🌟 MCPM - Model Context Protocol Manager

July 7, 2025 · View on GitHub

Homebrew Formula Version PyPI - Version GitHub Release GitHub License GitHub contributors PyPI - Downloads GitHub commit activity

English | 简体中文

mcpm.sh

Open Source. Forever Free.
Built with ❤️ by Path Integral Institute

🌟 MCPM - Model Context Protocol Manager

MCPM 是一个开源的 CLI 工具,用于管理 MCP 服务器。它提供了简化的全局配置方法,让您一次安装服务器并使用配置文件进行组织,然后将它们集成到任何 MCP 客户端中。功能包括通过中央注册表发现服务器、直接执行、分享功能和客户端集成工具。

MCPM 运行演示

🤝 社区贡献

💡 壮大 MCP 生态系统! 我们欢迎对我们的 MCP 注册表 进行贡献。添加你自己的服务器,改进文档,或建议功能。开源在社区参与下蓬勃发展!

🚀 快速安装

推荐:

curl -sSL https://mcpm.sh/install | bash

或选择其他安装方式,如 其他安装方式 中的 brewpipxuv 等。

📦 其他安装方式

🍺 Homebrew

brew install mcpm

📦 pipx(推荐用于 Python 工具)

pipx install mcpm

🪄 uv tool

uv tool install mcpm

更多安装方式

🐍 pip

pip install mcpm

🧰 X-CMD

如果你是 x-cmd 用户,可以运行以下命令安装:

x install mcpm.sh

🔎 概述

MCPM v2.0 采用全局配置模型提供了管理 MCP 服务器的简化方法。主要功能包括:

  • 全局服务器管理:一次安装,到处使用
  • 📋 虚拟配置文件:使用标签为不同工作流组织服务器
  • 🔍 服务器发现:从 MCP 注册表浏览和安装
  • 🚀 直接执行:通过 stdio 或 HTTP 运行服务器进行测试
  • 🌐 公共分享:通过安全隧道分享服务器
  • 🎛️ 客户端集成:管理 Claude Desktop、Cursor、Windsurf 等的配置
  • 💻 精美的 CLI:丰富的格式化和交互式界面
  • 📊 使用分析:监控服务器使用情况和性能

MCPM v2.0 摆脱了 v1 基于目标系统的复杂性,转而采用清晰的全局工作空间模型。

🖥️ 支持的 MCP 客户端

MCPM 将支持为以下客户端管理 MCP 服务器:

  • 🤖 Claude Desktop (Anthropic)
  • ⌨️ Cursor
  • 🏄 Windsurf
  • 🧩 Vscode
  • 📝 Cline
  • ➡️ Continue
  • 🦢 Goose
  • 🔥 5ire
  • 🦘 Roo Code
  • ✨ 更多客户端即将推出...

🔥 命令行界面 (CLI)

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 Inspector 来测试/调试服务器

🚀 服务器执行

直接执行服务器进行测试或集成:

mcpm run SERVER_NAME          # 通过 stdio 直接执行服务器
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      # 通过 stdio 或 HTTP 执行配置文件中的所有服务器
mcpm profile share PROFILE    # 通过安全隧道分享配置文件中的所有服务器
mcpm profile inspect PROFILE  # 为配置文件中的所有服务器启动 MCP Inspector

🖥️ 客户端集成

管理 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

🗺️ 路线图

✅ v2.0 已完成

  • 全局服务器配置模型
  • 基于配置文件的服务器标记和组织
  • 交互式命令界面
  • 客户端集成管理 (mcpm client edit)
  • 具有一致 UX 的现代 CLI
  • 注册表集成和服务器发现
  • 直接服务器执行和分享
  • 从现有客户端配置导入

🔮 未来增强

  • 高级服务器访问监控和分析
  • 额外的客户端支持(gemini-cli、codex 等)
  • 在 docker 中执行

👨‍💻 开发

此存储库包含 MCP Manager 的 CLI 和服务组件,使用 Python 和 Click 按照现代包开发实践构建。

📋 开发要求

  • 🐍 Python 3.10+
  • 🚀 uv(用于虚拟环境和依赖管理)
  • 🖱️ Click 框架用于 CLI
  • ✨ Rich 用于增强控制台输出
  • 🌐 Requests 用于 API 交互

📁 项目结构

该项目遵循现代基于 src 的布局:

mcpm.sh/
├── src/             # 源包目录
│   └── mcpm/        # 主包代码
├── tests/           # 测试目录
├── test_cli.py      # 开发 CLI 运行器
├── pyproject.toml   # 项目配置
├── pages/           # 网站内容
│   └── registry/    # 注册表网站
├── mcp-registry/    # MCP 注册表数据
└── README.md        # 文档

🚀 开发设置

  1. 克隆存储库

    git clone https://github.com/pathintegral-institute/mcpm.sh.git
    cd mcpm.sh
    
  2. 使用 uv 设置虚拟环境

    uv venv --seed
    source .venv/bin/activate  # 在 Unix/Mac 上
    
  3. 以开发模式安装依赖项

    uv pip install -e .
    
  4. 在开发期间直接运行 CLI

    # 使用已安装的包
    mcpm --help
    
    # 或使用开发脚本
    ./test_cli.py --help
    
  5. 运行测试

    pytest tests/
    

✅ 最佳实践

  • 📁 使用基于 src 的目录结构以防止导入混淆
  • 🔧 使用 uv pip install -e . 进行可编辑安装开发
  • 🧩 在 src/mcpm/commands/ 目录中保持命令模块化
  • 🧪 在 tests/ 目录中为新功能添加测试
  • 💻 使用 test_cli.py 脚本进行快速开发测试

🔢 版本管理

MCP 使用单一事实来源模式进行版本管理,以确保所有组件之间的一致性。

🏷️ 版本结构

  • 📍 规范版本在项目根目录的 version.py 中定义
  • 📥 src/mcpm/__init__.py 导入此版本
  • 📄 pyproject.toml 使用动态版本控制从 version.py 读取
  • 🏷️ Git 标签使用相同的版本号,前缀为 'v'(例如,v1.0.0)

🔄 更新版本

发布新版本时:

  1. 使用提供的版本升级脚本

    ./bump_version.sh NEW_VERSION
    # 示例:./bump_version.sh 1.1.0
    
  2. 推送更改和标签

    git push && git push --tags
    
  3. 创建与新版本匹配的 GitHub 发布

此过程确保版本在所有地方保持一致:代码、包元数据和 git 标签。 PyPI 发布由 CI/CD 管道处理,将自动触发。

📜 许可证

MIT

💬 加入社区

欢迎反馈问题,贡献代码,讨论新功能。 扫描以下二维码加入 MCPM 开源社区微信群:

MCPM 开源社区微信群

🌟 星标历史

Star History Chart