使用说明
猫>README.md<<“EOF”
MCP配置管理器
一个跨平台实用程序,用于管理Claude、Gemini、Codex和其他人工智能系统中的模型上下文协议(MCP)服务器配置。
基于经过测试的战斗 mcp_toggle.py 具有增强架构和GUI界面的脚本。
🎉 项目状态
✅ GUI功能齐全!
图形界面完整,所有主要功能均可运行。该应用程序提供了一种现代、用户友好的方式来管理MCP服务器,而无需接触JSON文件。
🚀 特点
✅ 全面实施
- 🖥️ 图形用户界面 -使用PyQt6/tkinter的现代跨平台GUI
- 🎨 双GUI后端 -PyQt6提供丰富的样式和工具提示,如果PyQt6不可用,则自动回退到tkinter
- 📝 服务器配置编辑器 -直接在GUI中编辑服务器配置
- 🔧 字段编辑器系统 -实时验证的动态字段编辑
- 🔍 项目发现 -从project.claude.json文件中自动发现MCP服务器
- 🗑️ 批量服务器删除 -通过确认对话框删除多个服务器
- ➕ 增强型服务器添加 -添加具有改进的JSON验证和清理功能的服务器
- 💾 高级备份系统 -通过GUI集成在专用目录中组织备份
- 📦 快速备份和恢复 -一键备份和恢复从工具栏与文件选择
- 🔄 服务器还原 -从备份文件还原服务器,包括禁用的服务器
- 交互式CLI管理 -服务器管理的全功能交互模式
- 多客户端支持 -管理
.claude.json,.gemini/settings.json,以及Codex配置文件 - 服务器启用/禁用 -在不丢失配置的情况下打开/关闭服务器
- 主复选框 -一次性批量选择/取消选择所有服务器
- 配置同步 -在Claude、Gemini和Codex之间同步服务器
- 自动备份 -在任何更改之前进行带时间戳的备份
- 预设管理 -保存和加载项目特定的配置
- 快速预设模式 -最小、web开发、全栈和测试预设
- JSON服务器添加 -通过粘贴JSON配置添加新服务器
- 与跨平台支持 -适用于Windows、macOS和Linux
- 命令行界面 -带有单独命令的完整CLI
- 配置验证 -验证配置文件结构
- 视觉状态指示器 -用颜色清除启用/禁用状态
- 键盘快捷键 -专业键盘导航(Ctrl+S保存,Esc取消)
- 视觉波兰语 -蓝色选择高亮显示,橙色未保存指示器,红色验证错误
🚧 下一个功能(规划阶段)
- 健康监测 -实时服务器连接状态
- 高级导入/导出 -在机器之间导入/导出预设和配置
🚀 快速安装(推荐)
一个命令安装:
curl -fsSL https://raw.githubusercontent.com/holstein13/mcp-config-manager/master/install.sh | bash
安装程序将:
- ✅ 自动检查系统要求
- 📁 询问安装位置(使用智能默认设置)
- 🐍 设置隔离的Python环境
- 🔗 添加
mcp命令到PATH - 🖥️ 创建桌面快捷方式(Linux)
- 🗑️ 提供简单的卸载选项
安装后快速启动
# Launch GUI (recommended)
mcp gui
# or use the alias
mcp-gui
# Interactive CLI mode
mcp interactive
# Check status
mcp status
# Show all options
mcp --help
# Uninstall easily
mcp uninstall
📦 手动安装
Click to expand manual installation steps
先决条件
- Python 3.8或更高版本
- 已安装Claude Code CLI、Gemini CLI和/或Codex
- PyQt6 (推荐但可选):提供丰富的样式、工具提示和更好的用户体验
- 如果没有安装,应用程序会自动回退到tkinter(内置于Python中)
- 安装方式:
pip install PyQt6
克隆并安装
git clone https://github.com/holstein13/mcp-config-manager.git
cd mcp-config-manager
pip install -e .
# Optional: Install PyQt6 for better GUI experience
pip install PyQt6
开发设置
# Set up development environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements-dev.txt
pip install -e .
# Run tests
pytest
🚀 用法
GUI模式(新增!-推荐)
启动图形界面:
mcp-config-manager gui
macOS:创建原生.app捆绑包
为了在macOS上更容易启动,您可以创建一个原生.app捆绑包,可以双击、添加到Dock或通过Spotlight启动。
初始设置(一次)
由于macOS的外部管理Python环境(PEP 668),您需要使用虚拟环境:
# Create virtual environment
python3 -m venv venv
# Activate virtual environment
source venv/bin/activate
# Install build dependencies
pip install py2app
# Install the application in editable mode
pip install -e .
# Install PyQt6 for GUI support (if not already installed)
pip install PyQt6
构建.app捆绑包
# Activate virtual environment (if not already active)
source venv/bin/activate
# Build the .app bundle (from project root)
./build_app.sh
# Or manually:
python3 scripts/build/setup_app.py py2app --dist-dir artifacts/dist
# Install to Applications folder
cp -r "artifacts/dist/MCP Config Manager.app" /Applications/
该应用程序将在中创建 artifacts/dist/MCP Config Manager.app。然后,您可以:
- 双击“MCP配置管理器.app”启动
- 通过Spotlight启动(⌘+空格,键入“MCP配置管理器”)
- 将其添加到Dock以快速访问
代码更改后的重建
# Activate virtual environment
source venv/bin/activate
# Clean previous build artifacts
rm -rf build artifacts/dist
# Build the .app bundle
./build_app.sh
# Install to Applications folder
cp -r "artifacts/dist/MCP Config Manager.app" /Applications/
故障排除
如果构建失败:
- 确保您处于虚拟环境中(
source venv/bin/activate) - 检查是否安装了所有依赖项(
pip list) - 清理构建工件,然后重试(
rm -rf build artifacts/dist)
如果应用程序在启动时崩溃:
- 从终端运行以查看错误消息:
/Applications/MCP\ Config\ Manager.app/Contents/MacOS/MCP\ Config\ Manager
注: .app捆绑包完全包含Python和所有捆绑的依赖项。它在构建后独立于您的虚拟环境工作。
GUI提供:
- 🖥️ 带有复选框的可视化服务器列表
- ☑ 批量操作的主复选框(☐/☑/⊟ 国家)
- 📝 服务器详细信息编辑器 -单击任何服务器以编辑其配置
- 🔧 动态字段编辑器 -每种字段类型的智能编辑器:
- 字符串和命令的文本字段
- 带验证的数字字段
- 布尔值切换为真/假值
- 用于列表管理的数组编辑器
- 嵌套配置的对象编辑器
- 🔍 项目发现:
- 查找project.claude.json文件的按钮扫描
- 在项目中自动查找MCP服务器
- 智能重复检测和整合
- 位置感知服务器管理(全局与项目)
- ✅ 实时验证 -配置错误的即时反馈
- 🎨 视觉反馈:
- 选定服务器的蓝色突出显示
- 未保存更改的橙色指示器
- 红色边框表示验证错误
- 未选择服务器时为空状态指导
- 💾 备份和恢复:
- 备份按钮创建带时间戳的备份
- 还原按钮列出并还原以前的备份
- 在任何更改之前自动备份
- 🔄 克劳德/双子座/Codex/All之间的模式切换
- 💾 带有视觉反馈的保存按钮
- ➕ 通过JSON添加具有增强验证功能的新服务器
- 🗑️ 确认批量删除服务器
- 💾 通过GUI反馈快速备份和恢复
- 📁 预设管理对话框
- ⌨️ 全键盘快捷键(Ctrl+S保存,Esc取消)
交互式CLI模式
启动命令行交互界面:
mcp-config-manager interactive
这为您提供了原始mcp_toggle.py脚本的完整界面,其中包含:
- ✅/❌ 可视化服务器状态
- 🔄 实时模式切换(Claude/Gemini/Codex/All)
- 📁 预置管理
- ➕ 通过粘贴JSON添加服务器
- 🎯 快速预设模式(最小、网络开发等)
命令行用法
# Show current status
mcp-config-manager status
# Enable/disable specific servers
mcp-config-manager enable server-name
mcp-config-manager disable server-name
# Bulk operations
mcp-config-manager enable-all
mcp-config-manager disable-all
# Backup and restore
mcp-config-manager backup # Create timestamped backup
mcp-config-manager restore backup-file.json # Restore from backup
# Server management
mcp-config-manager add-server server-name config.json # Add server from file
mcp-config-manager delete-server server-name # Delete server permanently
# Apply preset modes
mcp-config-manager preset minimal # Only context7 + browsermcp
mcp-config-manager preset webdev # + playwright
mcp-config-manager preset fullstack # + supabase, clerk, railway
# Validate configurations
mcp-config-manager validate ~/.claude.json
使用模式
该工具支持四种模式:
- 只有克劳德 (
--mode claude)-仅管理.claude.json - 仅限双子座 (
--mode gemini)-仅管理.gemini/settings.json - 仅限食品法典 (
--mode codex)-仅管理Codex配置 - 全部(已同步) (
--mode all)-保持所有配置同步
🖼️ 截图
GUI界面
MCP配置管理器GUI显示服务器配置编辑和视觉反馈
交互模式
🔧 MCP Config Manager - Interactive Mode
==================================================
📊 Current Status:
------------------------------
Mode: 🔄 All CLIs (synced)
✅ ACTIVE servers (will run):
[1] context7
[2] browsermcp
[3] playwright
❌ DISABLED servers (won't run):
[d1] supabase
[d2] clerk
📋 Actions:
[1-N] Disable active server
[d1-N] Enable disabled server
[a] Enable ALL
[n] Disable ALL
[m] Minimal (context7 + browsermcp)
[w] Web dev (+ playwright)
[+] ➕ Add new MCP server
[p] 📁 Preset management
[c] 🔄 Change CLI mode
[s] Save and exit
[q] Quit without saving
Action:
🛠️ 发展
项目结构
src/mcp_config_manager/
├── core/
│ ├── config_manager.py # Main configuration management
│ ├── server_manager.py # Server enable/disable logic
│ └── presets.py # Preset management
├── parsers/
│ ├── claude_parser.py # Claude config parsing
│ ├── gemini_parser.py # Gemini config parsing
│ └── base_parser.py # Parser interface
├── utils/
│ ├── backup.py # Backup functionality
│ ├── sync.py # Config synchronization
│ └── file_utils.py # File path utilities
├── gui/ # GUI components
│ ├── main_window.py # Main application window
│ ├── controllers/ # GUI-library bridge
│ │ └── server_controller.py
│ ├── widgets/ # UI components
│ │ ├── server_list.py
│ │ ├── server_details_panel.py
│ │ └── field_editors/ # Dynamic field editors
│ │ ├── base.py
│ │ ├── text.py
│ │ ├── number.py
│ │ ├── boolean.py
│ │ ├── array.py
│ │ └── object.py
│ └── dialogs/ # Modal dialogs
└── cli.py # Command line interface
字段编辑器系统
字段编辑器系统为服务器配置字段提供动态、特定类型的编辑器:
建筑
- 基础编辑器 (
field_editors/base.py):定义接口的抽象基类 - 特定类型编辑器:每种数据类型的专业编辑器
- 工厂模式:
FieldEditorFactory根据字段类型创建适当的编辑器 - 验证:通过视觉反馈进行实时验证
支持的字段类型
- 文本编辑器 -字符串和命令的单行/多行文本字段
- 数字编辑器 -带最小/最大验证的整数/浮点数字段
- 布尔编辑器 -真/假值复选框
- 数组编辑器 -具有添加/删除/重新排序功能的列表管理
- 对象编辑器 -使用键值对进行嵌套对象编辑
视觉反馈
- 橙色边框 -字段已被修改(未保存的更改)
- 红色边界 -2px宽度的验证错误
- 浅红色背景 -附加错误指示(#FFF5F5)
- 工具提示 -无效字段悬停时出现错误消息
用法示例
# The ServerDetailsPanel automatically creates appropriate editors
field_editor = FieldEditorFactory.create_editor(
field_name="command",
field_value="npx @modelcontextprotocol/server-sqlite",
field_type="string",
parent=self
)
# Connect signals for change tracking
field_editor.value_changed.connect(self.on_field_changed)
field_editor.validation_error.connect(self.on_validation_error)
核心API函数
在最近的提交中添加了以下新功能:
ConfigMgr(核心/配置管理器.py)
create_backup()-创建带时间戳的备份并返回与GUI兼容的结果add_server()-添加具有ServerController所需接口的服务器- 增强的错误处理 -改进了GUI集成的错误报告
服务器管理器(核心/server_manager.py)
add_server_with_name()-添加具有明确名称和配置的服务器delete_server()-从配置和存储中永久删除服务器update_server_config()-更新现有服务器配置- 增强模式支持 -更好地处理“claude”、“gemini”、“codex”、“all”模式
备份系统(utils/Backup.py)
backup_all_configs()-在专用目录中创建有组织的备份list_backups()-按类型列出可用的备份文件restore_backup()-从备份文件还原配置- 有组织的存储 -备份现在存储在专用
backups/目录
GUI控制器(GUI/控制器/server_controller.py)
add_server()-用于添加服务器的GUI集成delete_servers()-带有确认对话框的批量删除- 增强的事件处理 -更好的GUI更新信号/插槽管理
新建对话框组件
DeleteServersDialog-批量删除并确认安全- 增强
AddServerDialog-JSON验证和清理功能 BackupRestoreDialog-用于备份和恢复操作的GUI
JSON处理增强
- JSON清理 -删除注释并修复AddServerDialog中格式错误的JSON
- 增强验证 -更好地报告无效JSON配置的错误
- 批处理 -支持从单个JSON输入添加多个服务器
开发设置
# Clone the repository
git clone https://github.com/holstein13/mcp-config-manager
cd mcp-config-manager
# Set up development environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements-dev.txt
pip install -e .
# Run tests
pytest
# Run the application
mcp-config-manager interactive
📁 文件位置
- 克劳德配置:
~/.claude.json - Gemini配置:
~/.gemini/settings.json - Codex配置:
~/.codex.json - 预设:
~/.mcp_presets.json - 已禁用的服务器:
~/.mcp_disabled_servers.json(在用户的主目录中) - 有组织的备份:
~/Documents/MCP Config Manager/backups/带有时间戳的文件:claude-backup-YYYYMMDD_HHMMSS.jsongemini-backup-YYYYMMDD_HHMMSS.jsondisabled-backup-YYYYMMDD_HHMMSS.json
- 传统备份:
~/.claude.json.backup.YYYYMMDD_HHMMSS
🗺️ 路线图
✅ 第1阶段:核心功能-完成
- 交互式CLI界面
- 多客户端支持(Claude+Gemini)
- 使用存储启用/禁用服务器
- 配置同步
- 自动备份
- 预置管理
- JSON服务器添加
- 命令行界面
✅ 第2阶段:GUI开发-完成
- 跨平台GUI框架(PyQt6/tkinter)
- 带有复选框的主服务器管理窗口
- 批量操作的主复选框
- 预设管理对话框
- 设置和配置对话框
- 通过JSON粘贴添加服务器
- 键盘快捷键和专业用户体验
- 视觉状态指示器和反馈
🚧 第3阶段:波兰和平台测试-正在进行中
当前重点:
- ✅ macOS平台测试和优化
- ⏳ Windows平台测试
- ⏳ Linux平台测试
- ⏳ 大型服务器列表的性能优化
- ⏳ PyInstaller包装
📋 第4阶段:高级功能-进行中
完整的:
- ✅ 服务器详细信息视图 -单击服务器名称以编辑侧面板中的配置
- ✅ 现场编辑 -每种配置字段类型的可视化编辑器
- ✅ 实时验证 -配置更改的即时反馈
下一个功能:
- 健康监测 -实时服务器连接状态
- 导入/导出 -备份和恢复配置
🚀 第五阶段:分销
- 打包安装程序(Windows MSI、macOS DMG、Linux AppImage)
- 自动更新机制
- 扩展插件架构
- IDE集成(VS Code、IntelliJ等)
🎯 从原始脚本迁移
如果你使用的是原版 mcp_toggle.py 脚本:
- 您的配置已保存 -该工具使用相同的文件位置
- 您的预设保留 -
~/.mcp_presets.json直接使用 - 功能相同 -所有原始功能都可以在交互模式下使用
- 增强的功能 -加上新的CLI命令和更好的错误处理
🤝 贡献
我们欢迎捐款!原版 mcp_toggle.py 剧本是一个极好的基础,我们正在以此为基础。
贡献领域
- 🎨 GUI开发 -帮助构建跨平台界面
- 🔍 服务器发现 -自动检测可用的MCP服务器
- 🧪 测试 -为所有组件添加测试覆盖率
- 📚 文档 -改进指南和示例
- 🐛 错误报告 -发现问题?让我们知道!
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
🙏 致谢
- 原版
mcp_toggle.py启发这个项目的脚本 - 开发模型上下文协议的Anthropic团队
- 开源社区提供反馈和贡献
准备好开始了吗? 跑 mcp-config-manager interactive 体验MCP服务器管理的全部功能!