Cron Scheduler MCP Server

7 herramientas para la programación de tareas cron de agentes de IA con persistencia en SQLite, lógica de reintento y observabilidad estructurada. Licencia MIT.

Documentación

Servidor MCP de Cron Scheduler

npm version npm downloads MCP Claude Desktop License: MIT Tests

Servidor MCP para la programación de tareas cron con persistencia SQLite, lógica de reintentos y observabilidad estructurada. Permite que los agentes de IA creen, gestionen y monitoricen tareas programadas a través de una interfaz de herramientas limpia.

Por Qué Existe

La mayoría de las bibliotecas cron están diseñadas para que las aplicaciones las integren. Este servidor expone la programación cron como una herramienta MCP: los agentes pueden programar trabajos, monitorizar la ejecución, reintentar fallos y consultar registros sin tocar el sistema de archivos ni el crontab directamente.

Servidor complementario: System Monitoring MCP para métricas de salud del host. Juntos ofrecen a los agentes observabilidad y control total de la infraestructura.

Por Qué Esto en Lugar de mcp-cron?

Característicacron-scheduler-mcpmcp-cron
LicenciaMITAGPL-3.0
AlmacenamientoSQLite (persistente)En memoria
Lógica de reintentosReintentos configurables con retrocesoNinguno
ObservabilidadTasa de éxito, duración media, tendencias de errorNinguno
Integración con systemdNo
Disparadores webhookNo
Número de herramientas103

mcp-cron es AGPL: adecuado para uso personal, pero problemático para agentes empresariales y despliegues comerciales. Este servidor usa MIT + persistencia SQLite + lógica de reintentos para cargas de trabajo de producción.

Características

  • 10 herramientas: list_jobs, create_job, update_job, delete_job, get_job, run_now, get_status, get_logs, list_executions, pause_resume
  • Persistencia SQLite — los trabajos sobreviven a reinicios del servidor
  • Lógica de reintentos — número de reintentos y retraso configurables con seguimiento de intentos
  • Registros estructurados — captura de stdout/stderr, duración, códigos de salida por ejecución
  • Observabilidad — tasa de éxito, duración media, historial de errores por trabajo
  • Disparadores webhook — ejecutan llamadas HTTP al completar un trabajo
  • Licencia MIT — apta para empresas, sin restricciones de copyleft

Inicio 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

Añade a tu configuración de MCP (.cursor/mcp.json o equivalente):

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

Herramientas

list_jobs

Lista todos los trabajos programados con estado, próxima ejecución y resultado de la última ejecución.

ParámetroTipoObligatorioDescripción
enabledbooleanNoFiltrar por estado habilitado/deshabilitado
limitnumberNoMáximo de trabajos a devolver (1-100)

Devuelve: Array de trabajos con id, nombre, horario, comando, estado habilitado, próxima ejecución, resultado de la última ejecución y estadísticas agregadas (tasa de éxito, total de ejecuciones, duración media).

create_job

Crea un nuevo trabajo cron con un horario y un comando de shell.

ParámetroTipoObligatorioDescripción
namestringNombre legible del trabajo (1-128 caracteres)
schedulestringExpresión cron o intervalo (ver Formatos de horario más abajo)
commandstringComando de shell a ejecutar
enabledbooleanNoSi el trabajo está habilitado (por defecto: true)
retryCountnumberNoReintentos en caso de fallo, 0-10 (por defecto: 0)
retryDelayMsnumberNoRetraso entre reintentos en ms, 0-60000 (por defecto: 1000)
timeoutMsnumberNoTiempo límite de ejecución en ms, 1000-3600000 (por defecto: 30000)

delete_job

Elimina un trabajo programado y todo su historial de ejecuciones.

ParámetroTipoObligatorioDescripción
jobIdUUIDID del trabajo a eliminar

run_now

Ejecuta un trabajo inmediatamente, omitiendo su horario. Útil para pruebas o disparadores manuales.

ParámetroTipoObligatorioDescripción
jobIdUUIDID del trabajo a ejecutar

Devuelve: Resultado de la ejecución con estado, código de salida, stdout/stderr (truncado a 2000 caracteres) y duración.

get_status

Obtiene el estado detallado del trabajo, incluyendo última ejecución, próxima ejecución, tasa de éxito, duración media e historial de errores recientes.

ParámetroTipoObligatorioDescripción
jobIdUUIDID del trabajo a consultar

Devuelve: Configuración completa del trabajo, próxima ejecución programada, si se está ejecutando actualmente, estadísticas agregadas y las últimas 10 ejecuciones con estado/código de salida/duración.

get_logs

Obtiene los registros de ejecución de un trabajo con stdout completo, stderr, duración y código de salida.

ParámetroTipoObligatorioDescripción
jobIdUUIDID del trabajo
limitnumberNoMáximo de ejecuciones a devolver (1-100, por defecto: 20)

pause_resume

Pausa o reanuda un trabajo sin eliminarlo. Los trabajos pausados conservan su horario pero no se ejecutan hasta que se reanuden.

ParámetroTipoObligatorioDescripción
jobIdUUIDID del trabajo a pausar/reanudar
enabledbooleantrue para reanudar, false para pausar

Formatos de Horario

  • Expresiones cron: Formato estándar de 5 campos
    • */5 * * * * — cada 5 minutos
    • 0 9 * * 1-5 — días laborables a las 9am
    • 30 2 * * 0 — domingos a las 2:30am
  • Intervalos: Cadenas de duración simples
    • 30s — cada 30 segundos
    • 5m — cada 5 minutos
    • 1h — cada hora

Casos de Uso

  • Automatización de infraestructura: programar comprobaciones de salud, rotación de registros, scripts de limpieza
  • Pipelines de datos: extracciones de datos periódicas, generación de informes, invalidación de caché
  • Flujos de trabajo de agentes: permitir que los agentes de IA programen sus propias tareas recurrentes (monitorización, copias de seguridad, notificaciones)
  • DevOps: despliegues programados, comprobaciones canary, verificación post-despliegue
  • Pruebas: pruebas de integración recurrentes, comprobaciones de humo, benchmarks de rendimiento

Configuración

Variable de EntornoValor por DefectoDescripción
CRON_SCHEDULER_DBcron-scheduler.dbRuta de la base de datos SQLite (relativa al CWD)

Almacenamiento

Todas las definiciones de trabajos y el historial de ejecuciones se almacenan en una base de datos SQLite. El archivo de base de datos persiste entre reinicios del servidor: los trabajos sobreviven a caídas y reinicios sin necesidad de recrearlos.

Publicaciones de Blog

Datos reales de la creación y operación de este servidor:

Licencia

MIT