mcpField
M
mcp-manager

mcp-manager

github.com/rysweetAgent 工作流76145 次安装21 周前更新
代码仓库

关于 mcp-manager

mcp-manager 是通过自然语言操作 MCP Manager CLI 的技能。它可检查和管理 MCP 服务配置、验证配置,并通过 JSON 导入或导出配置。

主要功能

  1. 01列出 MCP 服务并查看详情
  2. 02启用或停用已配置的服务
  3. 03添加或删除服务配置
  4. 04检查配置错误
  5. 05导入和导出 JSON 配置
  6. 06在响应中隐去敏感信息

适用场景

  1. 01查看已配置服务的启用状态
  2. 02添加或更新 MCP 服务配置
  3. 03使用前验证配置
  4. 04以 JSON 备份或恢复配置

MCP 相关

该技能调用 MCP Manager CLI 管理 MCP 服务配置,可列出、启用、停用、添加、删除和查看服务,也可验证、导入及导出配置。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rysweet/amplihack --skill mcp-manager

安装后在 Claude Code 中输入/mcp-manager确认已加载。

详细介绍

MCP Manager 技能

概述

用于管理 Model Context Protocol 服务配置的 MCP Manager CLI 工具的自然语言界面。用户可以通过对话进行交互,例如:“启用 filesystem MCP”“添加数据库服务”“显示我所有的 MCP”。

激活

在 3 条消息的窗口内检测到 MCP 关键词时,或显式调用 /mcp-manager 时激活。

命令

1. 列出 MCP

显示所有已配置的 MCP 服务及其状态。

  • “列出我所有的 MCP” / “显示我的 MCP 服务”
  • CLI:python3 -m mcp-manager.cli list
2. 启用 MCP

启用已停用的 MCP 服务。

  • “启用 filesystem MCP” / “打开 puppeteer”
  • CLI:python3 -m mcp-manager.cli enable <server-name>
3. 停用 MCP

停用 MCP 服务,但不将其移除。需要确认。

  • “停用 puppeteer MCP” / “关闭 github”
  • CLI:python3 -m mcp-manager.cli disable <server-name>
4. 添加 MCP

以交互方式添加新的 MCP 服务(收集名称、命令、参数和环境变量)。

  • “添加新的 MCP 服务” / “配置数据库 MCP”
  • CLI:python3 -m mcp-manager.cli add <name> <command> [args...] --env KEY=VALUE
5. 移除 MCP

彻底删除 MCP 服务配置。需要确认并显示警告。

  • “移除 puppeteer MCP” / “删除 old-server”
  • CLI:python3 -m mcp-manager.cli remove <server-name>
6. 显示 MCP

显示指定 MCP 服务的详细信息。

  • “显示 filesystem MCP” / “查看 github 服务的详情”
  • CLI:python3 -m mcp-manager.cli show <server-name>
7. 验证 MCP

检查所有 MCP 配置是否存在错误。

  • “验证我的 MCP 配置” / “检查 MCP 错误”
  • CLI:python3 -m mcp-manager.cli validate
8. 导出 MCP

将配置导出到 JSON 文件以便备份。

  • “导出我的 MCP 配置” / “备份我的 MCP”
  • CLI:python3 -m mcp-manager.cli export [output-file]
9. 导入 MCP

从 JSON 文件导入配置。

  • “从 backup.json 导入 MCP” / “恢复我的 MCP”
  • CLI:python3 -m mcp-manager.cli import <input-file> [--merge]

使用示例

示例 1:列出并启用

用户:“列出我所有的 MCP”

[执行:cd .claude/scenarios && python3 -m mcp-manager.cli list]

回复: “你配置了 3 个 MCP 服务: ✓ filesystem(已启用)- 本地文件系统访问 ✓ github(已启用)- GitHub API 集成 ✗ puppeteer(已停用)- 浏览器自动化”

后续:“打开 puppeteer”

[执行:python3 -m mcp-manager.cli enable puppeteer]

“✓ 已成功启用 ‘puppeteer’ MCP 服务。”

示例 2:添加新服务

用户:“添加一个用于数据库访问的 MCP”

交互式收集:

  1. 名称:“postgres-local”
  2. 命令:“node /opt/mcp-servers/postgres/index.js”
  3. 参数:“--port 5432 --host localhost”
  4. 环境变量:“DATABASE_URL=postgresql://localhost:5432/mydb”

[执行:python3 -m mcp-manager.cli add postgres-local "node /opt/mcp-servers/postgres/index.js" --port 5432 --host localhost --env "DATABASE_URL=postgresql://localhost:5432/mydb"]

“✓ 已成功添加 ‘postgres-local’ MCP 服务。 该服务目前已停用。可使用 ‘enable postgres-local’ 启用。”

示例 3:移除服务

用户:“移除 puppeteer MCP”

确认: “⚠️ 警告:你即将移除 ‘puppeteer’ MCP 服务。这将彻底删除其配置。此操作无法撤销。确定吗?(是/否)”

[用户确认:“是”]

[执行:python3 -m mcp-manager.cli remove puppeteer]

“✓ 已成功移除 ‘puppeteer’ MCP 服务。”

工具调用

所有命令均在 ~/.amplihack/.claude/scenarios/ 目录中执行:

cd .claude/scenarios && python3 -m mcp-manager.cli <command> [args]

关键命令:

  • list - 列出所有 MCP
  • enable <name> - 启用服务
  • disable <name> - 禁用服务
  • add <name> <cmd> [args...] --env KEY=VAL - 添加服务
  • remove <name> - 移除服务
  • show <name> - 显示详情
  • validate - 验证所有配置
  • export [file] - 导出为 JSON
  • import <file> [--merge] - 从 JSON 导入

输出处理:

  • 成功:退出代码为 0,stdout 以 ✓ 为前缀
  • 错误:退出代码非零,stderr 以 ❌ 为前缀
  • 在响应中隐藏敏感信息(令牌、密码)

错误处理

常见错误:

  1. 未找到 CLI:提供安装说明(参见 README)
  2. 未找到服务:列出可用服务,并建议替代方案
  3. 服务已存在:建议查看、移除或重命名
  4. 权限被拒绝:检查文件/目录权限
  5. settings.json 格式错误:验证 JSON,并提供从备份恢复的选项
  6. 命令无效:显示常见命令模式

有关详细的错误场景和故障排除,请参阅 ~/.amplihack/.claude/scenarios/mcp-manager/README.md

最佳实践

  • 执行破坏性操作(禁用、移除)前,务必先确认
  • 执行前验证服务名称
  • 在响应中隐藏敏感信息
  • 提供清晰的错误消息和可执行的后续步骤
  • 在更改前后显示当前状态

另请参阅

  • 完整文档:~/.amplihack/.claude/scenarios/mcp-manager/README.md
  • 工具创建指南:~/.amplihack/.claude/scenarios/mcp-manager/HOW_TO_CREATE_YOUR_OWN.md
  • MCP 协议:https://modelcontextprotocol.io/
  • Claude Code 设置:~/.amplihack/.claude/settings.json

版本: 1.0.0 | 更新日期: 2025-11-24 | 维护者: amplihack 团队

评论

支持 Markdown