WatchFor
WatchFor — uptime & infrastructure monitoring for AI agents.
Что умеет
- Get Summary: One-call organization snapshot: monitor status counts (up/down/paused/unknown + health score), active incident counts and open maintenance windows. Start here for 'how is my infrastructur
- Get Incident Stats: Aggregate incident statistics over a period: totals by severity, MTTR (mean time to resolve), MTBF and the five most unstable monitors.
- Get Plan: Current subscription plan with limits (-1 = unlimited, 0 = feature off) and live usage counts.
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
WatchFor — uptime & infrastructure monitoring for AI agents. Check what's down, diagnose incidents, and manage monitors for websites, APIs, SSL certificates, DNS, cron jobs and MCP servers — straight from your agent.
37 tools over the WatchFor monitoring platform:
- 📊 Status & health —
get_summaryanswers "is everything up?" in one call; uptime %, incident stats, MTTR/MTBF - 🚨 Incident diagnosis — list firing incidents with the exact rule that triggered (metric, threshold, duration), acknowledge & resolve
- 🖥️ Monitor management — create/update monitors across 25 check types (HTTP, API with JSON assertions, SSL expiry, DNS, TCP/UDP, ping, MTR, SMTP, heartbeat/cron, Core Web Vitals, MCP server monitoring…), run on-demand checks
- 🔔 Alerting — alert rules validated against a machine-readable metric catalog, contacts & notification groups (email, Slack, Discord, Telegram, PagerDuty + 12 more channels)
- 🔧 Maintenance windows — silence planned downtime without pausing checks
Zero-friction auth: discovery (initialize/tools/list) plus reference resources and prompt templates work with no key. Tool calls use OAuth 2.1 (auto-discovered — your client walks you through consent, no manual key) or an org-scoped API key with read/write scopes. Free plan available, no credit card.
Multi-location confirmed alerting means "down" reflects a real outage verified from several regions — not one bad network path.
Docs: watchfor.io/docs/api/mcp · Quickstart: watchfor.io/agents.md
Список инструментов сервера (37)
Технические названия из tools/list. Нужны только разработчикам.
| get_summary | One-call organization snapshot: monitor status counts (up/down/paused/unknown + health score), active incident counts and open maintenance windows. Start here for 'how is my infrastructure right now?'. |
| get_incident_stats | Aggregate incident statistics over a period: totals by severity, MTTR (mean time to resolve), MTBF and the five most unstable monitors. |
| get_plan | Current subscription plan with limits (-1 = unlimited, 0 = feature off) and live usage counts. |
| list_monitors | List monitors (cursor-paginated, slim items: id/name/type/target/status/tags — use get_monitor for full detail). Filter by type, status, tag, or search by name/target with q. |
| get_monitor | Get one monitor by id — includes config and available_metrics (the alert metrics valid for its type). |
| get_monitor_types | Discovery catalog of all 25 monitor types: target format, default alert rules, per-type alert metrics (exact `metric` strings, operators, value types) and config fields. Consult this BEFORE creating monitors or alert rules. |
| create_monitor | Create a monitor (write scope). Location ids come from list_locations; check get_monitor_types for the target format and config fields of the chosen type. Interval is seconds and is validated against the plan's per-type minimum. |
| update_monitor | Update monitor fields (write scope). Send only what changes. In config, a key set to null is removed; omitted alerting-owned keys are preserved. |
| set_monitor_paused | Pause or resume a monitor (write scope). Idempotent. |
| delete_monitor | Permanently delete a monitor (write scope). Removes its scheduler job, alert rules and open incidents. This cannot be undone — confirm with the user before calling unless they explicitly asked for deletion. |
| run_check_now | Dispatch an immediate on-demand check for a monitor (write scope, plan-limited per hour). The result lands in get_monitor_checks within ~a minute. |
| get_monitor_uptime | Uptime percentage and check totals for a monitor over a period (scheduled maintenance excluded). |
| get_monitor_checks | Recent check results for a monitor (status, latency, per-location performance). Pass success=false to fetch only FAILED checks — one-call failure forensics. hours widens the window (up to 720). |
| list_locations | Probe locations available for monitors — use these ids in create_monitor's locations array. |
| list_alert_rules | List a monitor's alert rules (system defaults + custom). Rules define when incidents fire. |
| create_alert_rule | Create an alert rule on a monitor (write scope). `metric` must come from the monitor type's alert metrics (see get_monitor_types or get_monitor.available_metrics); value is always a string. At most one rule per metric per severity — a duplicate returns the existing rule's id, PATCH via the REST API instead. |
| update_alert_rule | Update an alert rule (write scope) — fix a noisy threshold, change severity, or enable/disable. Send only the fields that change; metric/operator/value are validated against the monitor type's catalog. |
| delete_alert_rule | Delete a custom alert rule (write scope). System default rules cannot be deleted (403) — disable them with update_alert_rule enabled=false instead. |
| list_contacts | Alert recipients (people) with their group memberships — answers 'who gets notified?'. Cursor-paginated. |
| get_contact | One contact's detail: name, email, phone, group memberships. |
| create_contact | Create an alert recipient (write scope). Optionally place them straight into notification groups (ids from list_contact_groups). Duplicate email (case-insensitive) returns the existing-contact conflict. |
| update_contact | Update a contact (write scope). Send only what changes; group_ids replaces ALL memberships ([] removes from every group, omitted keeps them). |
| delete_contact | Delete a contact (write scope) — removes them from all notification groups. Irreversible; confirm with the user unless they explicitly asked. |
| list_contact_groups | Notification groups (contact groups) — where alerts are delivered. Use these ids to answer 'where do alerts for this monitor go?' (monitor config's notificationGroupIds) or when wiring alert rules to a specific audience. |
| get_contact_group | One notification group's detail INCLUDING its member list (who exactly gets paged). |
| create_contact_group | Create a notification group (write scope), optionally with initial members (contact ids from list_contacts). |
| update_contact_group | Update a notification group (write scope). contact_ids replaces the FULL member list ([] empties the group, omitted keeps it). |
| delete_contact_group | Delete a notification group (write scope). The org's default group cannot be deleted (conflict). Monitors routed to it stop notifying through it — confirm with the user first. |
| list_incidents | List incidents newest first (cursor-paginated). Filter by status (firing/acknowledged/resolved), severity, a single monitor (monitor_id) and a started_at time range (since/until). Each incident carries the rule that fired (name/metric/operator/value) and duration_seconds. |
| get_incident | Full detail of one incident: what fired, trigger values, confirmations, timeline. |
| acknowledge_incident | Acknowledge a firing incident (write scope) — pauses repeat notifications while someone investigates. |
| resolve_incident | Manually resolve an incident (write scope). Accepted asynchronously — the alerting engine's failure state is reset; if the underlying problem persists the incident will re-fire. |
| list_notifications | Alerting delivery history — every notification attempt with channel, delivery status (sent/failed/silenced), severity, incident and monitor. Answers 'did the Slack alert actually go out?' and 'which deliveries are failing?'. Filter by status/channel_type/monitor_id/incident_id/time. |
| list_activity | The organization's audit trail — who changed what and when (monitors, alert rules, contacts, maintenance, channels; dashboard AND API actions). Great for correlating incidents with recent config changes. Filter by entity_type/entity_id or a time range. |
| list_maintenance_windows | List scheduled maintenance windows, most recent first. |
| create_maintenance_window | Schedule a maintenance window (write scope): alerts are suppressed and downtime excluded from uptime for the covered monitors during the window. Times are ISO 8601; duration in minutes. |
| delete_maintenance_window | Cancel a maintenance window (write scope) — removes future occurrences and lifts any active silences. Use when a window was scheduled with a wrong time or is no longer needed. |