Uptime and vulnerability monitoring: check sites, manage monitors, incidents and status pages.
Connect Remote server
claude mcp add --transport http upheron https://upheron.com/mcp --header "X-API-Key: <X_API_KEY>"
{
"mcpServers": {
"upheron": {
"url": "https://upheron.com/mcp",
"headers": {
"X-API-Key": "<X_API_KEY>"
}
}
}
}
{
"servers": {
"upheron": {
"type": "http",
"url": "https://upheron.com/mcp",
"headers": {
"X-API-Key": "<X_API_KEY>"
}
}
}
}
Settings > Connectors > Add custom connector
URL: https://upheron.com/mcp
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools 59 found in our last check
check_websiteChecks whether a public website responds right now, from the monitoring service, without an account. Returns status, HTTP code and timings. Free; limited to a few checks a minute.
get_accountPlan and its monitor slots (standard in plan_monitors, premium in premium_monitors with their kinds), and the workspace's time zone (workspace.time_zone), which report days follow. Call this first to know whether the plan has room for another monitor.
list_locationsLocation codes you can pass in a monitor's `locations`.
list_monitorsEvery monitor with its current status (pending, up, down, degraded), and interval. Free.
get_monitorOne monitor with uptime for 24 hours, 7 days and 30 days, its last 90 days, incident totals, its latest results with errors, recent incidents, and route traces from failing locations (Pro and Business: each hop's loss, round trips and jitter over every round). Free.
get_monitor_resultsA monitor's most recent check results, newest first. Older results may be merged: repeats checks with the same outcome up to last_checked_at. Free.
get_uptime_historyA monitor's daily uptime, kept for as long as it exists: checks, successful, failed and average response time per UTC day, oldest first. By default from the first check to today. Free.
get_sla_reportBusiness plans: availability against an SLA target for a range of days in the workspace's time zone (time_zone in get_account; by default this month), with the downtime budget used and left, incidents, MTTR, MTBF and the longest outage, per monitor (lowest availability first) an…
get_error_budgetsEvery monitor with an availability objective (slo_target over slo_window_days, set with update_monitor): its availability over the rolling window, the error budget in seconds, how much is used and left, the last hour's burn rate and whether it burns fast, least budget left first…
list_incidentsOutages, newest first, with their status (open, acknowledged, resolved). Free.
acknowledge_incidentMarks an open incident as being handled: its repeat alerts and escalation stop. Everyone alerted still hears when it recovers. Free.
list_escalation_policiesBusiness plans: escalation policies, whose id a monitor's escalation_policy_id takes, and their steps. Free.
list_on_call_schedulesBusiness plans: on-call schedules with who is on call now, until when, and who is next. Free.
get_incidentOne incident with its timeline (detected, acknowledged, comments, status page updates, recovered), root cause and post-mortem, and the status pages its updates go to with their subscriber counts. Free.
post_incident_updatePublishes an update on every published status page that shows the incident's monitor and in their RSS and Atom feeds, and on Pro plans emails those pages' subscribers. States: investigating, identified, monitoring, resolved. Write for the page's visitors. Free.
comment_on_incidentAdds a comment to the incident's timeline, seen only by the workspace (Pro plans). Use it to record what you found or did. Free.
open_incidentOpens an incident for what the checks cannot see: a slow service, a problem a customer reported. With a message it publishes the first update on the status pages that show its monitors (and emails their subscribers on Pro plans); alert pages the monitors' contacts once. It stays…
update_incidentChanges the title status pages show (public_title) or the root cause (Pro plans) of any incident, and the title, severity and monitors of one opened by hand. Fields left out keep their value. Free.
resolve_incidentResolves an incident opened with open_incident; the contacts it alerted hear so. A message is published as the last update on its status pages. Incidents opened by checks resolve with their checks. Free.
write_postmortemWrites a resolved incident's post-mortem: summary, impact, root cause and follow-ups (one per line), on Pro plans. It stays in the workspace until published: true shows it under the incident on the status pages that show it and in their feeds; false takes it off. Publish only wh…
list_status_pagesThe workspace's status pages: their address (/status/{slug}), the monitors they show with the names visitors see, and their named groups of monitors in order. Free.
update_status_page_componentsReplaces the monitors a status page shows, in order, each optionally in a named group ("API", "EU region"); a group sits where its first monitor is and shows their worst state. Every plan. Free.
create_on_call_scheduleBusiness plans: a rotation through notification contacts (list_notification_contacts), handing off daily or weekly at a time in a time zone. The first member is on call from now. Free.
update_on_call_scheduleBusiness plans. Fields left out keep their value; changing the members, rotation, handoff or time zone starts the rotation over. Free.
delete_on_call_scheduleDeletes a schedule no escalation policy uses. Free.
add_on_call_overrideBusiness plans: puts a contact on call in a schedule from starts_at to ends_at (up to 90 days), instead of the rotation. Overrides may not overlap. Free.
remove_on_call_overrideRemoves an override from a schedule (its id is in the schedule's overrides). Free.
create_escalation_policyBusiness plans: ordered steps, each alerting contacts and whoever is on call in schedules, then waiting for an acknowledgement before the next. Monitors use it with update_monitor's escalation_policy_id. Free.
update_escalation_policyBusiness plans. Fields left out keep their value; steps replaces them all. Free.
delete_escalation_policyDeletes a policy; its monitors go back to alerting their own contacts. Free.
list_maintenance_windowsMaintenance windows, latest first: times when failures open no incidents and send no alerts, for one monitor or all. A repeating window has its recurrence in words (repeats), its next occurrences and the ones skipped or moved. Free.
create_maintenance_windowSchedules maintenance for one monitor or all: no incidents or alerts while it lasts (suppress_alerts), and with announce the status pages that show it list it and tell their subscribers. With recurrence it repeats daily, weekly on chosen days or monthly, in the workspace's time…
update_maintenance_windowChanges a maintenance window or every occurrence of a repeating one. Fields left out keep their value; recurrence null makes it a single window. Changing the times or recurrence undoes skipped and moved occurrences. Free.
change_maintenance_occurrenceSkips (skipped: true), moves (starts_at and ends_at) or changes the message of one occurrence of a repeating maintenance window, leaving the others as they are; restore: true undoes it. Free.
delete_maintenance_windowDeletes a maintenance window, every occurrence of a repeating one included. Subscribers told about an occurrence that has not started hear it is cancelled. Free.
get_audit_logWho changed what in the workspace, newest first: people, API tokens and agents, with the changed fields and IP (Business plan). Filter by resource_type (monitor, alert_channel, status_page, member, api_token…), action (monitor.updated, or a prefix like monitor.), from and to (YY…
create_monitorCreates a monitor in a free slot of the workspace's plan. Premium monitors (multi-step transactions and code repositories) have slots of their own, on Pro and Business only. When every slot is in use the call fails with monitor_limit_reached: the user can upgrade at https://uphe…
preview_monitor_importReads the monitors of another service: UptimeRobot (a read-only API key, or its bulk upload CSV), Better Stack (a team-based API token), Uptime Kuma (its JSON backup) or a CSV file in UpHeron's format (https://upheron.com/docs/import). Creates nothing: says which would be create…
import_monitorsCreates the monitors the user chose from preview_monitor_import (send their `monitor` objects). Each takes a plan slot like create_monitor; ones already monitored are skipped. Imported heartbeats get new URLs, returned once as heartbeat_url: tell the user to point their schedule…
update_monitorChanges a monitor's settings, within the plan's interval and location limits. Free.
pause_monitorStops checking a monitor. Free.
resume_monitorStarts checking a paused monitor again. Free.
delete_monitorDeletes a monitor and its history. Frees its plan slot.
add_notification_contactAdds an email address, chat channel, paging service, Jira project, webhook or phone number to alert on outages and recoveries. Email contacts must open a confirmation link before they receive alerts. A phone number texts or calls through the user's own account with a provider, o…
confirm_notification_contactConfirms an sms or voice contact, added before they were retired, with the 6-digit code it was texted or told in a call. The code works for 24 hours and 5 tries. Ask the phone's owner for it; never guess.
list_notification_contactsContacts that receive alerts, whether each is confirmed, and for phone contacts their latest text or call and whether it was delivered.
test_notification_contactSends a contact a test alert, at most 5 a minute for a workspace. For a phone contact it is a real text or call through the user's account, which counts toward its 6 texts or 3 calls an hour; an error says in words what the provider refused (credentials, a trial account's unveri…
get_vulnerabilitiesFor an http or api monitor with vulnerability_alerts on: the vulnerabilities and unsupported releases found in the website's software, actively exploited and most severe first, with the version that fixes each, and the software they were matched on (found by scanning the website…
import_softwareTells the monitor what software the website and its server run, so their vulnerabilities are checked. Send a file's contents (package.json, package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lock, mix.lock, composer.json/.lock, requirements.txt, Pipfile.lock, poetry.lock, Gemfile…
add_softwareAdds one piece of software the website runs, by name (Debian, nginx, WordPress, Next.js…), package (npm:lodash, composer:vendor/package, pypi:django, wp-plugin:slug) or NVD product (cpe:vendor:product), with its version if known. Replaces a detected or imported entry for the sam…
remove_softwareRemoves an entry from get_vulnerabilities' software list. Software the scan found is ignored instead, so the next scan does not add it back. Free.
mark_vulnerability_fixedRecords that the software behind a finding from get_vulnerabilities was upgraded: to `version`, or by default to the first version that fixes it (the finding's fix_version). The monitor is checked again; findings that no longer apply disappear, and one that still applies stays,…
get_portsFor a monitor with port_scan on (Business plans): which of its host's addresses are verified and how to verify the rest (a file each address serves, or reverse DNS under the host with a TXT record), the ports the last weekly scan found open, flagged where the service usually sho…
verify_hostLooks for the proof of each of the host's addresses from get_ports: the file served at the address, or its reverse DNS (PTR) under the host resolving back to it with the TXT record in place. The TXT record alone proves no address. The proof must stay in place, since every scan c…
get_website_changesFor a website or API monitor: its security headers grade with what each missing or weak header does and how to fix it, its DNS records (A, AAAA, CNAME, NS, MX, SPF, DMARC) and the networks its addresses belong to, its page fingerprint (Business: title, external script hosts, and…
accept_page_changeMakes the page as it is now the new baseline of a monitor with content_watch, after get_website_changes shows a change you or the site's owner made on purpose. Later looks compare with it. Free.
scan_portsScans the verified host's common TCP ports now instead of waiting for the weekly scan, at most once an hour. Takes a minute or two; then read get_ports. Free.
get_domain_watchFor an http or api monitor on Pro and Business plans: the website's registered domain, its subdomains from certificate transparency logs (crt.sh, which can be days or weeks behind) with where each points and any CNAME to a service that reports no site there (subdomain_alerts), a…
scan_website_softwareScans the monitor's website for the software it runs and checks it against the vulnerability sources now, instead of waiting for the next scan. Takes up to a minute; then read get_vulnerabilities. Free.
Headers
| Name | Description |
|---|---|
X-API-KeyOptional, secret | Optional. An UpHeron API token from Settings → API tokens (read, or write to change monitors). Without one, only check_website works. |
Details
| Endpoint | https://upheron.com/mcp (Streamable HTTP) |
| First published | 12 Nov 2026 |
| Last updated | 12 Nov 2026 |
| Registry name | com.upheron/upheron |
More security servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
