返回市场
MCP管理脚本

MCP管理脚本

作者:pathintegral-institute804 星标更新:2025-11-16

项目介绍

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

English | 简体中文

mcpm.sh

开源。永远免费。
由Path Integral Institute倾心打造

🌟 MCPM - 模型上下文协议管理器

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

演示显示了过时的 v1 命令,新的演示正在制作中... MCPM 在线演示

🤝 社区贡献

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

🚀 快速安装

推荐:

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

或者选择其他安装方法,如 brewpipxuv 等。

🔎 概览

MCPM v2.0 提供了一种简化的方式来管理 MCP 服务器,采用全局配置模型。主要特点包括:

  • 全局服务器管理:安装一次,到处使用
  • 📋 虚拟配置文件:通过标签组织服务器以适应不同的工作流程
  • 🔍 服务器发现:从 MCP 注册表浏览并安装服务器
  • 🚀 直接执行:通过标准 I/O 或 HTTP 运行服务器进行测试
  • 🌐 公共分享:通过安全隧道分享服务器
  • 🎛️ 客户端集成:管理 Claude Desktop、Cursor、Windsurf 等客户端的配置
  • 🤖 AI 代理友好:非交互式 CLI,支持全面自动化,并附有 llm.txt 指南
  • 💻 美观的 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 检查器以测试/调试服务器

🚀 服务器执行

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

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

🤖 AI 代理集成

MCPM 设计为 AI 代理友好,支持全面自动化。每个交互式命令都有一个使用 CLI 参数和环境变量的非交互式替代方案。

🔧 非交互模式

设置环境变量以启用完全自动化:

export MCPM_NON_INTERACTIVE=true  # 禁用所有交互提示
export MCPM_FORCE=true            # 跳过确认
export MCPM_JSON_OUTPUT=true      # JSON 输出以便解析

📋 LLM.txt 指南

llm.txt 文件提供了专门针对 AI 代理的全面文档,包括:

  • 包含参数和示例的完整命令参考
  • 环境变量使用模式
  • 自动化的最佳实践
  • 错误处理和故障排除
  • 批量操作模式

llm.txt 文件会根据 CLI 结构自动生成,并在每次发布时更新。

⚡ 示例用法

使用案例 1:通过 HTTP 公开本地标准 I/O 服务器

  1. 将服务器添加到 MCPM
mcpm new [MY_SERVER_NAME] --type stdio --command "[COMMAND]" --args "[ARG_1] [ARG_2] ..."

(添加 --force 参数以跳过确认交互) 验证它是否出现在已安装的服务器列表中:

mcpm ls

你应该看到 [MY_SERVER_NAME] 在列表中。

  1. 通过 HTTP 提供服务
mcpm run [MY_SERVER_NAME] --http

MCPM 会打印服务器 URL,例如:

URL: http://127.0.0.1:6276/mcp/
  1. 在网络上公开(可选)
mcpm run [MY_SERVER_NAME] --http --host 0.0.0.0

提示:添加 --port <PORT> 以选择不同的端口。

使用案例 2:组合多个服务器并作为配置文件提供

  1. 将服务器添加到 MCPM
# 标准 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
  1. 创建配置文件并添加服务器 交互式:
mcpm profile create [PROFILE_NAME]
mcpm profile edit [PROFILE_NAME]

MCPM 会列出所有已安装的服务器,你可以使用箭头键导航,空格键选择/取消选择,输入以搜索,按 Enter 确认。

验证:

mcpm profile ls

你应该看到你的配置文件及其选定的服务器。

  1. 运行配置文件
# 标准 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

🗺️ 发展路线图

✅ v2.0 完成

  • 全局服务器配置模型
  • 基于配置文件的服务器标签和组织
  • 交互式命令界面
  • 客户端集成管理 (mcpm client edit)
  • 现代 CLI 和一致的用户体验
  • 注册表集成和服务器发现
  • 直接服务器执行和分享
  • 从现有客户端配置导入
  • 额外的客户端支持(gemini-cli、codex 等)

🔮 未来增强

  • 高级服务器访问监控和分析
  • 在 Docker 中执行
  • 将 MCPM 功能作为 MCP 服务器暴露(搜索、安装、配置文件管理等)
  • MCP 检查器的 TUI 界面
  • MCP 和配置文件管理的 TUI 界面

📦 其他安装方法

🍺 Homebrew

brew install mcpm

📦 pipx(推荐用于 Python 工具)

pipx install mcpm

🪄 uv 工具

uv tool install mcpm

更多安装方法

🐍 pip

pip install mcpm

🧰 X-CMD

如果你是 x-cmd 的用户,你可以运行:

x install mcpm.sh

👨‍💻 开发

此仓库包含 MCP 管理器的 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

Star 历史

Star 历史图表