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
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ística | cron-scheduler-mcp | mcp-cron |
|---|---|---|
| Licencia | MIT | AGPL-3.0 |
| Almacenamiento | SQLite (persistente) | En memoria |
| Lógica de reintentos | Reintentos configurables con retroceso | Ninguno |
| Observabilidad | Tasa de éxito, duración media, tendencias de error | Ninguno |
| Integración con systemd | Sí | No |
| Disparadores webhook | Sí | No |
| Número de herramientas | 10 | 3 |
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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
enabled | boolean | No | Filtrar por estado habilitado/deshabilitado |
limit | number | No | Má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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name | string | Sí | Nombre legible del trabajo (1-128 caracteres) |
schedule | string | Sí | Expresión cron o intervalo (ver Formatos de horario más abajo) |
command | string | Sí | Comando de shell a ejecutar |
enabled | boolean | No | Si el trabajo está habilitado (por defecto: true) |
retryCount | number | No | Reintentos en caso de fallo, 0-10 (por defecto: 0) |
retryDelayMs | number | No | Retraso entre reintentos en ms, 0-60000 (por defecto: 1000) |
timeoutMs | number | No | Tiempo 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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
jobId | UUID | Sí | ID del trabajo a eliminar |
run_now
Ejecuta un trabajo inmediatamente, omitiendo su horario. Útil para pruebas o disparadores manuales.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
jobId | UUID | Sí | ID 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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
jobId | UUID | Sí | ID 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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
jobId | UUID | Sí | ID del trabajo |
limit | number | No | Má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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
jobId | UUID | Sí | ID del trabajo a pausar/reanudar |
enabled | boolean | Sí | true para reanudar, false para pausar |
Formatos de Horario
- Expresiones cron: Formato estándar de 5 campos
*/5 * * * *— cada 5 minutos0 9 * * 1-5— días laborables a las 9am30 2 * * 0— domingos a las 2:30am
- Intervalos: Cadenas de duración simples
30s— cada 30 segundos5m— cada 5 minutos1h— 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 Entorno | Valor por Defecto | Descripción |
|---|---|---|
CRON_SCHEDULER_DB | cron-scheduler.db | Ruta 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:
- Pruebas de Servidores MCP — estrategias de prueba para servidores MCP
- Lo que 6,000 Descargas de npm Me Enseñaron — datos de distribución y crecimiento
- El Manual de Nombres para Servidores MCP — cómo el nombre afecta la descubribilidad
Licencia
MIT