UptyBots
by uptybots.com · remote · local (npm) · no sign-in to list tools · v1.4.1 · published by com.uptybots
Uptime monitoring: create and manage HTTP, API, SSL, ping, port and domain checks
15 tools: 1 can delete or cancel things, 8 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things8Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http monitoring https://mcp.uptybots.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnlist_monitors
The description contains "every other tool", wording about other tools or servers.
What this check looks forMatched text
description: "...ge. Each entry carries the id needed by every other tool, plus name, url, type, current status,..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
15 tools
Deletes or cancels 1Claude Code: deny
delete_monitorPermanently delete a monitor together with its entire check history, incidents and statistics.No findings
Why it is in this group
- The name "delete_monitor" says "delete": a word for removing or ending something.
- The description says "Permanently delete".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Permanently delete a monitor together with its entire check history, incidents and statistics. This cannot be undone and there is no trash to restore from. Confirm with the user before calling it, and prefer pause_monitor whenever the intent is only to stop the checking for a while.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
Changes things 8Claude Code: ask
create_api_monitorWatch a JSON or REST endpoint where the response itself matters, not only that the host answered.No findings
Why it is in this group
- The name "create_api_monitor" says "create": a word for a change.
Description, as the server wrote it Watch a JSON or REST endpoint where the response itself matters, not only that the host answered. Use it for health endpoints, webhooks and any API whose failure would be invisible to a plain page check. For an ordinary web page, create_http_monitor is lighter and enough.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
create_domain_monitorWatch a domain registration and report how long is left before it lapses, read from WHOIS.No findings
Why it is in this group
- The name "create_domain_monitor" says "create": a word for a change.
Description, as the server wrote it Watch a domain registration and report how long is left before it lapses, read from WHOIS. This catches the failure no uptime check can see: everything works perfectly right up to the day the domain expires. Distinct from create_ssl_monitor, which watches the certificate rather than the registration; the two expire on different dates and both are worth watching.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
create_http_monitorWatch a web page or endpoint over HTTP/HTTPS and treat an unexpected status code, a timeout or a connection failure as downtime.No findings
Why it is in this group
- The name "create_http_monitor" says "create": a word for a change.
Description, as the server wrote it Watch a web page or endpoint over HTTP/HTTPS and treat an unexpected status code, a timeout or a connection failure as downtime. This is the right type for anything a browser would open. Choose create_api_monitor instead when the response body matters as well as the status code. Checks run from probes in several countries. Call list_monitors first so you do not create a duplicate of an existing url.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
create_ping_monitorWatch a host with ICMP ping: it answers whether the machine is reachable at all, and reports round-trip time and packet loss.No findings
Why it is in this group
- The name "create_ping_monitor" says "create": a word for a change.
Description, as the server wrote it Watch a host with ICMP ping: it answers whether the machine is reachable at all, and reports round-trip time and packet loss. Use it for servers, routers and anything with no web service on top. It says nothing about whether a site or service on that host is working - a box can ping perfectly while its web server is down. Some hosting providers block ICMP, in which case the monitor will read as down.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
create_port_monitorWatch one TCP or UDP port on a host and report it up only when the service behind it actually answers.No findings
Why it is in this group
- The name "create_port_monitor" says "create": a word for a change.
Description, as the server wrote it Watch one TCP or UDP port on a host and report it up only when the service behind it actually answers. This is the type for game servers, databases, mail and anything else that speaks its own protocol rather than HTTP - Minecraft, Rust, CS2, FiveM, Postgres, Redis, SMTP. The port must be given as part of the url. Set protocol to UDP for game servers; most of them do not answer on TCP at all.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
create_ssl_monitorWatch a TLS certificate: whether it is valid, who issued it, and how many days remain before it expires.No findings
Why it is in this group
- The name "create_ssl_monitor" says "create": a word for a change.
Description, as the server wrote it Watch a TLS certificate: whether it is valid, who issued it, and how many days remain before it expires. This is about the certificate, not about the site being reachable - pair it with create_http_monitor when you want both. Note that such a monitor carries two independent states, one for reachability and one for expiry, so a certificate can be days from expiring while the check still reads up.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
pause_monitorStop checking a monitor without deleting it.No findings
Why it is in this group
- The description's first verb is "stop": a word for a change.
Description, as the server wrote it Stop checking a monitor without deleting it. History and configuration survive, and resume_monitor puts it back to work. Use this around planned maintenance so the downtime does not land in the uptime figures or fire alerts. A paused monitor reports neither up nor down, so it is easy to forget one is off.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
resume_monitorStart checking a paused monitor again, with the configuration it had before.No findings
Why it is in this group
- The description's first verb is "start": a word for a change.
Description, as the server wrote it Start checking a paused monitor again, with the configuration it had before. The first check runs immediately rather than after the usual interval, so the current state is known within moments. Safe to call on a monitor that is already running.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 6Claude Code: allow
get_incidentsRead the downtime history of one monitor: when each outage began, when it ended, how long it lasted and what the failure actually was - HTTP status, error text, and which probe saw…No findings
Why it is in this group
- The name "get_incidents" says "get": a word for reading.
Description, as the server wrote it Read the downtime history of one monitor: when each outage began, when it ended, how long it lasted and what the failure actually was - HTTP status, error text, and which probe saw it. This is the tool for "what happened" and "how often does this break". For the shape of response times around an outage, follow up with get_stats_hourly.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_monitorRead one monitor in full: its configuration, current status, and the type-specific detail the list view omits - expected status codes for HTTP, port and protocol for PORT, certific…No findings
Why it is in this group
- The name "get_monitor" says "get": a word for reading.
Description, as the server wrote it Read one monitor in full: its configuration, current status, and the type-specific detail the list view omits - expected status codes for HTTP, port and protocol for PORT, certificate or registration expiry date for SSL and DOMAIN. Use it after list_monitors when the answer depends on how the check is configured, for instance whether a timeout is too tight or which port is actually being watched.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_notificationsRead the alerts this account has sent, across email, Telegram, webhook and the web interface, with the delivery outcome of each.No findings
Why it is in this group
- The name "get_notifications" says "get": a word for reading.
Description, as the server wrote it Read the alerts this account has sent, across email, Telegram, webhook and the web interface, with the delivery outcome of each. Use it to answer "was I actually told about this outage" and to find a channel that is silently failing - a monitor can be detecting downtime correctly while its webhook has been rejecting every delivery. Covers the whole account, not one monitor.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_stats_dailyResponse time and uptime for one monitor aggregated per day, with min, max, average and p95.No findings
Why it is in this group
- The name "get_stats_daily" says "get": a word for reading.
Description, as the server wrote it Response time and uptime for one monitor aggregated per day, with min, max, average and p95. This is the tool for reports and trends over weeks or months, and for comparing one monitor against another over the same window. When a single day looks wrong, zoom into it with get_stats_hourly.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_stats_hourlyResponse time and uptime for one monitor broken down by hour, with min, max, average and p95 per bucket.No findings
Why it is in this group
- The name "get_stats_hourly" says "get": a word for reading.
Description, as the server wrote it Response time and uptime for one monitor broken down by hour, with min, max, average and p95 per bucket. Use it to see the shape of a problem: whether a service degrades before it fails, whether outages cluster at a particular time of day, or how long a single incident really lasted. Best over hours or days; for weeks and months use get_stats_daily instead, which returns far fewer rows.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_monitorsList the monitors on the account, newest first, 30 per page.1 finding
Why it is in this group
- The name "list_monitors" says "list": a word for reading.
Findings
- Warn
The description contains "every other tool", wording about other tools or servers.
What this check looks forMatched text
description: "...ge. Each entry carries the id needed by every other tool, plus name, url, type, current status,..."
Description, as the server wrote it List the monitors on the account, newest first, 30 per page. Each entry carries the id needed by every other tool, plus name, url, type, current status, check frequency and the uptime percentage over the last 24 hours. Start here when the request names a monitor by name rather than by id, and when asked what is broken - filtering by status "down" answers that in one call. Returns an empty list rather than an error when nothing matches.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.4.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http monitoring https://mcp.uptybots.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__monitoring__list_monitors",
"mcp__monitoring__get_monitor",
"mcp__monitoring__get_incidents",
"mcp__monitoring__get_stats_hourly",
"mcp__monitoring__get_stats_daily",
"mcp__monitoring__get_notifications"
],
"ask": [
"mcp__monitoring__create_http_monitor",
"mcp__monitoring__create_api_monitor",
"mcp__monitoring__create_ping_monitor",
"mcp__monitoring__create_port_monitor",
"mcp__monitoring__create_ssl_monitor",
"mcp__monitoring__create_domain_monitor",
"mcp__monitoring__pause_monitor",
"mcp__monitoring__resume_monitor"
],
"deny": [
"mcp__monitoring__delete_monitor"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as monitoring. Review it before you use it.