Next free-source huntWe check for new free data every weekday.
Cyber ThreatMCP serverFirst audited Nov 13, 2026

UpHeron

Uptime and vulnerability monitoring: check sites, manage monitors, incidents and status pages.The vendor's description, from its MCP Registry listing.

Passed public checksAudited Nov 13, 2026

Every public check ran and passed. Public audit: we connect as an AI client would, list the tools and check what they say. We do not run them. How we audit

Does it work?
YesConnected in 578 ms.
Sign-up?
None neededIt answered without any account or key.
Can it change things?
YesSome tools say they can change things. Your AI client should ask you first.
Endpointhttps://upheron.com/mcp

Website Streamable HTTP · protocol 2025-11-25 · server version 1.2.0

What we checked, the evidence, and the tools it offers.

What we checked

Security

  • Passed: Connections are encrypted (HTTPS).

  • Passed: No hidden instructions found in tool text.

Safety labels

  • Note: 37 tools are labelled as able to change things.

    Expected for tools that send, write or buy. Your AI client should ask before calling them.

    • acknowledge_incident
    • post_incident_update
    • comment_on_incident
    • open_incident
    • update_incident
    • resolve_incident
    • write_postmortem
    • update_status_page_components
    • and 29 more
  • Passed: Every tool says whether it only reads or can change things.

Tools

  • Passed: 59 tools listed.

  • Passed: Every tool describes its inputs with a valid schema.

Protocol

  • Passed: The MCP handshake works (Streamable HTTP).

  • Passed: Protocol version 2025-11-25 (latest).

  • Passed: Unknown requests are refused.

Connection

  • Passed: The server responds.

Tools (59)

As the server describes them. The labels are the server's own: it says whether each tool only reads or can change things.

  • 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.Read-only
  • 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…Read-only
  • list_locationsLocation codes you can pass in a monitor's `locations`.Read-only
  • list_monitorsEvery monitor with its current status (pending, up, down, degraded), and interval. Free.Read-only
  • 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 Busines…Read-only
  • 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.Read-only
  • 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.Read-only
  • 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, incident…Read-only
  • 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 le…Read-only
  • list_incidentsOutages, newest first, with their status (open, acknowledged, resolved). Free.Read-only
  • acknowledge_incidentMarks an open incident as being handled: its repeat alerts and escalation stop. Everyone alerted still hears when it recovers. Free.Can change things
  • list_escalation_policiesBusiness plans: escalation policies, whose id a monitor's escalation_policy_id takes, and their steps. Free.Read-only
  • list_on_call_schedulesBusiness plans: on-call schedules with who is on call now, until when, and who is next. Free.Read-only
  • 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. Fre…Read-only
  • 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, identifi…Can change things
  • 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.Can change things
  • 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 th…Can change things
  • 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.Can change things
  • 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. F…Can change things
  • 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 s…Can change things
  • 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.Read-only
  • 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.Can change things
  • 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.Can change things
  • update_on_call_scheduleBusiness plans. Fields left out keep their value; changing the members, rotation, handoff or time zone starts the rotation over. Free.Can change things
  • delete_on_call_scheduleDeletes a schedule no escalation policy uses. Free.Can change things
  • 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.Can change things
  • remove_on_call_overrideRemoves an override from a schedule (its id is in the schedule's overrides). Free.Can change things
  • 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…Can change things
  • update_escalation_policyBusiness plans. Fields left out keep their value; steps replaces them all. Free.Can change things
  • delete_escalation_policyDeletes a policy; its monitors go back to alerting their own contacts. Free.Can change things
  • 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…Read-only
  • 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 recurre…Can change things
  • 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 mo…Can change things
  • 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.Can change things
  • 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.Can change things
  • 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, a…Read-only
  • 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…Can change things
  • 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 forma…Read-only
  • 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…Can change things
  • update_monitorChanges a monitor's settings, within the plan's interval and location limits. Free.Can change things
  • pause_monitorStops checking a monitor. Free.Can change things
  • resume_monitorStarts checking a paused monitor again. Free.Can change things
  • delete_monitorDeletes a monitor and its history. Frees its plan slot.Can change things
  • 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.…Can change things
  • 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 g…Can change things
  • list_notification_contactsContacts that receive alerts, whether each is confirmed, and for phone contacts their latest text or call and whether it was delivered.Read-only
  • 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 erro…Can change things
  • 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…Read-only
  • 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…Can change things
  • 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:produc…Can change things
  • 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.Can change things
  • 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 ag…Can change things
  • 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),…Read-only
  • 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…Can change things
  • 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 addres…Read-only
  • 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.Can change things
  • 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.Can change things
  • 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 po…Read-only
  • 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. Fr…Can change things

Audit history

  1. Nov 13Passed

What we sent

Every request in this audit, with the answer and how long it took. We never send credentials and never call a tool.

RequestAnswerTime
initializeHTTP 200578 ms
initializedHTTP 202135 ms
tools/listHTTP 200590 ms
resources/listHTTP 200147 ms
unknown-methodHTTP 200135 ms

Run this server, or disagree with the result?

Fix the issue and it shows in the next weekly audit, or email us to ask for a re-audit or to dispute a finding. Read how we audit for what each check means.