Process Manager MCP
Gestiona procesos bash de larga duración y conserva sus registros.
Documentación
PM-MCP (Process Manager MCP)
Un servidor de Model Context Protocol (MCP) que permite a Claude y otros LLMs gestionar procesos bash de larga duración. Perfecto para gestionar servidores de desarrollo, procesos de compilación y otras tareas en segundo plano durante sesiones de desarrollo.
Características
- Iniciar Procesos: Lanzar comandos bash de larga duración con nombres y descripciones
- Gestión de Procesos: Terminar procesos individuales o todos los procesos a la vez
- Gestión de Registros: Capturar, recuperar y buscar en los registros de stdout/stderr
- Interacción con Procesos: Enviar entrada a procesos en ejecución
- Detección de Fallos: Informe de errores inmediato para procesos que no se inician correctamente
- Herramienta CLI: Interfaz de línea de comandos independiente para la gestión de procesos
- Registro Persistente: Todos los registros de procesos se guardan en disco para su posterior recuperación
Instalación
npm install -g pm-mcp
Uso
Como Servidor MCP
Configure su cliente MCP para usar este servidor:
{
"mcpServers": {
"pm-mcp": {
"command": "npx",
"args": ["pm-mcp"]
}
}
}
Herramientas MCP Disponibles
-
start_process - Iniciar un nuevo proceso
name(obligatorio): Nombre del proceso para identificacióncommand(obligatorio): Comando bash a ejecutardescription(opcional): Descripción del procesocwd(opcional): Directorio de trabajo
-
terminate_process - Detener un proceso específico
id(obligatorio): ID del proceso a terminar
-
terminate_all_processes - Detener todos los procesos gestionados
-
list_processes - Listar todos los procesos
id(opcional): Obtener información de un proceso específico
-
get_logs - Recuperar registros de procesos
id(obligatorio): ID del procesolines(opcional): Número de líneas recientes
-
grep_logs - Buscar en registros de procesos
id(obligatorio): ID del procesopattern(obligatorio): Patrón de búsqueda regex
-
send_input - Enviar entrada al proceso en ejecución
id(obligatorio): ID del procesoinput(obligatorio): Cadena de entrada a enviar
Herramienta CLI
# Start a process
npx pm-mcp cli start "dev-server" "npm run dev" --description "Development server"
# List all processes
npx pm-mcp cli list
# Get logs
npx pm-mcp cli logs <process-id>
# Search logs
npx pm-mcp cli grep <process-id> "error"
# Send input to process
npx pm-mcp cli input <process-id> "some input"
# Terminate process
npx pm-mcp cli terminate <process-id>
# Terminate all processes
npx pm-mcp cli terminate-all
Ejemplo de Uso con Claude
Claude: I'll start your development servers for you.
User: Start a React dev server on port 3000 and an API server on port 8080
Claude: I'll start both servers for you.
[Uses start_process tool]
- Name: "react-dev"
- Command: "npm run dev"
- Description: "React development server on port 3000"
[Uses start_process tool]
- Name: "api-server"
- Command: "npm run api:dev"
- Description: "API development server on port 8080"
Both servers are now running. You can check their logs or terminate them anytime.
User: Check if there are any errors in the React server
Claude: [Uses grep_logs tool with pattern "error"]
No errors found in the React server logs.
User: Send "q" to quit the API server
Claude: [Uses send_input tool]
Input "q" sent to the API server process.
Archivos de Registro
Los registros de procesos se almacenan en el directorio ./pm-mcp-logs/ con el formato <process-id>.log. Cada entrada de registro incluye:
- Marca de tiempo
- Tipo de flujo (stdout/stderr)
- Contenido del registro
Desarrollo
# Build the project
npm run build
# Watch mode for development
npm run dev
# Run the MCP server
npm start
# Use the CLI
npx pm-mcp cli --help
Arquitectura
- ProcessManager: Clase principal que gestiona el ciclo de vida, el registro y la administración de procesos
- Servidor MCP: Expone la funcionalidad de gestión de procesos mediante el protocolo MCP
- Herramienta CLI: Interfaz independiente para la gestión directa de procesos
- Registro: Registro persistente basado en archivos con seguimiento de marcas de tiempo y tipo de flujo