mcp-manager
Allows adding and configuring a Brave Search MCP server for web search capabilities.
Allows adding and configuring a Docker MCP server for container management.
Allows adding and configuring a Git MCP server for Git operations.
Allows adding and configuring a GitHub MCP server for GitHub repository and issue management.
Allows adding and configuring a Google Drive MCP server for file access.
Allows adding and configuring a Google Maps MCP server for location and mapping services.
Allows adding and configuring a PostgreSQL MCP server for database operations.
Allows adding and configuring a Puppeteer MCP server for browser automation.
Allows adding and configuring a Slack MCP server for workspace integration.
Allows adding and configuring a SQLite MCP server for database operations.
Allows adding and configuring a Supabase MCP server for backend services.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-managerrun a health check on all my MCP servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Manager
Universal MCP Server Manager — add, remove, monitor, and configure all your MCP servers from one place.
Features
7 harnesses — OpenCode, Claude Desktop, Cursor, Windsurf, Cline, Zed, Continue.dev
23 tools — server management, health checks, token rotation, cross-harness sync
20+ server catalog — GitHub, Supabase, Playwright, Docker, PostgreSQL, and more
Encrypted tokens — Fernet AES-128-CBC with PBKDF2 key derivation
Cross-harness sync — migrate servers between different AI coding tools
Related MCP server: agent-comm
Quick Start
git clone https://github.com/kobramantra-debug/mcp-manager-mcp-manage.git
cd mcp-manager-mcp-manage
pip install -e .Installation
From source
git clone https://github.com/kobramantra-debug/mcp-manager-mcp-manage.git
cd mcp-manager-mcp-manage
pip install -e .Docker
docker build -t mcp-manager .Configuration
Environment Variables
Variable | Default | Description |
|
| Active harness to manage |
| (auto-detected) | Override config file path |
| (none) | Master password for Fernet encryption |
OpenCode
Add to ~/.config/opencode/opencode.json:
{
"mcp": {
"mcp-manager": {
"type": "local",
"command": ["python", "-m", "src"],
"cwd": "/path/to/mcp-manager",
"enabled": true
}
}
}Claude Desktop
Add to %APPDATA%/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mcp-manager": {
"command": "python",
"args": ["-m", "src"],
"cwd": "/path/to/mcp-manager"
}
}
}Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"mcp-manager": {
"command": "python",
"args": ["-m", "src"],
"cwd": "/path/to/mcp-manager"
}
}
}Docker (STDIO)
{
"mcp": {
"mcp-manager": {
"type": "docker",
"command": ["docker", "run", "-i", "--rm", "mcp-manager"],
"enabled": true
}
}
}Examples
1. List all harnesses and see which are installed
list_harnesses_info(){
"harnesses": [
{"id": "opencode", "name": "OpenCode", "installed": true, "is_active": true},
{"id": "claude-desktop", "name": "Claude Desktop", "installed": true, "is_active": false},
{"id": "cursor", "name": "Cursor", "installed": false, "is_active": false},
{"id": "windsurf", "name": "Windsurf", "installed": false, "is_active": false},
{"id": "cline", "name": "Cline", "installed": false, "is_active": false},
{"id": "zed", "name": "Zed", "installed": false, "is_active": false},
{"id": "continue", "name": "Continue.dev", "installed": false, "is_active": false}
],
"active": "opencode",
"installed_count": 2
}2. Switch to Claude Desktop and list its servers
switch_harness("claude-desktop")
list_servers(){
"harness": "Claude Desktop",
"servers": [
{"name": "github", "enabled": true, "type": "docker"},
{"name": "playwright", "enabled": true, "type": "npx"}
],
"count": 2
}3. Add GitHub MCP server from the catalog
add_from_catalog("github"){
"success": true,
"action": "added",
"server": "github",
"harness": "OpenCode",
"catalog_entry": "github",
"config": {
"type": "docker",
"command": ["docker", "run", "-i", "--rm", "-e", "GITHUB_TOKEN={env:GITHUB_TOKEN}", "ghcr.io/github/github-mcp-server"],
"enabled": true
}
}4. Add a custom remote server
add_server(
name="my-api",
server_type="remote",
url="https://api.example.com/mcp",
env_vars="API_KEY=sk-123,BASE_URL=https://api.example.com"
){
"success": true,
"action": "added",
"server": "my-api",
"config": {
"type": "remote",
"url": "https://api.example.com/mcp",
"environment": {"API_KEY": "sk-123", "BASE_URL": "https://api.example.com"},
"enabled": true
}
}5. Run health check on all servers
health_check(){
"harness": "opencode",
"summary": {"total": 3, "healthy": 2, "unhealthy": 1, "unknown": 0, "timeout": 0},
"results": {
"github": {"status": "healthy", "message": "Server: github-mcp-server", "latency_ms": 1250.3},
"playwright": {"status": "healthy", "message": "Server: playwright", "latency_ms": 890.1},
"my-api": {"status": "unhealthy", "message": "No response (exit 1)", "latency_ms": 5000.0}
}
}6. Sync all servers from OpenCode to Cursor
sync_to_harness("cursor"){
"success": true,
"source": "OpenCode",
"target": "Cursor",
"servers_synced": 3,
"added": 3,
"updated": 0
}7. Rotate a token with expiration
rotate_token("github", "ghp_new_token_abc123", expires_at="2026-12-31"){
"success": true,
"action": "token_rotated",
"server": "github",
"preview": "ghp_***abc123",
"expires_at": "2026-12-31"
}8. Search the server catalog
search_catalog("database"){
"results": [
{"id": "postgres", "name": "PostgreSQL", "description": "PostgreSQL database server", "category": "database"},
{"id": "sqlite", "name": "SQLite", "description": "SQLite database server", "category": "database"}
],
"count": 2
}9. Export config for a different harness
export_for_harness("claude-desktop"){
"source_harness": "opencode",
"target_harness": "claude-desktop",
"config": {
"mcpServers": {
"github": {"command": "docker", "args": ["run", "-i", "--rm", "ghcr.io/github/github-mcp-server"]},
"playwright": {"command": "npx", "args": ["-y", "@anthropic/playwright-mcp"]}
}
},
"note": "Import this JSON into Claude Desktop"
}10. List all stored tokens (safe — previews only)
list_all_tokens(){
"tokens": {
"github": {"token_preview": "ghp_***abc123", "storage_backend": "encrypted_sqlite"},
"supabase": {"token_preview": "sb-***xyz789", "storage_backend": "encrypted_sqlite"}
},
"count": 2
}Tools Reference
Harness Management
Tool | Description |
| List all harnesses and installation status |
| Switch active harness |
| Get current harness info |
Server Management
Tool | Description |
| List configured servers |
| Add a new server |
| Remove a server |
| Get server details |
| Enable a disabled server |
| Disable a server |
Health & Monitoring
Tool | Description |
| Test a single server |
| Test all servers |
| Get health check history |
Token Management
Tool | Description |
| Update API token |
| Get decrypted token (use with caution) |
| List stored tokens (previews only) |
| Get rotation history |
| Show encryption status |
Export / Import / Sync
Tool | Description |
| Export config as JSON |
| Import config from JSON |
| Export in another harness format |
| Sync servers to another harness |
Catalog
Tool | Description |
| Search server catalog |
| Add server from catalog |
Supported Harnesses
Harness | Config Path | Format |
OpenCode |
|
|
Claude Desktop |
|
|
Cursor |
|
|
Windsurf |
|
|
Cline |
|
|
Zed |
|
|
Continue.dev |
|
|
Server Catalog
Server | Type | Description |
github | docker | GitHub MCP Server |
supabase | npx | Supabase MCP Server |
playwright | npx | Playwright browser automation |
chrome-devtools | npx | Chrome DevTools Protocol |
context7 | npx | Context7 documentation lookup |
filesystem | local | Filesystem access |
git | local | Git operations |
postgres | npx | PostgreSQL database |
sqlite | npx | SQLite database |
docker | local | Docker management |
brave-search | npx | Brave Search API |
fetch | npx | HTTP fetch tool |
memory | local | Knowledge graph memory |
slack | npx | Slack workspace integration |
gdrive | npx | Google Drive access |
google-maps | npx | Google Maps API |
puppeteer | npx | Puppeteer browser automation |
everything | npx | Universal search |
stitch | npx | Stitch UI design |
Token Security
Tokens are stored in an encrypted SQLite database using Fernet (AES-128-CBC).
Set MCP_MANAGER_MASTER_PASSWORD to enable encryption:
# Linux/macOS
export MCP_MANAGER_MASTER_PASSWORD="your-secure-password"
# Windows
set MCP_MANAGER_MASTER_PASSWORD=your-secure-passwordWithout a master password, tokens are stored in plaintext (not recommended for production).
License
MIT License — see LICENSE for details.
This server cannot be deployed
Maintenance
Related MCP Connectors
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
A MCP server built for developers enabling Git based project management with project and personal…
Create, deploy, and operate MCP servers directly from your GitHub repositories.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for managing multiple SSH servers via AI assistants, offering tools for remote command execution, file operations, and system monitoring.111MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that enables AI coding agents to communicate, share state, and coordinate work in real time via MCP tools or REST API.123 npm5MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for securely managing GitHub & GitLab credentials in an encrypted vault, allowing AI agents to retrieve tokens by org or group name automatically.MIT
- FlicenseNot gradedqualityCmaintenanceEnables centralized MCP server management with connection pooling, a live activity dashboard, and macOS menu bar integration for AI coding agents.-