MCP配置管理器

一个跨平台工具,用于管理Claude、Gemini、Codex等AI系统的模型上下文协议(MCP)服务器配置。

  • by holstein13
  • Python
  • 本地部署
  • 29 星标
  • 更新于
在 GitHub 查看 holstein13/mcp-config-manager

使用说明

猫>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。然后,您可以:

  1. 双击“MCP配置管理器.app”启动
  2. 通过Spotlight启动(⌘+空格,键入“MCP配置管理器”)
  3. 将其添加到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 根据字段类型创建适当的编辑器
  • 验证:通过视觉反馈进行实时验证

支持的字段类型

  1. 文本编辑器 -字符串和命令的单行/多行文本字段
  2. 数字编辑器 -带最小/最大验证的整数/浮点数字段
  3. 布尔编辑器 -真/假值复选框
  4. 数组编辑器 -具有添加/删除/重新排序功能的列表管理
  5. 对象编辑器 -使用键值对进行嵌套对象编辑

视觉反馈

  • 橙色边框 -字段已被修改(未保存的更改)
  • 红色边界 -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.json
    • gemini-backup-YYYYMMDD_HHMMSS.json
    • disabled-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服务器管理的全部功能!