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 "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for managing multiple SSH servers via AI assistants, offering tools for remote command execution, file operations, and system monitoring.11MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that enables AI coding agents to communicate, share state, and coordinate work in real time via MCP tools or REST API.1305MIT
- AlicenseNot gradedqualityAmaintenanceAn enterprise-grade MCP server that enables AI coding assistants to securely connect with external tools, APIs, databases, and cloud services through a unified interface, offering structured engineering workflows and multi-client support.MIT
- 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
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Cloud-hosted MCP server for durable AI memory
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kobramantra-debug/mcp-manager-mcp-manage'
If you have feedback or need assistance with the MCP directory API, please join our Discord server