A macOS Electron application for managing Claude MCP server configurations with a user-friendly GUI.
- MCP Server Management: Add, edit, delete, and toggle MCP servers for Claude
- Toggle Servers On/Off: Enable or disable servers without losing their configurations
- Automatic Config Generation: Automatically generate Claude config with only enabled servers
- Claude Integration: Restart Claude with only selected servers
- System Tray Integration: Quick access to enable/disable servers from the system tray without reopening menus
- JSON Import: Easily import MCP server configurations from JSON directly from the main screen
- Server Persistence: Disabled servers are preserved when the app is restarted
- Config Backup: Automatically create backups before overwriting Claude's configuration
- macOS 10.14 or later
- Node.js 14 or later
# Clone the repository
git clone https://github.com/danmartuszewski/mcp-manager.git
cd mcp-manager
# Install dependencies
npm install
# Run the app in development mode
npm run dev
# Build the app for production
npm run build-
Add a Server: Click the "Add Server" button and fill in the details:
- Name (unique identifier used in the Claude config)
- Definition (JSON with command and args)
-
Parse JSON Config: Import servers directly from a JSON configuration:
- Click the "Parse JSON Config" button
- Paste your JSON configuration
- The system will automatically extract all server definitions
-
Edit a Server: Click the edit icon next to any server to modify its details
-
Toggle Servers: Use the toggle switches to enable or disable servers
- Disabled servers are preserved when the app is restarted
-
Delete a Server: Click the delete icon to remove a server from your list
- Save Config & Restart Claude: Saves the configuration and restarts Claude with only the enabled servers
- Navigate to the "Remote Directories" tab
- Access external resources like MCP.so or the GitHub Awesome MCP Servers repository
- Click the MCP Manager icon in your macOS menu bar
- Toggle servers on/off directly from the menu without it closing
- Restart Claude with only enabled servers
- Claude Config Path: Specify where Claude's configuration file is located
- Create Backups: Automatically create backups before overwriting Claude's config
mcp-manager/
├── main/ # Main process (Electron)
├── renderer/ # Frontend code (HTML/CSS/JS)
├── tray/ # System tray logic
├── resources/ # Icons, assets
├── test/ # Tests
│ ├── unit/ # Unit tests
│ └── e2e/ # End-to-end tests
├── package.json # Dependencies and scripts
# Build for macOS
npm run buildThe project includes comprehensive tests for both the main and renderer processes:
# Run all tests
npm test
# Run unit tests only
npm run test:unit
# Run end-to-end tests
npm run test:e2e- Unit Tests: Test individual components and functions
- Config generation
- IPC handlers
- UI components
- Tray functionality
- E2E Tests: Test the application as a whole
- Window creation
- UI element presence
- Modal interactions
- Cross-platform support: Adapt the application to work on Windows and Linux
- Automated MCP server discovery: Easily find and add new MCP servers
- Server categorization: Organize servers by type or function
Contributions are welcome! Please feel free to submit a Pull Request.
- Claude by Anthropic
- Electron framework
- The Claude MCP community

