silentwatch-mcp
silentwatch-mcp
모니터링이 놓치고 있는 cron 실패를 잡아내세요. 예약된 작업 상태(실행, 연체된 작업, 종료 코드 0을 반환하지만 유용한 출력이 없는 침묵 실패)를 Claude 또는 MCP 인식 에이전트에 표시하는 MCP 서버입니다. OpenClaw 스케줄러, 시스템 cron 및 systemd 타이머와 즉시 연동됩니다.
기능
예약된 작업을 실행하는 모든 팀은 최소한 다음 중 하나를 경험했을 것입니다:
침묵 실패(Silent failure) — 작업은 실행되어 종료 코드 0을 반환했지만 유용한 출력이 없는 경우(웹 검색 cron이 빈 결과를 반환하거나, 백업이 0바이트 파일을 생성하거나, 본문에
<no rows>가 포함된 요약 이메일이 발송되는 경우). 기존 모니터링은 녹색 체크 표시를 보지만, 데이터는 이미 깨진 상태입니다.알림 없는 연체(Overdue without alert) — 작업이 3일 동안 실행되지 않았지만 아무도 모니터링하지 않아 아무도 눈치채지 못한 경우
마지막 성공 드리프트(Last-success drift) — 작업이 매시간 실행되지만 최근 12번의 시도 중 한 번만 성공한 경우; 가장 최근 실행이 성공적이었기 때문에 모두가 정상이라고 가정함
감사 추적 공백(Audit-trail gap) — 규정 준수 확인을 위해 특정 작업이 마지막으로 완료된 시점을 알아야 하지만, 유일한 "로그"가 지난주에 로테이션된
journalctl출력뿐인 경우
silentwatch-mcp는 이러한 가시성을 AI 에이전트가 직접 쿼리할 수 있는 MCP 도구로 노출합니다. 메트릭 파이프라인, 별도의 대시보드, 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 bodyRelated MCP server: task-orchestrator
silentwatch-mcp를 사용하는 이유
기존 도구(Cronitor, Healthchecks.io, Datadog, Prometheus)가 수행하지 않는 세 가지 기능:
종료 코드가 아닌 침묵 실패 감지. 기존 cron 모니터링은
exit 0 = 성공이라고 가정합니다. 우리는 구성 가능한 규칙에 따라 출력을 확인합니다: 빈 출력, 과거 중앙값 대비 길이 이상, 종료 코드 0임에도 stdout에 포함된 오류 키워드, 실행 시간 이상. "성공적으로 실행"되었지만 유용한 결과를 반환하지 않은 작업은 몇 주 동안 숨어 있는 실패 모드입니다. 우리는 이를 잡아냅니다.MCP 네이티브, 통합 계층 없음. Claude Desktop, Cline, Continue, OpenClaw 에이전트 등 모든 MCP 인식 클라이언트가 직접 쿼리합니다. Grafana 플러그인, API 래퍼, 수동으로 파싱할 JSON이 필요 없습니다.
즉시 사용 가능한 다중 소스. OpenClaw 네이티브 JSONL 로그, 시스템 crontab(
/etc/crontab+/etc/cron.d/*+ 사용자별crontab -l), systemd 타이머(systemctl list-timers+journalctl) 등 네 가지 백엔드가 v0.3에 포함되어 있어 어떤 스케줄러를 사용하든silentwatch-mcp를 실행할 수 있습니다. 벤더 종속성이 없습니다.
Datadog은 과하고 "$0/월 오픈 소스 MCP"가 적절한 가격대인 SMB 셀프 호스팅 사용자를 위해 구축되었습니다. 하지만 침묵 실패 감지 기능은 엔터프라이즈 인프라에서도 동일하게 가치가 있습니다.
도구 인터페이스
서버는 다음 MCP 도구를 등록합니다(전체 사양은 SPEC.md 참조):
도구 | 기능 |
| 마지막 실행 요약과 함께 모든 알려진 cron 작업 나열 |
| 작업 하나에 대한 상세 상태: 마지막 실행, 마지막 성공, 기간 내 성공률 |
| 타이밍 + 상태 + 출력 스니펫을 포함한 최근 실행 기록 |
| 스케줄상 실행되어야 하지만 실행되지 않은 작업 |
| "성공"했지만 출력이 의심스러운 작업 |
| 작업 하나에 대한 최근 로그 출력 |
리소스:
cron://jobs— 모든 작업 목록(매니페스트)cron://job/{id}— 개별 작업 매니페스트 + 최근 실행 기록cron://run/{id}— 전체 출력을 포함한 개별 실행 인스턴스
프롬프트:
diagnose-overdue— 연체된 작업을 위한 진단 프롬프트 템플릿summarize-cron-health— cron 활동 + 이상 징후에 대한 일일 요약
퀵스타트
v0.3 베타 — 4개 백엔드 모두 탑재 + cron-schedule 파싱(croniter)을 통한 실제 연체 감지. Mock, OpenClaw JSONL, crontab 및 systemd 백엔드 모두 프로덕션 준비가 완료되었습니다. 74개 테스트 통과. v1.0은 현재 마무리 단계입니다: PyPI 릴리스 + GitHub Actions CI + MCP 레지스트리 제출.
설치
pip install silentwatch-mcp # not yet on PyPI; install from source for now:
pip install -e .Claude Desktop 구성
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) 또는 %APPDATA%\Claude\claude_desktop_config.json(Windows)에 추가하세요:
{
"mcpServers": {
"silentwatch": {
"command": "python",
"args": ["-m", "silentwatch_mcp"],
"env": {
"SILENTWATCH_BACKEND": "mock"
}
}
}
}백엔드(v0.3 기준 4개 모두 탑재):
SILENTWATCH_BACKEND=mock— 샘플 데이터 반환(개발용 기본값)SILENTWATCH_BACKEND=openclaw-jsonl— OpenClaw의 네이티브 cron 실행 JSONL 파일 파싱(SILENTWATCH_OPENCLAW_LOGS를 디렉토리로 설정, 기본값~/.openclaw/cron-runs/); 가장 풍부한 데이터 — 전체 실행 기록 + 침묵 실패 감지SILENTWATCH_BACKEND=crontab—/etc/crontab+/etc/cron.d/*+ 사용자 crontab(crontab -l) 파싱; 마지막 실행은/var/log/syslog또는/var/log/cron에서 추론(SILENTWATCH_SYSLOG로 재정의 가능)SILENTWATCH_BACKEND=systemd—systemctl list-timers --all --output=json+journalctl -u <unit>을 파싱하여 실행 기록 확인;OnCalendar=를 스케줄 필드로 가져옴
Mock이 아닌 모든 백엔드는 기본 도구가 없는 플랫폼/호스트에서 빈 결과를 우아하게 반환하므로, 환경 전반에 걸쳐 구성을 그대로 유지해도 안전합니다.
Claude Desktop 재시작
서버가 silentwatch로 등록됩니다. 테스트:
내 모든 cron 작업과 마지막 실행 상태를 보여줘.
로드맵
버전 | 범위 | 상태 |
v0.1 | 프로토콜 연결, mock 백엔드, 스텁 데이터로 등록된 6개 도구, 테스트 통과 | ✅ 완료 |
v0.2 | OpenClaw JSONL 백엔드 구현(실제 cron 실행 파싱, 잘못된 라인 처리, 침묵 실패 강화) | ✅ 완료 (2026-05-02) |
v0.3 | Crontab + systemd 백엔드; 실제 연체 감지를 위한 cron-schedule 파싱(croniter); 35개 신규 테스트 | ✅ 완료 (2026-05-02) |
v1.0 | 마무리: PyPI 릴리스, GitHub Actions CI, MCP 레지스트리 제출(Glama + PulseMCP), 침묵 실패 규칙 구성 정교화 | ⏳ 1단계 출시 목표 (5월 18일 주) |
v1.x | 추가 백엔드(Cowork 스케줄러, Claude Code 백그라운드 작업, 일반 JSON 구성), 알림용 웹훅 이미터 | ⏳ 2단계 이후 |
스택에 맞게 조정이 필요하신가요?
silentwatch-mcp는 4개의 백엔드(mock, OpenClaw JSONL, crontab, systemd)와 함께 제공됩니다. 스케줄러가 AWS EventBridge, GCP Cloud Scheduler, Hangfire, Sidekiq, Temporal, Apache Airflow, Prefect, Dagster 또는 사용자 지정 작업 러너 등 다른 도구이고 동일한 침묵 실패 감지 MCP 가시성이 필요한 경우, 맞춤형 MCP 빌드 서비스를 이용하실 수 있습니다.
티어 | 범위 | 투자 비용 | 타임라인 |
Simple | API가 문서화된 기존 스케줄러용 단일 백엔드 어댑터(예: GCP Cloud Scheduler) | $8,000–$10,000 | 1–2주 |
Standard | 맞춤형 백엔드 + 맞춤형 침묵 실패 규칙 + 기존 알림 통합(PagerDuty, Slack 등) | $15,000–$20,000 | 2–4주 |
Complex | 다중 백엔드(지역/클러스터/테넌트 간 연합 cron) + RBAC + 감사 로그 통합 + 온콜 워크플로우 | $25,000–$35,000 | 4–8주 |
문의 방법:
admin@pixelette.tech로 이메일 제목을
Custom MCP Build inquiry로 설정하여 전송내용: 스케줄러 스택에 대한 1문단 설명 + 고려 중인 티어 포함
2영업일 이내에 30분 디스커버리 콜 일정 회신
이 서버는 제가 수행하는 프로덕션 AI 감사의 방법론인 **AI Production Discipline Framework**의 일부이기도 합니다.
프로덕션 AI 감사
프로덕션 AI를 운영 중이며 외부 전문가가 준비 상태를 평가하고, 이미 존재하는 실패 패턴을 찾아내며, 시정 조치 계획을 작성하기를 원하신다면 이 MCP가 지원하는 바로 그 작업입니다. 독립형 감사 서비스:
티어 | 범위 | 투자 비용 | 타임라인 |
Audit Lite | 단일 시스템, 상위 5개 발견 사항, 서면 보고서 | $1,500 | 1주 |
Audit Standard | 전체 감사, 14개 패턴 모두, 5 Cs 발견 사항, 90일 후속 조치 | $3,000 | 2–3주 |
Audit + Workshop | 표준 감사 + 2일 팀 워크숍 + 첫 번째 월간 감사 포함 | $7,500 | 3–4주 |
동일한 이메일 채널: admin@pixelette.tech, 제목 AI audit inquiry.
기여
PR을 환영합니다. 구조는 맞춤형 백엔드를 쉽게 추가할 수 있도록 의도적으로 평탄하게 설계되었습니다. 기존 예제는 src/silentwatch_mcp/backends/를 참조하세요.
새 백엔드를 추가하려면:
backends/<your_backend>.py에서CronBackend를 상속받으세요.list_jobs,get_job_runs,tail_logs를 구현하세요.backends/__init__.py에 등록하세요.tests/test_backend_<your_backend>.py에 테스트를 추가하세요.
버그 리포트 및 기능 요청: GitHub 이슈를 열어주세요.
라이선스
MIT — LICENSE 참조.
관련 자료
AI Production Discipline Framework — Notion 템플릿, $29
SPEC.md — 전체 서버 설계
Model Context Protocol — 프로토콜 개요
제작자: Temur Khan — 프로덕션 AI 시스템 독립 실무자. 연락처: 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