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

  1. start_process - Iniciar un nuevo proceso

    • name (obligatorio): Nombre del proceso para identificación
    • command (obligatorio): Comando bash a ejecutar
    • description (opcional): Descripción del proceso
    • cwd (opcional): Directorio de trabajo
  2. terminate_process - Detener un proceso específico

    • id (obligatorio): ID del proceso a terminar
  3. terminate_all_processes - Detener todos los procesos gestionados

  4. list_processes - Listar todos los procesos

    • id (opcional): Obtener información de un proceso específico
  5. get_logs - Recuperar registros de procesos

    • id (obligatorio): ID del proceso
    • lines (opcional): Número de líneas recientes
  6. grep_logs - Buscar en registros de procesos

    • id (obligatorio): ID del proceso
    • pattern (obligatorio): Patrón de búsqueda regex
  7. send_input - Enviar entrada al proceso en ejecución

    • id (obligatorio): ID del proceso
    • input (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