MCP Hot-Reload
Un servidor proxy de reemplazo de módulos en caliente (HMR) para servidores MCP que se reinicia automáticamente ante cambios en archivos, almacena mensajes en búfer y gestiona conexiones.
Documentación
mcpmon
Monitor de recarga en caliente para servidores MCP: como nodemon, pero para el Protocolo de Contexto de Modelo
Haz cambios en el código de tu servidor MCP y míralos al instante sin reiniciar tu cliente MCP. Así como nodemon reinicia automáticamente las aplicaciones Node.js, mcpmon reinicia automáticamente los servidores MCP.
Qué es
mcpmon es un proxy transparente que se sitúa entre tu cliente MCP (Claude Code, Claude Desktop, MCP Inspector, etc.) y tu servidor MCP. Cuando modificas el código de tu servidor, mcpmon reinicia automáticamente el servidor mientras mantiene tu cliente conectado.
Beneficios clave:
- Como nodemon, pero para MCP - Interfaz de línea de comandos simple que ya conoces
- Cero configuración - Solo envuelve tu comando de servidor con mcpmon
- Desarrollo sin interrupciones - Tu cliente MCP permanece conectado mientras tu servidor se recarga
- Cero pérdida de mensajes - Las solicitudes se almacenan en búfer durante el reinicio del servidor
- Compatibilidad universal - Funciona con cualquier servidor MCP (Node.js, Python, Deno, etc.)
- Soporte de biblioteca - Importa como dependencia para soluciones de monitoreo personalizadas
Inicio rápido
-
Instalar globalmente:
npm install -g mcpmon -
Usar con tu servidor MCP:
# Instead of: node server.js mcpmon node server.js # Instead of: python server.py mcpmon python server.py # Instead of: deno run --allow-all server.ts mcpmon deno run --allow-all server.ts -
Usar con clientes MCP:
# MCP Inspector npx @modelcontextprotocol/inspector mcpmon node server.js # For existing Claude Code/Desktop servers, use setup: mcpmon setup my-serverLa configuración automáticamente prepara tus servidores MCP existentes para la recarga en caliente. ✨
¡Eso es todo! Tu servidor MCP ahora tiene recarga en caliente habilitada. Edita el código de tu servidor y los cambios se aplican al instante.
Ejemplos de uso
Uso básico
# Node.js server
mcpmon node server.js
# Python server
mcpmon python -m mcp_server
# Python with args
mcpmon python server.py --port 3000
# Deno server
mcpmon deno run --allow-all server.ts
# With debugging
mcpmon node --inspect server.js
Con MCP Inspector
# Direct command
npx @modelcontextprotocol/inspector mcpmon node server.js
# With environment variables
API_KEY=your-key npx @modelcontextprotocol/inspector mcpmon node server.js
Con Claude Code o Claude Desktop
La forma más fácil: Usa el comando de configuración automática para servidores existentes:
# Setup hot-reload for an existing server
mcpmon setup my-server
# Setup all stdio servers for hot-reload
mcpmon setup --all
# List available servers
mcpmon setup --list
# Restore original config if needed
mcpmon setup --restore
El comando de configuración automáticamente:
- ✅ Hace una copia de seguridad de tu configuración original
- ✅ Detecta y usa versiones modernas de Node.js para compatibilidad
- ✅ Envuelve tu comando de servidor con mcpmon
- ✅ Preserva todas las variables de entorno y argumentos
- ✅ Habilita la recarga en caliente al instante
- ✅ Idempotente - seguro de ejecutar varias veces
🔥 Consejos de recarga en caliente para Claude Desktop
Después de configurar la recarga en caliente:
- Cambios de código: Tu servidor se reinicia automáticamente: ¡no se necesita acción!
- Cambios de esquema (nuevas herramientas/recursos): Alterna el servidor MCP de apagado a encendido en la configuración de Claude Desktop
- Ve a Configuración de Claude Desktop → Funciones → Protocolo de Contexto de Modelo
- Alterna tu servidor a apagado y luego a encendido
- No se necesita reinicio - ¡solo el alternador!
- Cambios de configuración: Reinicia Claude Desktop solo si modificas el archivo de configuración directamente
Consejo profesional: Para la mejor experiencia de desarrollo, primero haz cambios de código y luego cambios de esquema. ¡Claude Desktop recogerá las llamadas a herramientas del código recargado más reciente incluso después de las actualizaciones de esquema!
Configuración manual: También puedes actualizar tu configuración manualmente:
Claude Code (~/.claude_code_config):
{
"mcpServers": {
"my-server": {
"command": "mcpmon",
"args": ["node", "server.js"],
"env": {
"API_KEY": "your-key"
}
}
}
}
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"my-server": {
"command": "/Users/username/.nvm/versions/node/v22.15.0/bin/node",
"args": ["/usr/local/bin/mcpmon", "python", "server.py"],
"env": {
"PYTHONPATH": "/path/to/your/modules"
}
}
}
}
Nota: El comando de configuración detecta automáticamente tu versión más reciente de Node.js y la ruta de mcpmon. Lo anterior muestra cómo se ve la configuración generada: ¡rara vez necesitas escribir esto manualmente!
Configuración
mcpmon funciona de fábrica con cero configuración. Detecta automáticamente tu archivo de servidor y comienza a vigilar los cambios.
Para vigilar archivos adicionales:
# Watch multiple files
MCPMON_WATCH="server.js,config.json" mcpmon node server.js
¡Eso es todo! mcpmon está diseñado para funcionar con cero configuración.
Variables de entorno
MCPMON_WATCH- Sobrescribe archivos/directorios a vigilar (separados por comas)MCPMON_DELAY- Retraso de reinicio en milisegundos (predeterminado: 1000)MCPMON_VERBOSE- Habilita el registro detallado
Cómo funciona
mcpmon actúa como un proxy transparente entre tu cliente MCP y el servidor, proporcionando capacidades automáticas de recarga en caliente:
sequenceDiagram
participant Client as MCP Client
participant mcpmon
participant Server as MCP Server
Client->>mcpmon: Request
mcpmon->>Server: Request
Server->>mcpmon: Response
mcpmon->>Client: Response
Server->>Server: File changed
Note right of Server: Auto restart
Client->>mcpmon: Request
mcpmon->>Server: Request
Server->>mcpmon: Response
mcpmon->>Client: Response
La magia: Tu cliente MCP permanece conectado mientras tu servidor se recarga. ¡No es necesario reconectar Claude Code ni reiniciar MCP Inspector!
| Característica | Sin mcpmon | Con mcpmon |
|---|---|---|
| Cambios de archivo | Reinicio manual requerido | Reinicio automático |
| Conexión del cliente | Debe reconectarse | Permanece conectado |
| Mensajes perdidos | Posible | Nunca (almacenados en búfer) |
| Complejidad de configuración | Cambios manuales de configuración | Solo agrega mcpmon |
¿Necesitas ayuda?
Habilita el registro detallado para ver lo que está sucediendo:
MCPMON_VERBOSE=1 mcpmon node server.js
Problemas comunes:
- ¿"ReadableStream is not defined"? mcpmon requiere Node.js 16+. Usa
mcpmon setuppara detectar automáticamente versiones modernas de Node.js - ¿El servidor no arranca? Revisa los mensajes de error para ver las dependencias faltantes
- ¿Sin recarga en caliente? Verifica que tu archivo de servidor se esté detectando en los registros
- ¿Los cambios de esquema no son visibles? Alterna tu servidor MCP de apagado a encendido en la configuración de Claude Desktop
- ¿Necesitas ayuda? Consulta nuestra Guía de solución de problemas
Desarrollo
# Run tests (includes clean and build)
npm test
# Development mode
npm run dev
Consulta la Guía de contribución para más detalles.
Instalación
Requisitos: Node.js 16+ (detectado automáticamente por el comando de configuración)
# Install globally (recommended)
npm install -g mcpmon
# Or use without installing
npx mcpmon node server.js
Contribución
¡Agradecemos las contribuciones! Consulta la Guía de contribución para más detalles.
Documentación
- Documentación de API - Uso de la biblioteca y características avanzadas
- Guía de arquitectura - Cómo funciona mcpmon internamente
- Guía de pruebas - Arquitectura y patrones de prueba
- Guía de solución de problemas - Problemas comunes y soluciones
- Guía de contribución - Cómo contribuir
- Registro de cambios - Historial de versiones y cambios
Licencia
Licencia MIT - consulta el archivo LICENCIA para más detalles.
¿Te gusta nodemon? Te encantará mcpmon. Recarga en caliente simple, rápida y confiable para el desarrollo de MCP.