Process Manager MCP
Gerencie processos bash de longa duração e persista seus logs.
Documentação
PM-MCP (Process Manager MCP)
Um servidor Model Context Protocol (MCP) que permite ao Claude e outros LLMs gerenciar processos bash de longa duração. Perfeito para gerenciar servidores de desenvolvimento, processos de build e outras tarefas em segundo plano durante sessões de desenvolvimento.
Recursos
- Iniciar Processos: Execute comandos bash de longa duração com nomes e descrições
- Gerenciamento de Processos: Encerre processos individuais ou todos os processos de uma vez
- Gerenciamento de Logs: Capture, recupere e pesquise logs de stdout/stderr
- Interação com Processos: Envie entrada para processos em execução
- Detecção de Falhas: Relato imediato de erros para processos que falham ao iniciar
- Ferramenta CLI: Interface de linha de comando independente para gerenciamento de processos
- Registro Persistente: Todos os logs de processos são salvos em disco para recuperação posterior
Instalação
npm install -g pm-mcp
Uso
Como Servidor MCP
Configure seu cliente MCP para usar este servidor:
{
"mcpServers": {
"pm-mcp": {
"command": "npx",
"args": ["pm-mcp"]
}
}
}
Ferramentas MCP Disponíveis
-
start_process - Iniciar um novo processo
name(obrigatório): Nome do processo para identificaçãocommand(obrigatório): Comando bash a ser executadodescription(opcional): Descrição do processocwd(opcional): Diretório de trabalho
-
terminate_process - Parar um processo específico
id(obrigatório): ID do processo a ser encerrado
-
terminate_all_processes - Parar todos os processos gerenciados
-
list_processes - Listar todos os processos
id(opcional): Obter informações de um processo específico
-
get_logs - Recuperar logs do processo
id(obrigatório): ID do processolines(opcional): Número de linhas recentes
-
grep_logs - Pesquisar logs do processo
id(obrigatório): ID do processopattern(obrigatório): Padrão de pesquisa regex
-
send_input - Enviar entrada para o processo em execução
id(obrigatório): ID do processoinput(obrigatório): String de entrada a ser enviada
Ferramenta 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
Exemplo de Uso com 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.
Arquivos de Log
Os logs dos processos são armazenados no diretório ./pm-mcp-logs/ com o formato <process-id>.log. Cada entrada de log inclui:
- Carimbo de data/hora
- Tipo de fluxo (stdout/stderr)
- Conteúdo do log
Desenvolvimento
# 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
Arquitetura
- ProcessManager: Classe principal que gerencia o ciclo de vida do processo, registro e gerenciamento
- Servidor MCP: Expõe a funcionalidade de gerenciamento de processos via protocolo MCP
- Ferramenta CLI: Interface independente para gerenciamento direto de processos
- Registro: Registro persistente baseado em arquivos com rastreamento de carimbo de data/hora e tipo de fluxo