mcp-manager
MCP Manager
Administrador universal de servidores MCP: añade, elimina, supervisa y configura todos tus servidores MCP desde un solo lugar.
Características
7 entornos — OpenCode, Claude Desktop, Cursor, Windsurf, Cline, Zed, Continue.dev
23 herramientas — gestión de servidores, comprobaciones de salud, rotación de tokens, sincronización entre entornos
Catálogo de más de 20 servidores — GitHub, Supabase, Playwright, Docker, PostgreSQL y más
Tokens cifrados — Fernet AES-128-CBC con derivación de clave PBKDF2
Sincronización entre entornos — migra servidores entre diferentes herramientas de codificación con IA
Related MCP server: git-org-group-cred-vault
Inicio rápido
git clone https://github.com/kobramantra-debug/mcp-manager-mcp-manage.git
cd mcp-manager-mcp-manage
pip install -e .Instalación
Desde el código fuente
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 .Configuración
Variables de entorno
Variable | Default | Descripción |
|
| Entorno activo a gestionar |
| (auto-detected) | Anular la ruta del archivo de configuración |
| (none) | Contraseña maestra para el cifrado Fernet |
OpenCode
Añade a ~/.config/opencode/opencode.json:
{
"mcp": {
"mcp-manager": {
"type": "local",
"command": ["python", "-m", "src"],
"cwd": "/path/to/mcp-manager",
"enabled": true
}
}
}Claude Desktop
Añade a %APPDATA%/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mcp-manager": {
"command": "python",
"args": ["-m", "src"],
"cwd": "/path/to/mcp-manager"
}
}
}Cursor
Añade a ~/.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
}
}
}Ejemplos
1. Lista todos los entornos y comprueba cuáles están instalados
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. Cambia a Claude Desktop y lista sus servidores
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. Añade el servidor MCP de GitHub desde el catálogo
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. Añade un servidor remoto personalizado
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. Ejecuta una comprobación de salud en todos los servidores
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. Sincroniza todos los servidores de OpenCode a Cursor
sync_to_harness("cursor"){
"success": true,
"source": "OpenCode",
"target": "Cursor",
"servers_synced": 3,
"added": 3,
"updated": 0
}7. Rota un token con caducidad
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. Busca en el catálogo de servidores
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. Exporta la configuración para otro entorno
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. Lista todos los tokens almacenados (seguro: solo vistas previas)
list_all_tokens(){
"tokens": {
"github": {"token_preview": "ghp_***abc123", "storage_backend": "encrypted_sqlite"},
"supabase": {"token_preview": "sb-***xyz789", "storage_backend": "encrypted_sqlite"}
},
"count": 2
}Referencia de herramientas
Gestión de entornos
Tool | Descripción |
| Lista todos los entornos y su estado de instalación |
| Cambia el entorno activo |
| Obtiene información del entorno actual |
Gestión de servidores
Tool | Descripción |
| Lista los servidores configurados |
| Añade un nuevo servidor |
| Elimina un servidor |
| Obtiene los detalles del servidor |
| Habilita un servidor deshabilitado |
| Deshabilita un servidor |
Salud y monitoreo
Tool | Descripción |
| Prueba un solo servidor |
| Prueba todos los servidores |
| Obtiene el historial de comprobaciones de salud |
Gestión de tokens
Tool | Descripción |
| Actualiza el token de API |
| Obtiene el token descifrado (usar con precaución) |
| Lista los tokens almacenados (solo vistas previas) |
| Obtiene el historial de rotación |
| Muestra el estado del cifrado |
Exportar / Importar / Sincronizar
Tool | Descripción |
| Exporta la configuración como JSON |
| Importa la configuración desde JSON |
| Exporta en formato de otro entorno |
| Sincroniza servidores con otro entorno |
Catálogo
Tool | Descripción |
| Busca en el catálogo de servidores |
| Añade un servidor desde el catálogo |
Entornos compatibles
Entorno | Ruta de configuración | Formato |
OpenCode |
|
|
Claude Desktop |
|
|
Cursor |
|
|
Windsurf |
|
|
Cline |
|
|
Zed |
|
|
Continue.dev |
|
|
Catálogo de servidores
Server | Tipo | Descripción |
github | docker | Servidor MCP de GitHub |
supabase | npx | Servidor MCP de Supabase |
playwright | npx | Automatización de navegador con Playwright |
chrome-devtools | npx | Protocolo de Chrome DevTools |
context7 | npx | Búsqueda de documentación de Context7 |
filesystem | local | Acceso al sistema de archivos |
git | local | Operaciones de Git |
postgres | npx | Base de datos PostgreSQL |
sqlite | npx | Base de datos SQLite |
docker | local | Gestión de Docker |
brave-search | npx | API de Brave Search |
fetch | npx | Herramienta de obtención HTTP |
memory | local | Memoria de grafo de conocimiento |
slack | npx | Integración con el espacio de trabajo de Slack |
gdrive | npx | Acceso a Google Drive |
google-maps | npx | API de Google Maps |
puppeteer | npx | Automatización de navegador con Puppeteer |
everything | npx | Búsqueda universal |
stitch | npx | Diseño de interfaz de Stitch |
Seguridad de tokens
Los tokens se almacenan en una base de datos SQLite cifrada con Fernet (AES-128-CBC).
Establece MCP_MANAGER_MASTER_PASSWORD para habilitar el cifrado:
# Linux/macOS
export MCP_MANAGER_MASTER_PASSWORD="your-secure-password"
# Windows
set MCP_MANAGER_MASTER_PASSWORD=your-secure-passwordSin una contraseña maestra, los tokens se almacenan en texto plano (no recomendado para producción).
Licencia
Licencia MIT: consulta LICENSE para más detalles.
This server cannot be deployed
Maintenance
Related MCP Connectors
Secure and manage MCP servers through the Speakeasy AI Control Plane from your agent.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP gateway and cloud hosting for MCP servers, agents and apps like RAG, managed from your agent.
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for managing multiple SSH servers via AI assistants, offering tools for remote command execution, file operations, and system monitoring.1137 PyPI2MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for securely managing GitHub & GitLab credentials in an encrypted vault, allowing AI agents to retrieve tokens by org or group name automatically.MIT
- AlicenseNot gradedqualityCmaintenanceEnables centralized MCP server management with connection pooling, a live activity dashboard, and macOS menu bar integration for AI coding agents.MIT
- FlicenseNot gradedqualityAmaintenanceEnables LLMs to manage, aggregate, and proxy other MCP servers dynamically, including discovering, adding, enabling, disabling, and configuring servers while exposing their tools under unified prefixes.-