Skip to main content
Glama
temurkhan13

silentwatch-mcp

silentwatch-mcp

Detecta los fallos de cron sobre los que tu monitorización guarda silencio. Un servidor MCP que muestra el estado de los trabajos programados (ejecuciones, trabajos retrasados y fallos silenciosos que terminan con código 0 pero no producen nada útil) a cualquier agente compatible con Claude o MCP. Funciona con programadores OpenClaw, cron del sistema y temporizadores de systemd desde el primer momento.

Estado: v0.3 beta Pruebas: 74 superadas Licencia: MIT MCP


Qué hace

Todo equipo que ejecuta trabajos programados se ha encontrado con al menos uno de estos problemas:

  • Fallo silencioso: el trabajo se ejecutó, devolvió el código de salida 0, pero no produjo resultados útiles (un cron de búsqueda web que devuelve resultados vacíos, una copia de seguridad que escribió un archivo de 0 bytes, un correo electrónico de resumen enviado con <no rows> en el cuerpo). La monitorización tradicional ve una marca de verificación verde; los datos están rotos de todos modos.

  • Retraso sin alerta: un trabajo dejó de ejecutarse durante 3 días; nadie se dio cuenta porque nadie estaba vigilando.

  • Desviación del último éxito: el trabajo se ejecuta cada hora pero solo tuvo éxito una vez en los últimos 12 intentos; todos asumen que está sano porque la ejecución más reciente fue verde.

  • Brecha en la pista de auditoría: necesitas saber cuándo se completó por última vez un trabajo específico para una verificación de cumplimiento, y el único "registro" es la salida de journalctl que rotó la semana pasada.

silentwatch-mcp expone esa visibilidad como herramientas MCP que tu agente de IA puede consultar directamente. Sin tuberías de métricas, sin paneles separados, sin suscripción SaaS.

> claude: which of my cron jobs have silent failures in the last 24 hours?
[MCP tool: find_silent_failures]
3 jobs flagged:
  • web-search-refresh — ran 12× successfully but output empty in 8 (66% silent fail rate)
  • daily-summary — ran 1× successfully (24× expected); output normal
  • audit-snapshot — last success 5 days ago, all subsequent runs returned exit 0 with empty body

Related MCP server: task-orchestrator

Por qué silentwatch-mcp

Tres cosas que las herramientas existentes (Cronitor, Healthchecks.io, Datadog, Prometheus) no hacen:

  1. Detectar fallos silenciosos, no solo códigos de salida. La monitorización de cron tradicional asume que exit 0 = éxito. Nosotros comprobamos la salida frente a reglas configurables: salida vacía, anomalía de longitud frente a la mediana histórica, palabras clave de error en stdout a pesar del exit 0, anomalía de duración. El trabajo que "se ejecutó con éxito" pero no devolvió nada útil es el modo de fallo que se oculta durante semanas. Nosotros lo detectamos.

  2. Nativo de MCP, sin capa de integración. Claude Desktop, Cline, Continue, agentes de OpenClaw: cualquier cliente compatible con MCP consulta directamente. Sin plugin de Grafana, sin envoltorio de API, sin JSON que analizar manualmente.

  3. Multifuente desde el primer momento. Registros JSONL nativos de OpenClaw, crontab del sistema (/etc/crontab + /etc/cron.d/* + crontab -l por usuario) y temporizadores de systemd (systemctl list-timers + journalctl): los cuatro backends se incluyen en la v0.3, por lo que puedes ejecutar silentwatch-mcp contra cualquier programador que tengas. Sin dependencia de proveedores.

Creado para el autohospedador de PYMES que ejecuta un VPS de 40$ donde Datadog es excesivo y un "MCP de código abierto de 0$/mes" es el punto de precio adecuado, pero la detección de fallos silenciosos es igual de valiosa en infraestructuras empresariales.


Superficie de herramientas

El servidor registra estas herramientas MCP (especificación completa en SPEC.md):

Herramienta

Qué hace

list_jobs

Enumera todos los trabajos cron conocidos con un resumen de la última ejecución

get_job_status(job_id)

Estado detallado de un trabajo: última ejecución, último éxito, tasa de éxito en el periodo

get_job_runs(job_id, limit)

Historial de ejecuciones recientes con tiempo + estado + fragmento de salida

find_overdue_jobs

Trabajos cuyo horario indica que deberían haberse ejecutado pero no lo han hecho

find_silent_failures(window_hours)

Trabajos que se ejecutaron "con éxito" pero cuya salida parece sospechosa

tail_job_logs(job_id, lines)

Salida de registro reciente para un trabajo

Recursos:

  • cron://jobs — lista de todos los trabajos (manifiesto)

  • cron://job/{id} — manifiesto de trabajo individual + ejecuciones recientes

  • cron://run/{id} — instancia de ejecución individual con salida completa

Prompts:

  • diagnose-overdue — plantilla de prompt de diagnóstico para un trabajo retrasado

  • summarize-cron-health — resumen diario de la actividad de cron + anomalías


Inicio rápido

v0.3 beta — los 4 backends incluidos + detección real de retrasos mediante el análisis de cron-schedule (croniter). Los backends Mock, OpenClaw JSONL, crontab y systemd están listos para producción. 74 pruebas superadas. La v1.0 es ahora pulido: lanzamiento en PyPI + CI de GitHub Actions + envíos al registro MCP.

Instalación

pip install silentwatch-mcp  # not yet on PyPI; install from source for now:
pip install -e .

Configuración para Claude Desktop

Añadir a ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "silentwatch": {
      "command": "python",
      "args": ["-m", "silentwatch_mcp"],
      "env": {
        "SILENTWATCH_BACKEND": "mock"
      }
    }
  }
}

Backends (los cuatro incluidos desde la v0.3):

  • SILENTWATCH_BACKEND=mock — devuelve datos de muestra (predeterminado para desarrollo)

  • SILENTWATCH_BACKEND=openclaw-jsonl — analiza los archivos JSONL de ejecución de cron nativos de OpenClaw (establece SILENTWATCH_OPENCLAW_LOGS en el directorio, predeterminado ~/.openclaw/cron-runs/); datos más ricos: historial completo de ejecución + detección de fallos silenciosos

  • SILENTWATCH_BACKEND=crontab — analiza /etc/crontab + /etc/cron.d/* + crontabs de usuario (crontab -l); última ejecución inferida de /var/log/syslog o /var/log/cron (establece SILENTWATCH_SYSLOG para anular)

  • SILENTWATCH_BACKEND=systemd — analiza systemctl list-timers --all --output=json + journalctl -u <unit> para el historial de ejecución; eleva OnCalendar= al campo de programación

Todos los backends que no son mock devuelven resultados vacíos correctamente en plataformas/hosts donde la herramienta subyacente no está presente, por lo que la configuración es segura de dejar en su lugar en todos los entornos.

Reiniciar Claude Desktop

El servidor se registra como silentwatch. Prueba:

Muéstrame todos mis trabajos cron y su estado de última ejecución.


Hoja de ruta

Versión

Alcance

Estado

v0.1

Conexión de protocolo, backend mock, las 6 herramientas registradas con datos de prueba, pruebas superadas

✅ Completo

v0.2

Backend OpenClaw JSONL implementado (análisis real de ejecución de cron, manejo de líneas mal formadas, enriquecimiento de fallos silenciosos)

✅ Completo (2026-05-02)

v0.3

Backends Crontab + systemd; análisis de cron-schedule para detección real de retrasos (croniter); 35 nuevas pruebas

✅ Completo (2026-05-02)

v1.0

Pulido: lanzamiento en PyPI, CI de GitHub Actions, envíos al registro MCP (Glama + PulseMCP), configuración refinada de reglas de fallo silencioso

⏳ Objetivo de envío Fase 1 (S3, 18 de mayo)

v1.x

Backends adicionales (programador Cowork, tareas en segundo plano de Claude Code, configuración JSON genérica), emisor de webhooks para alertas

⏳ Fase 2+


¿Necesitas adaptar esto a tu stack?

silentwatch-mcp se envía con 4 backends (mock, OpenClaw JSONL, crontab, systemd). Si tu programador es otro (AWS EventBridge, GCP Cloud Scheduler, Hangfire, Sidekiq, Temporal, Apache Airflow, Prefect, Dagster o un ejecutor de trabajos personalizado) y quieres la misma superficie de visibilidad MCP de detección de fallos silenciosos para él, eso es un compromiso de Construcción MCP Personalizada.

Nivel

Alcance

Inversión

Cronograma

Simple

Adaptador de backend único para un programador existente con API documentada (ej. GCP Cloud Scheduler)

8.000$–10.000$

1–2 semanas

Estándar

Backend personalizado + reglas de fallo silencioso personalizadas + integración con tu alerta existente (PagerDuty, Slack, etc.)

15.000$–20.000$

2–4 semanas

Complejo

Multibackend (cron federado entre regiones / clústeres / inquilinos) + RBAC + integración de registro de auditoría + flujo de trabajo de guardia

25.000$–35.000$

4–8 semanas

Para contratar:

  1. Envía un correo a admin@pixelette.tech con el asunto Custom MCP Build inquiry

  2. Incluye: una descripción de 1 párrafo de tu stack de programador + qué nivel estás considerando

  3. Responderemos en 2 días hábiles con un espacio para una llamada de descubrimiento de 30 minutos

Este servidor también es parte del AI Production Discipline Framework, la metodología subyacente a las auditorías de IA de producción que realizo.


Auditorías de IA de producción

Si ejecutas IA de producción y quieres que un profesional externo evalúe la preparación, encuentre los patrones de fallo que ya están presentes y escriba el plan de acción correctiva, eso es para lo que este MCP está diseñado. El servicio de auditoría independiente:

Nivel

Alcance

Inversión

Cronograma

Audit Lite

Un sistema, 5 hallazgos principales, informe escrito

1.500$

1 semana

Audit Standard

Auditoría completa, los 14 patrones, 5 hallazgos Cs, seguimiento de 90 días

3.000$

2–3 semanas

Audit + Workshop

Auditoría estándar + taller de equipo de 2 días + primera auditoría mensual incluida

7.500$

3–4 semanas

Mismo canal de correo: admin@pixelette.tech con el asunto AI audit inquiry.


Contribuyendo

Las PR son bienvenidas. La estructura es intencionalmente plana para facilitar la adición de backends personalizados; consulta src/silentwatch_mcp/backends/ para ver ejemplos existentes.

Para añadir un nuevo backend:

  1. Crea una subclase de CronBackend en backends/<tu_backend>.py

  2. Implementa list_jobs, get_job_runs, tail_logs

  3. Regístralo en backends/__init__.py

  4. Añade pruebas en tests/test_backend_<tu_backend>.py

Informes de errores + solicitudes de funciones: abre un issue en GitHub.


Licencia

MIT — ver LICENSE.


Relacionado


Creado por Temur Khan — profesional independiente en sistemas de IA de producción. Contacto: admin@pixelette.tech

Available Tools

6 tools
find_overdue_jobsA

Returns jobs whose schedule indicates they should have run but haven't, beyond a grace window.

ParametersJSON Schema
NameRequiredDescriptionDefault
grace_minutesNoTolerance to avoid flagging jobs about to run (default 5)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the core behavior (returns overdue jobs) but does not mention whether the operation is read-only, performance implications, or pagination. Adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is efficient and front-loaded with the core purpose, no redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description is largely complete. It could clarify what 'schedule indicates' means or the output format, but overall it provides sufficient context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description adds value by explaining 'beyond a grace window' which directly connects to the grace_minutes parameter, providing context beyond the schema's technical description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns overdue jobs with a grace window, distinguishing it from siblings like find_silent_failures (different failure mode) and list_jobs (all jobs).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking missed jobs but lacks explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_silent_failuresC

Jobs that returned exit code 0 but output was flagged by silent-fail rules (empty output, length anomaly, error keywords, duration anomaly).

ParametersJSON Schema
NameRequiredDescriptionDefault
window_hoursNoLookback window in hours (default 24)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only lists detection criteria. It does not disclose behavioral traits like read-only nature, prerequisites, or potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence efficiently conveys purpose but lists multiple anomaly types in a somewhat dense manner. No wasted words, but readability could improve.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one optional parameter and no output schema, the description lacks details on return format, pagination, or usage context. Incomplete for a search/filter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear description for window_hours. The tool description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it finds jobs with exit code 0 flagged by silent-fail rules, using specific verb and resource. However, it does not differentiate from siblings like find_overdue_jobs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. The description implies usage for detecting silent failures but lacks when-not or alternative tool references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_job_runsA

Recent run history for a job (newest first) with timing, exit code, status, silent-fail indicators, output snippet.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob identifier
limitNoMax runs to return (default 20, max 500)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the full burden. It discloses ordering, data fields, and indicators (e.g., silent-fail), but does not mention side effects, rate limits, access requirements, or return format specifics. This is adequate but not thorough for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with all key information front-loaded (recent, newest first, data fields). No wasted words; every part adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so description should explain return structure. It lists fields but does not specify if results are an array, pagination behavior (beyond limit), or error handling. Adequate for a simple list but incomplete for comprehensive understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add meaningful information beyond the schema: 'job_id' and 'limit' are already described in the schema with default and max values. No additional context for parameter usage is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the resource ('run history for a job'), action ('get'), ordering ('newest first'), and included data fields ('timing, exit code, status, silent-fail indicators, output snippet'). It effectively distinguishes from sibling tools like get_job_status or tail_job_logs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like get_job_status or find_silent_failures. The description implies usage for recent runs but lacks when-not-to-use conditions or comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_job_statusA

Detailed status for one job: last run, last success, success rates over 24h + 7d, overdue state, silent-fail indicators on the last run.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob identifier from list_jobs

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; the description describes return fields but does not disclose any behavioral traits such as read-only nature, authentication needs, or cost. For a read-like tool, this is a notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description is a single concise sentence that front-loads the core purpose and lists specific details without any wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one parameter, no output schema), the description adequately covers return values. It could mention error handling or prerequisites, but is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage with 'job_id' documented. The description adds no further parameter information, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Detailed status for one job' and enumerates specific fields (last run, success rates, overdue state, silent-fail indicators), distinguishing it from siblings like find_overdue_jobs or get_job_runs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for obtaining a comprehensive snapshot of a single job's health, but does not explicitly state when to use this tool over alternatives or provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_jobsA

Enumerate all known cron jobs with last-run summary. Returns id, name, schedule, last run time + status, runs/successes in last 24h, silent-fail count, overdue flag.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite lacking annotations, the description transparently lists all returned fields, including last-run summary and overdue flags. This adequately discloses the read-only behavior and output structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose and output. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (no parameters, no output schema), the description covers its functionality and output comprehensively. It could mention it as a read-only operation, but the field list suffices.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, the description adds value by detailing the output fields, compensating for the absence of an output schema. It provides richer semantics than the empty input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool enumerates all known cron jobs with a last-run summary, specifying the returned fields (id, name, schedule, last run time + status, etc.). It distinguishes itself from sibling tools like find_overdue_jobs and find_silent_failures, which target specific subsets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While the description implies general-purpose enumeration, it does not explicitly state when to use this tool versus siblings like get_job_status or get_job_runs. No exclusion criteria or alternative recommendations are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tail_job_logsB

Most recent N log lines for a job (newest last).

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
linesNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Only states the result order and count, but omits read-only hint, error handling, or limitations like max lines.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Efficient but could include more contextual info without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple tool with 2 parameters and no output schema. Lacks details on behavior for edge cases and result format, but core purpose is clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. Description hints at 'lines' parameter ('N log lines') but does not explain 'job_id' or provide format/constraints for either parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Most recent N log lines'), resource ('a job'), and ordering ('newest last'). Distinguishes from siblings like get_job_status or list_jobs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs siblings. Does not mention exclusions or alternatives despite related tools (e.g., find_silent_failures, get_job_runs).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.3.0
    • First observedfind_overdue_jobs
    • First observedfind_silent_failures
    • First observedget_job_runs
    • First observedget_job_status
    • First observedlist_jobs
    • First observedtail_job_logs

TDQS

A3.8/5.0

Scored across 6 tools

Disambiguation5/5

Each tool addresses a distinct aspect of job monitoring: overdue detection, silent failure detection, run history, job status, job listing, and log tailing. No overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with underscores, using clear verbs like find, get, list, and tail. No mixing of conventions.

Tool Count5/5

Six tools cover the core functionality of a job monitoring server: listing, anomaly detection, status, logs. Neither too few nor too many for the scope.

Completeness5/5

The tool set provides complete coverage for monitoring cron jobs: discovery, anomaly detection (overdue and silent failures), status, history, and logs. No obvious gaps for a read-only monitoring use case.

Maintenance

ActivityStale
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for scheduling and executing Claude Code CLI tasks via cron expressions, featuring a web dashboard and webhook support. It enables users to dynamically create custom MCP servers, manage recurring AI jobs, and track execution history with token and cost analytics.
    24
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Server-enforced workflow discipline for AI agents. An MCP server providing persistent work items, dependency graphs, quality gates, and actor attribution. Schemas define what agents must produce — the server blocks the call if they don't. Works with any MCP-compatible client.
    207
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A hosted remote MCP server that lets your AI agent schedule tasks for later — reminders, delayed webhook callbacks, and recurring jobs. Read-only by design.
    1 npm
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    MCP server for OpenClaw that enables AI clients to control smart home devices, manage memory and cron jobs, and orchestrate multiple AI sub-agents.
    37
    52 npm
    Apache 2.0