关于 mcp-manager
mcp-manager 是通过自然语言操作 MCP Manager CLI 的技能。它可检查和管理 MCP 服务配置、验证配置,并通过 JSON 导入或导出配置。
主要功能
- 01列出 MCP 服务并查看详情
- 02启用或停用已配置的服务
- 03添加或删除服务配置
- 04检查配置错误
- 05导入和导出 JSON 配置
- 06在响应中隐去敏感信息
适用场景
- 01查看已配置服务的启用状态
- 02添加或更新 MCP 服务配置
- 03使用前验证配置
- 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”
交互式收集:
- 名称:“postgres-local”
- 命令:“node /opt/mcp-servers/postgres/index.js”
- 参数:“--port 5432 --host localhost”
- 环境变量:“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- 列出所有 MCPenable <name>- 启用服务disable <name>- 禁用服务add <name> <cmd> [args...] --env KEY=VAL- 添加服务remove <name>- 移除服务show <name>- 显示详情validate- 验证所有配置export [file]- 导出为 JSONimport <file> [--merge]- 从 JSON 导入
输出处理:
- 成功:退出代码为 0,stdout 以 ✓ 为前缀
- 错误:退出代码非零,stderr 以 ❌ 为前缀
- 在响应中隐藏敏感信息(令牌、密码)
错误处理
常见错误:
- 未找到 CLI:提供安装说明(参见 README)
- 未找到服务:列出可用服务,并建议替代方案
- 服务已存在:建议查看、移除或重命名
- 权限被拒绝:检查文件/目录权限
- settings.json 格式错误:验证 JSON,并提供从备份恢复的选项
- 命令无效:显示常见命令模式
有关详细的错误场景和故障排除,请参阅 ~/.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 团队