Cron Scheduler MCP Server

7 ferramentas para agendamento de tarefas cron de agente de IA com persistência SQLite, lógica de repetição e observabilidade estruturada. Licença MIT.

Documentação

Cron Scheduler MCP Server

npm version npm downloads MCP Claude Desktop License: MIT Tests

Servidor MCP para agendamento de tarefas cron com persistência SQLite, lógica de repetição e observabilidade estruturada. Permite que agentes de IA criem, gerenciem e monitorem tarefas agendadas por meio de uma interface de ferramentas limpa.

Por Que Isso Existe

A maioria das bibliotecas cron é projetada para ser incorporada em aplicações. Este servidor expõe o agendamento cron como uma ferramenta MCP — os agentes podem agendar tarefas, monitorar a execução, repetir falhas e consultar logs sem tocar diretamente no sistema de arquivos ou no crontab.

Servidor complementar: System Monitoring MCP para métricas de saúde do host. Juntos, eles oferecem aos agentes observabilidade e controle completos da infraestrutura.

Por Que Isso em Vez de mcp-cron?

Recursocron-scheduler-mcpmcp-cron
LicençaMITAGPL-3.0
ArmazenamentoSQLite (persistente)Em memória
Lógica de repetiçãoRepetições configuráveis com backoffNenhuma
ObservabilidadeTaxa de sucesso, duração média, tendências de erroNenhuma
Integração com systemdSimNão
Gatilhos de webhookSimNão
Número de ferramentas103

O mcp-cron é AGPL — adequado para uso pessoal, problemático para agentes empresariais e implantações comerciais. Este servidor usa MIT + persistência SQLite + lógica de repetição para cargas de trabalho de produção.

Recursos

  • 10 ferramentas: list_jobs, create_job, update_job, delete_job, get_job, run_now, get_status, get_logs, list_executions, pause_resume
  • Persistência SQLite — as tarefas sobrevivem a reinicializações do servidor
  • Lógica de repetição — contagem e atraso de repetição configuráveis com rastreamento de tentativas
  • Logs estruturados — captura de stdout/stderr, duração, códigos de saída por execução
  • Observabilidade — taxa de sucesso, duração média, histórico de erros por tarefa
  • Gatilhos de webhook — dispara callbacks HTTP na conclusão da tarefa
  • Licença MIT — amigável para empresas, sem restrições de copyleft

Início Rápido

npx @supernova123/cron-scheduler-mcp-server

Claude Desktop

{
  "mcpServers": {
    "cron-scheduler": {
      "command": "npx",
      "args": ["-y", "@supernova123/cron-scheduler-mcp-server"]
    }
  }
}

Cursor / VS Code

Adicione às suas configurações MCP (.cursor/mcp.json ou equivalente):

{
  "mcpServers": {
    "cron-scheduler": {
      "command": "npx",
      "args": ["-y", "@supernova123/cron-scheduler-mcp-server"]
    }
  }
}

Ferramentas

list_jobs

Lista todas as tarefas agendadas com status, próximo horário de execução e resultado da última execução.

ParâmetroTipoObrigatórioDescrição
enabledbooleanNãoFiltrar por status ativado/desativado
limitnumberNãoMáximo de tarefas a retornar (1-100)

Retorna: Array de tarefas com id, nome, agendamento, comando, status de ativação, próximo horário de execução, resultado da última execução e estatísticas agregadas (taxa de sucesso, total de execuções, duração média).

create_job

Cria uma nova tarefa cron com um agendamento e um comando shell.

ParâmetroTipoObrigatórioDescrição
namestringSimNome legível da tarefa (1-128 caracteres)
schedulestringSimExpressão cron ou intervalo (veja Formatos de Agendamento abaixo)
commandstringSimComando shell a ser executado
enabledbooleanNãoSe a tarefa está ativada (padrão: true)
retryCountnumberNãoRepetições em caso de falha, 0-10 (padrão: 0)
retryDelayMsnumberNãoAtraso entre repetições em ms, 0-60000 (padrão: 1000)
timeoutMsnumberNãoTempo limite de execução em ms, 1000-3600000 (padrão: 30000)

delete_job

Remove uma tarefa agendada e todo o seu histórico de execuções.

ParâmetroTipoObrigatórioDescrição
jobIdUUIDSimID da tarefa a ser excluída

run_now

Executa uma tarefa imediatamente, ignorando seu agendamento. Útil para testes ou acionamentos manuais.

ParâmetroTipoObrigatórioDescrição
jobIdUUIDSimID da tarefa a ser executada

Retorna: Resultado da execução com status, código de saída, stdout/stderr (truncado em 2000 caracteres) e duração.

get_status

Obtém o status detalhado da tarefa, incluindo última execução, próxima execução, taxa de sucesso, duração média e histórico recente de erros.

ParâmetroTipoObrigatórioDescrição
jobIdUUIDSimID da tarefa a ser verificada

Retorna: Configuração completa da tarefa, próxima execução agendada, se está em execução no momento, estatísticas agregadas e as últimas 10 execuções com status/código de saída/duração.

get_logs

Obtém logs de execução de uma tarefa com stdout, stderr, duração e código de saída completos.

ParâmetroTipoObrigatórioDescrição
jobIdUUIDSimID da tarefa
limitnumberNãoMáximo de execuções a retornar (1-100, padrão: 20)

pause_resume

Pausa ou retoma uma tarefa sem excluí-la. Tarefas pausadas mantêm seu agendamento, mas não serão executadas até serem retomadas.

ParâmetroTipoObrigatórioDescrição
jobIdUUIDSimID da tarefa a pausar/retomar
enabledbooleanSimtrue para retomar, false para pausar

Formatos de Agendamento

  • Expressões cron: Formato padrão de 5 campos
    • */5 * * * * — a cada 5 minutos
    • 0 9 * * 1-5 — dias úteis às 9h
    • 30 2 * * 0 — domingos às 2h30
  • Intervalos: Strings simples de duração
    • 30s — a cada 30 segundos
    • 5m — a cada 5 minutos
    • 1h — a cada hora

Casos de Uso

  • Automação de infraestrutura: Agende verificações de saúde, rotação de logs, scripts de limpeza
  • Pipelines de dados: Coletas periódicas de dados, geração de relatórios, invalidação de cache
  • Fluxos de trabalho de agentes: Permita que agentes de IA agendem suas próprias tarefas recorrentes (monitoramento, backups, notificações)
  • DevOps: Implantações agendadas, verificações canary, verificação pós-implantação
  • Testes: Testes de integração recorrentes, verificações rápidas (smoke tests), benchmarks de desempenho

Configuração

Variável de AmbientePadrãoDescrição
CRON_SCHEDULER_DBcron-scheduler.dbCaminho do banco de dados SQLite (relativo ao diretório de trabalho atual)

Armazenamento

Todas as definições de tarefas e o histórico de execuções são armazenados em um banco de dados SQLite. O arquivo do banco de dados persiste entre reinicializações do servidor — as tarefas sobrevivem a falhas e reinicializações sem necessidade de recriação.

Postagens do Blog

Dados reais da construção e operação deste servidor:

Licença

MIT