silentwatch-mcp
silentwatch-mcp
Erkennen Sie die Cron-Fehler, bei denen Ihr Monitoring schweigt. Ein MCP-Server, der den Status geplanter Jobs – Ausführungen, überfällige Jobs und stille Fehler, die mit Exit-Code 0 beendet wurden, aber nichts Nützliches produzierten – für jeden Claude- oder MCP-fähigen Agenten sichtbar macht. Funktioniert sofort mit OpenClaw-Schedulern, System-Cron und Systemd-Timern.
Was er tut
Jedes Team, das geplante Jobs ausführt, ist schon einmal auf eines dieser Probleme gestoßen:
Stiller Fehler — der Job lief, gab den Exit-Code 0 zurück, produzierte aber keine nützliche Ausgabe (ein Web-Search-Cron, der leer zurückkehrt, ein Backup, das eine 0-Byte-Datei geschrieben hat, eine Digest-E-Mail, die mit
<no rows>im Textkörper versendet wurde). Traditionelles Monitoring sieht ein grünes Häkchen; die Daten sind trotzdem fehlerhaft.Überfällig ohne Alarm — ein Job wurde 3 Tage lang nicht ausgeführt; niemand hat es bemerkt, weil niemand darauf geachtet hat.
Drift beim letzten Erfolg — der Job läuft stündlich, war aber in den letzten 12 Versuchen nur einmal erfolgreich; jeder geht davon aus, dass er gesund ist, weil der letzte Lauf grün war.
Lücke im Audit-Trail — Sie müssen für eine Compliance-Prüfung wissen, wann ein bestimmter Job zuletzt abgeschlossen wurde, und das einzige "Log" ist eine
journalctl-Ausgabe, die letzte Woche rotiert wurde.
silentwatch-mcp macht diese Sichtbarkeit als MCP-Tools verfügbar, die Ihr KI-Agent direkt abfragen kann. Keine Metrics-Pipeline, kein separates Dashboard, kein SaaS-Abonnement.
> 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 bodyRelated MCP server: task-orchestrator
Warum silentwatch-mcp
Drei Dinge, die bestehende Tools (Cronitor, Healthchecks.io, Datadog, Prometheus) nicht tun:
Erkennung stiller Fehler, nicht nur von Exit-Codes. Traditionelles Cron-Monitoring geht davon aus, dass
exit 0 = Erfolgbedeutet. Wir prüfen die Ausgabe anhand konfigurierbarer Regeln: leere Ausgabe, Längenanomalie im Vergleich zum historischen Median, Fehler-Keywords in stdout trotz Exit 0, Daueranomalie. Der Job, der "erfolgreich lief", aber nichts Nützliches zurückgab – das ist der Fehlermodus, der sich wochenlang versteckt. Wir finden ihn.MCP-nativ, keine Integrationsschicht. Claude Desktop, Cline, Continue, OpenClaw-Agenten – jeder MCP-fähige Client fragt direkt ab. Kein Grafana-Plugin, kein API-Wrapper, kein manuell zu parsendes JSON.
Multi-Source direkt einsatzbereit. OpenClaw native JSONL-Logs, System-Crontab (
/etc/crontab+/etc/cron.d/*+ benutzerbezogenecrontab -l) und Systemd-Timer (systemctl list-timers+journalctl) – alle vier Backends sind in v0.3 enthalten, sodass Siesilentwatch-mcpmit jedem Scheduler ausführen können, den Sie haben. Kein Vendor-Lock-in.
Entwickelt für den SMB-Self-Hoster, der einen 40-$-VPS betreibt, bei dem Datadog übertrieben ist und ein "0-$/Monat Open-Source-MCP" der richtige Preispunkt ist – aber die Erkennung stiller Fehler ist auf Unternehmensinfrastruktur genauso wertvoll.
Tool-Oberfläche
Der Server registriert diese MCP-Tools (vollständige Spezifikation in SPEC.md):
Tool | Was es tut |
| Listet alle bekannten Cron-Jobs mit Zusammenfassung des letzten Laufs auf |
| Detaillierter Status für einen Job: letzter Lauf, letzter Erfolg, Erfolgsrate über einen Zeitraum |
| Letzte Laufhistorie mit Zeitangaben + Status + Ausgabe-Snippet |
| Jobs, deren Zeitplan besagt, dass sie hätten laufen sollen, es aber nicht getan haben |
| Jobs, die "erfolgreich" liefen, deren Ausgabe aber verdächtig aussieht |
| Letzte Log-Ausgabe für einen Job |
Ressourcen:
cron://jobs— Liste aller Jobs (Manifest)cron://job/{id}— Individuelles Job-Manifest + letzte Läufecron://run/{id}— Individuelle Laufinstanz mit vollständiger Ausgabe
Prompts:
diagnose-overdue— Diagnostische Prompt-Vorlage für einen überfälligen Jobsummarize-cron-health— Tägliche Zusammenfassung der Cron-Aktivität + Anomalien
Schnellstart
v0.3 beta — alle 4 Backends enthalten + echte Erkennung von Überfälligkeit durch Cron-Zeitplan-Parsing (croniter). Mock-, OpenClaw-JSONL-, Crontab- und Systemd-Backends sind alle produktionsbereit. 74 Tests bestanden. v1.0 ist jetzt Feinschliff: PyPI-Release + GitHub Actions CI + MCP-Registry-Einreichungen.
Installation
pip install silentwatch-mcp # not yet on PyPI; install from source for now:
pip install -e .Konfiguration für Claude Desktop
Hinzufügen zu ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"silentwatch": {
"command": "python",
"args": ["-m", "silentwatch_mcp"],
"env": {
"SILENTWATCH_BACKEND": "mock"
}
}
}
}Backends (alle vier seit v0.3 enthalten):
SILENTWATCH_BACKEND=mock— gibt Beispieldaten zurück (Standard für die Entwicklung)SILENTWATCH_BACKEND=openclaw-jsonl— parst die nativen Cron-Lauf-JSONL-Dateien von OpenClaw (setzen SieSILENTWATCH_OPENCLAW_LOGSauf das Verzeichnis, Standard~/.openclaw/cron-runs/); reichhaltigste Daten – vollständige Laufhistorie + Erkennung stiller FehlerSILENTWATCH_BACKEND=crontab— parst/etc/crontab+/etc/cron.d/*+ Benutzer-Crontabs (crontab -l); letzter Lauf abgeleitet aus/var/log/syslogoder/var/log/cron(setzen SieSILENTWATCH_SYSLOGzum Überschreiben)SILENTWATCH_BACKEND=systemd— parstsystemctl list-timers --all --output=json+journalctl -u <unit>für die Laufhistorie; übernimmtOnCalendar=in das Zeitplanfeld
Alle Nicht-Mock-Backends geben auf Plattformen/Hosts, auf denen die zugrunde liegenden Tools nicht vorhanden sind, anmutig leere Ergebnisse zurück, sodass die Konfiguration sicher in verschiedenen Umgebungen beibehalten werden kann.
Claude Desktop neu starten
Der Server registriert sich als silentwatch. Test:
Zeige mir alle meine Cron-Jobs und ihren Status beim letzten Lauf.
Roadmap
Version | Umfang | Status |
v0.1 | Protokoll-Verkabelung, Mock-Backend, alle 6 Tools mit Stub-Daten registriert, Tests bestanden | ✅ Abgeschlossen |
v0.2 | OpenClaw-JSONL-Backend implementiert (echtes Cron-Lauf-Parsing, Behandlung fehlerhafter Zeilen, Anreicherung stiller Fehler) | ✅ Abgeschlossen (02.05.2026) |
v0.3 | Crontab- + Systemd-Backends; Cron-Zeitplan-Parsing für echte Erkennung von Überfälligkeit (croniter); 35 neue Tests | ✅ Abgeschlossen (02.05.2026) |
v1.0 | Feinschliff: PyPI-Release, GitHub Actions CI, MCP-Registry-Einreichungen (Glama + PulseMCP), verfeinerte Konfiguration der Regeln für stille Fehler | ⏳ Phase 1 Ziel (W3, 18. Mai) |
v1.x | Zusätzliche Backends (Cowork-Scheduler, Claude Code Hintergrundaufgaben, generische JSON-Konfiguration), Webhook-Emitter für Alarme | ⏳ Phase 2+ |
Benötigen Sie eine Anpassung an Ihren Stack?
silentwatch-mcp wird mit 4 Backends geliefert (Mock, OpenClaw JSONL, Crontab, Systemd). Wenn Ihr Scheduler etwas anderes ist – AWS EventBridge, GCP Cloud Scheduler, Hangfire, Sidekiq, Temporal, Apache Airflow, Prefect, Dagster oder ein benutzerdefinierter Job-Runner – und Sie dieselbe MCP-Sichtbarkeit zur Erkennung stiller Fehler dafür wünschen, ist das ein Custom MCP Build-Engagement.
Stufe | Umfang | Investition | Zeitrahmen |
Einfach | Einzelner Backend-Adapter für einen bestehenden Scheduler mit dokumentierter API (z. B. GCP Cloud Scheduler) | 8.000–10.000 $ | 1–2 Wochen |
Standard | Benutzerdefiniertes Backend + benutzerdefinierte Regeln für stille Fehler + Integration in Ihre bestehende Alarmierung (PagerDuty, Slack usw.) | 15.000–20.000 $ | 2–4 Wochen |
Komplex | Multi-Backend (föderierter Cron über Regionen / Cluster / Mandanten) + RBAC + Audit-Log-Integration + On-Call-Workflow | 25.000–35.000 $ | 4–8 Wochen |
So beauftragen Sie uns:
E-Mail an admin@pixelette.tech mit dem Betreff
Custom MCP Build inquiryFügen Sie hinzu: eine einabsätzige Beschreibung Ihres Scheduler-Stacks + welche Stufe Sie in Betracht ziehen
Antwort innerhalb von 2 Werktagen mit einem 30-minütigen Discovery-Call-Slot
Dieser Server ist auch Teil des AI Production Discipline Framework – der Methodik, die den von mir durchgeführten KI-Produktionsaudits zugrunde liegt.
KI-Produktionsaudits
Wenn Sie KI in der Produktion betreiben und möchten, dass ein externer Praktiker die Bereitschaft bewertet, die bereits vorhandenen Fehlermuster findet und den Korrekturmaßnahmenplan schreibt – genau dafür ist dieses MCP konzipiert. Der eigenständige Audit-Service:
Stufe | Umfang | Investition | Zeitrahmen |
Audit Lite | Ein System, Top-5-Ergebnisse, schriftlicher Bericht | 1.500 $ | 1 Woche |
Audit Standard | Vollständiges Audit, alle 14 Muster, 5 Cs-Ergebnisse, 90-Tage-Follow-up | 3.000 $ | 2–3 Wochen |
Audit + Workshop | Standard-Audit + 2-tägiger Team-Workshop + erstes monatliches Audit inklusive | 7.500 $ | 3–4 Wochen |
Derselbe E-Mail-Kanal: admin@pixelette.tech mit dem Betreff AI audit inquiry.
Mitwirken
PRs willkommen. Die Struktur ist absichtlich flach gehalten, um das Hinzufügen benutzerdefinierter Backends zu erleichtern – siehe src/silentwatch_mcp/backends/ für bestehende Beispiele.
So fügen Sie ein neues Backend hinzu:
Unterklasse
CronBackendinbackends/<ihr_backend>.pyerstellenlist_jobs,get_job_runs,tail_logsimplementierenIn
backends/__init__.pyregistrierenTests in
tests/test_backend_<ihr_backend>.pyhinzufügen
Fehlerberichte + Funktionsanfragen: Öffnen Sie ein GitHub-Issue.
Lizenz
MIT — siehe LICENSE.
Verwandtes
AI Production Discipline Framework — Notion-Vorlage, 29 $
SPEC.md — vollständiges Server-Design
Model Context Protocol — Protokoll-Übersicht
Erstellt von Temur Khan — unabhängiger Praktiker für KI-Produktionssysteme. Kontakt: admin@pixelette.tech
Available Tools
6 toolsfind_overdue_jobsA
Returns jobs whose schedule indicates they should have run but haven't, beyond a grace window.
| Name | Required | Description | Default |
|---|---|---|---|
| grace_minutes | No | Tolerance to avoid flagging jobs about to run (default 5) |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| window_hours | No | Lookback window in hours (default 24) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job identifier | |
| limit | No | Max runs to return (default 20, max 500) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job identifier from list_jobs |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| lines | No |
TDQS
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.
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.
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.
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.
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.
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.
6 tool updates
v0.3.0- First observed
find_overdue_jobs - First observed
find_silent_failures - First observed
get_job_runs - First observed
get_job_status - First observed
list_jobs - First observed
tail_job_logs
TDQS
Scored across 6 tools
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.
All tool names follow a consistent verb_noun pattern with underscores, using clear verbs like find, get, list, and tail. No mixing of conventions.
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.
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
Related MCP Connectors
Monitoring that agents set up for themselves: cron jobs, CI/CD pipelines and AI agent runs.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn 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.24MIT
- AlicenseNot gradedqualityAmaintenanceServer-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.207MIT
- AlicenseNot gradedqualityDmaintenanceA 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 npmMIT

elvatis-mcpofficial
AlicenseBqualityAmaintenanceMCP server for OpenClaw that enables AI clients to control smart home devices, manage memory and cron jobs, and orchestrate multiple AI sub-agents.3752 npmApache 2.0