MCP 서버

Watchpup

dev.workers.watchpup.watchpup/watchpup

이 MCP로 할 수 있는 일

Monitors websites, network services, domains, DNS, TLS certificates, cron heartbeats and MCP endpoints, with incident tracking, status pages and alert routing.

ack_incident
Acknowledge an incident
Mark an ongoing incident as "someone is on it" — pauses still-down reminder alerts for that monitor until recovery. Set un=true to un-acknowledge (re-arms reminders).
입력 스키마
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'description': 'Incident id (from list_incidents)'}, 'un': {'type': 'boolean', 'description': 'true = remove an existing acknowledgement'}}}
add_incident_note
Add a postmortem note to an incident
Attach/replace a note (max 500 chars) on an incident. Notes publish with the incident on public status pages, their JSON and the Atom feed. Empty string clears.
입력 스키마
{'type': 'object', 'required': ['id', 'note'], 'properties': {'id': {'type': 'integer', 'description': 'Incident id (from list_incidents)'}, 'note': {'type': 'string', 'description': 'The note text ("" clears)'}}}
check_url
Instant URL check (no account needed)
Check any public URL RIGHT NOW: is it up, HTTP status, response time in ms. With kind:"mcp" it instead performs a real JSON-RPC initialize handshake against a streamable-HTTP MCP server endpoint and reports the server’s self-declared name/version/protocol — useful to tell "the MCP server is down" from "my client is misconfigured". Works without an API key (rate limit 30/hour per IP). For continuous monitoring with alerts, use create_monitor.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Public http(s) URL to check, e.g. https://example.com — for kind=mcp the MCP endpoint URL, e.g. https://mcp.deepwiki.com/mcp'}, 'kind': {'enum': ['http', 'mcp'], 'type': 'string', 'description': 'What to speak: plain HTTP (default) or an MCP initialize handshake'}}}
create_monitor
Create a monitor
Create a monitor. kind=http (needs url), tcp (target "host:port"), tls (target host[:port] — cert-expiry watch), domain (target — registration-expiry via RDAP), dns (target + rtype A/AAAA/MX/... , optional expect_value), heartbeat (dead-man’s switch for cron jobs/agent loops: needs name; response includes ping_url to curl from the job, and a ping_email address). Common options: name, interval (seconds, min 60), tags. http options: expect ("2xx,301"), keyword, keyword_absent:"absent", slow_ms (number or "auto"), method, headers, body, json_path/json_expect, header_name/header_expect. heartbeat options: grace (seconds), cron ("0 3 * * *") + tz, max_duration_s. Any other documented field (see /llms.txt) also works — extra properties are passed through.
입력 스키마
{'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'For kind=http: the URL to check'}, 'kind': {'enum': ['http', 'tcp', 'tls', 'domain', 'dns', 'heartbeat', 'mcp'], 'type': 'string', 'description': 'Monitor kind (default http; "mcp" monitors an MCP server via JSON-RPC initialize)'}, 'name': {'type': 'string', 'description': 'Display name (required for heartbeat, defaults to the target host otherwise)'}, 'target': {'type': 'string', 'description': 'For tcp/tls/domain/dns: host[:port] or domain name'}, 'interval': {'type': 'integer', 'description': 'Check interval in seconds, min 60 (heartbeat: expected ping interval)'}}, 'additionalProperties': True}
delete_monitor
Delete a monitor
Permanently delete a monitor and all its check history, events and rollups. Cannot be undone.
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Monitor id'}}}
get_account
Account overview
Who am I: account email, monitor count/limit, plan limits. Good first call to verify the API key works.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}}
get_monitor
Get one monitor
Full detail for one monitor: status, config, 24h latency percentiles and trend (http/tcp), SLA budget if a target is set. Heartbeat monitors include their ping_url and ping_email.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Monitor id (from list_monitors)'}}}
get_status_page
Read a public status page
Machine-readable state of any public Watchpup status page by slug: per-monitor status, uptime, incidents last 30d. No API key needed.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Status page slug (the part after /s/)'}}}
list_channels
List alert channels
Alert delivery channels on the account (email / webhook / Discord / Slack / ntfy / Telegram), their verification state and delivery health.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}}
list_incidents
List incidents
Downtime incidents (ongoing and resolved) across all monitors: start, duration, cause, acknowledgement, notes.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'days': {'type': 'integer', 'description': 'Lookback window in days, 1-90 (default 30)'}}}
list_monitors
List monitors
List all monitors on the account: current up/down status, kind, target, interval, last check. Optionally filter by tag.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'tag': {'type': 'string', 'description': 'Only monitors carrying ALL these tags (comma-separated), e.g. "prod" or "prod,eu"'}}}
update_monitor
Update / pause / resume a monitor
PATCH any monitor field: name, url, target, interval, expect, keyword, slow_ms, grace, cron, tags, sla_target, renotify, channels (alert routing)... Pause with {"status":"paused"}, resume with {"status":"new"}. Empty string clears optional fields.
입력 스키마
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Monitor id'}, 'status': {'enum': ['paused', 'new'], 'type': 'string', 'description': '"paused" stops checking; "new" resumes'}}, 'additionalProperties': True}
추가됨
get_account
2026년 9월 17일 12:39 PM
추가됨
get_status_page
2026년 9월 17일 12:39 PM
추가됨
list_channels
2026년 9월 17일 12:39 PM
추가됨
add_incident_note
2026년 9월 17일 12:39 PM
추가됨
ack_incident
2026년 9월 17일 12:39 PM
추가됨
list_incidents
2026년 9월 17일 12:39 PM
추가됨
delete_monitor
2026년 9월 17일 12:39 PM
추가됨
update_monitor
2026년 9월 17일 12:39 PM
추가됨
create_monitor
2026년 9월 17일 12:39 PM
추가됨
get_monitor
2026년 9월 17일 12:39 PM
추가됨
list_monitors
2026년 9월 17일 12:39 PM
추가됨
check_url
2026년 9월 17일 12:39 PM