Connection check
verified live · 27h ago
watchpup
Free uptime monitoring: HTTP/TCP/TLS/DNS + MCP server checks, cron heartbeats, status pages, alerts.
Tools
12
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
27h ago
Tools & capabilities
12 toolsRead from the running server on 27h ago.
ack_incident
id*un
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). 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).
add_incident_note
id*note*
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. 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.
check_url
read-only
url*kind
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 s… 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.
create_monitor
urlkindnametargetinterval
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… 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.
delete_monitor
can modify data
id*
Permanently delete a monitor and all its check history, events and rollups. Cannot be undone. Permanently delete a monitor and all its check history, events and rollups. Cannot be undone.
get_account
read-only
Who am I: account email, monitor count/limit, plan limits. Good first call to verify the API key works. Who am I: account email, monitor count/limit, plan limits. Good first call to verify the API key works.
get_monitor
read-only
id*
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. 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.
get_status_page
read-only
slug*
Machine-readable state of any public Watchpup status page by slug: per-monitor status, uptime, incidents last 30d. No API key needed. Machine-readable state of any public Watchpup status page by slug: per-monitor status, uptime, incidents last 30d. No API key needed.
list_channels
read-only
Alert delivery channels on the account (email / webhook / Discord / Slack / ntfy / Telegram), their verification state and delivery health. Alert delivery channels on the account (email / webhook / Discord / Slack / ntfy / Telegram), their verification state and delivery health.
list_incidents
read-only
days
Downtime incidents (ongoing and resolved) across all monitors: start, duration, cause, acknowledgement, notes. Downtime incidents (ongoing and resolved) across all monitors: start, duration, cause, acknowledgement, notes.
list_monitors
read-only
tag
List all monitors on the account: current up/down status, kind, target, interval, last check. Optionally filter by tag. List all monitors on the account: current up/down status, kind, target, interval, last check. Optionally filter by tag.
update_monitor
id*status