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: agent-comm
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 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