MCP服务器管理工具

一个零依赖的npx CLI工具,用于列出、启用和禁用Claude Code MCP服务器,支持JSON输出和干运行模式。

  • by jandroav
  • JavaScript
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 jandroav/claude-mcp-switch

使用说明

claude-mcp-switch - 克劳德代码MCP切换器

一个零依赖的 npx 命令行界面(CLI),用于列出、启用和禁用 Claude Code MCP 服务器。 使用 claude 底层使用CLI以确保与您的实际运行配置兼容。

✨ 特点/功能

  • 列出启用和禁用的MCP服务器(由...提供支持) claude mcp list)
  • 按名称启用/禁用服务器
  • 在禁用时保留服务器配置,以便轻松重新启用
  • JSON输出和模拟运行模式
  • 支持所有传输类型:stdio、SSE、HTTP
  • 吸引人的用户界面:ASCII横幅、彩色输出和框线表格
  • 颜色控制:自动检测TTY,使用--no-color或设置NO_COLOR=1来禁用;在--json模式下始终关闭

📋 要求

  • Node.js 版本 >= 18
  • Claude CLI 已安装并配置(claude 可用命令
  • 在Claude代码中至少配置了一个MCP服务器

🚀 安装/使用

  • 本地使用 npx (无需安装):

    1. 列出服务器: npx claude-mcp-switch list
    2. 启用服务器: npx claude-mcp-switch enable github
    3. 禁用服务器: npx claude-mcp-switch disable github --dry-run
  • 通过 npm 全局安装:

    1. 全局安装: npm install -g claude-mcp-switch
    2. 使用该工具: ccmcp list
    3. 启用MCP: ccmcp enable github
    4. 禁用MCP: ccmcp disable github
  • 本地开发(无需注册):

    1. 在本地克隆仓库:
      • git clone <repo-url> 并且 cd claude-mcp-switch
    2. 确保CLI入口点可执行:
    3. 在全球范围内连接以使用 ccmcp 随时随地指挥:
    4. 使用该工具:
      • ccmcp list
      • ccmcp enable github
      • 测试期间禁用颜色: ccmcp list --no-color
    5. 完成后取消链接:
      • npm unlink -g ccmcp (或者运行 npm unlink (项目内部)
  • 备选方案:直接运行,无需链接

    • macOS/Linux:
      • node ./src/ccmcp.js list
      • node ./src/ccmcp.js enable github --config ~/.claude/settings.json
    • Windows(CMD):
      • node .\src\ccmcp.js list
      • node .\src\ccmcp.js enable github --config %USERPROFILE%\.claude\settings.json
    • Windows(PowerShell):
      • node .\src\ccmcp.js list
      • node .\src\ccmcp.js enable github --config "$env:USERPROFILE\.claude\settings.json"

💻 命令

  • 列出 [--json] [--no-color]
    • 打印一个带有状态、名称、传输方式、命令/URL 的彩色边框表格
    • 显示了活跃(来自 claude mcp list)以及禁用的服务器(来自本地存储)
  • 启用;使能够 [--模拟运行] [--json] [--无颜色]
    • 通过恢复其配置,重新启用之前已禁用的服务器
  • 禁用 [--dry-run](模拟运行) [--json](输出JSON格式) [--no-color](不使用颜色)
    • 通过移除服务器来禁用它 claude mcp remove 并存储其配置以便稍后重新启用
  • --help(帮助),--version(版本)

🎯 它的工作原理

  • 列表执行 claude mcp list 获取活动服务器,并与本地存储的已禁用服务器合并
  • 禁用:
    1. 通过(某种方式)获取服务器详细信息 claude mcp get <name>
    2. 将配置存储在 ~/.claude-mcp-switch/disabled-servers.json
    3. 通过(某种方式)移除服务器 claude mcp remove <name>
  • 启用:
    1. 从本地存储中检索存储的配置
    2. 通过(某种方式)重新添加服务器 claude mcp add 带原始设置
    3. 从禁用存储中移除

🔍 配置

无需发现配置文件!该工具使用 claude CLI 会自动使用您当前激活的 Claude Code 配置。这确保了该工具始终与您实际运行的 MCP 服务器协同工作。

🚪 退出代码

  • 0:成功
  • 2: 未找到服务器
  • 4: 执行Claude CLI命令时出错

📝 示例

  • 列出所有服务器:
    npx claude-mcp-switch list
    
  • 禁用服务器:
    npx claude-mcp-switch disable playwright
    
  • 启用之前已禁用的服务器:
    npx claude-mcp-switch enable playwright
    
  • 模拟运行模式:
    npx claude-mcp-switch disable playwright --dry-run
    
  • JSON输出:
    npx claude-mcp-switch list --json
    

📊 JSON 输出

  • 列表输出包含状态、名称、传输方式、命令或URL的服务器对象数组
  • 启用/禁用输出 { 成功, 动作, 标识符, 错误? }

🔧 故障排除

  • **“claude: command not found”翻译成中文是:“claude:命令未找到”**确保已安装 Claude Code CLI 且其路径已添加到您的 PATH 中
  • 服务器未找到使用 claude mcp list 查看可用的服务器,或 npx claude-mcp-switch list 查看活动服务器和禁用服务器
  • 权限错误确保您有写入访问权限 ~/.claude-mcp-switch/ 目录

📚 参考资料

  • Claude 代码 MCP:https://docs.claude.com/en/docs/claude-code/mcp
  • Claude CLI 文档:https://docs.claude.com/en/docs/claude-code/cli

🧪 测试

该项目使用Node.js内置的测试运行器(Node 18+)进行全面的单元测试和集成测试。

运行测试

# Run all tests
npm test

# Run unit tests only
npm run test:unit

# Run integration tests only
npm run test:integration

# Watch mode
npm run test:watch

# Coverage report
npm run test:coverage

测试覆盖率

  • 对所有模块(实用工具、配置、模式、匹配器、用户界面)进行单元测试
  • CLI命令的集成测试
  • 使用临时配置文件进行端到端测试
  • 针对特定平台的路径解析测试
  • 错误处理和边界情况覆盖

📄 许可证

麻省理工学院(MIT)

🤖 GitHub 工作流

这个项目包含了使用多个GitHub Actions工作流实现的全面CI/CD自动化。请参阅 CI/CD 工作流 以获取详细文档。