Model Context Protocol server for Rollbar
Uptimepage is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Monitor uptime and incidents, run checks, and publish status updates from your Uptimepage org.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http uptimepage-mcp https://mcp.uptimepage.dev/mcp
# 2 — ask your agent for something these tools do
# acknowledge_incident, add_status_page_components, cancel_maintenance and 35 more
Uptimepage costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http uptimepage-mcp https://mcp.uptimepage.dev/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
38 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Acknowledge an incident: take ownership and halt escalation. Internal/operational only — does NOT post anything to the public status page. Use post_incident_update for customer-facing updates. Asks for confirmation where the client can show a prompt; otherwise runs on the token's scope. Not read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The incident id. |
| note | string/null | no | Optional internal note recorded on the incident's activity timeline. This is operator-facing, not published to the public status page. |
Add monitors to a status page as public components, in one confirmation where the client can show a prompt. Give each a public_name the page's readers will understand, since the monitor's own name is operator-facing, and a public_group to file related components together. Monitors already on the page are reported as such rather than duplicated. detail_link_enabled publishes a per-monitor detail vi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| components | array | yes | The monitors to add, in the order they should appear. |
| slug | string | yes | The page slug (from list_status_pages). |
Cancel a maintenance window that has not ended. It leaves the status pages, stops holding paging, and stays listed under past as a record; subscribers already told about it are not sent a cancellation. To stop a running window early and keep it as completed work, use update_maintenance with end_now instead. Asks for confirmation where the client can show a prompt; otherwise runs on the token's sco
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The window id (from list_maintenance). |
Schedule a maintenance window for planned work on some monitors. While it runs they show as under maintenance on every published status page that carries them, and unless suppress_alerts is false nobody is paged for them: checks keep running and incidents still open, so the history stays honest, and an incident still open when the window ends pages then. Prefer this over pause_monitor for planned
| Parameter | Type | Required | Notes |
|---|---|---|---|
| description | string/null | no | Shown with the title. At most 5000 characters. |
| ends_at | string | yes | RFC 3339 end: in the future, after the start, and at most 30 days after it. |
| monitor_ids | array | yes | The monitors the work touches, by id from list_monitors. At least one. |
| starts_at | string | yes | RFC 3339 start. A start already past opens the window at once. |
| suppress_alerts | boolean/null | no | Hold paging for these monitors while the window runs. Defaults to true. |
| title | string | yes | Shown on the status page and in subscriber notices. At most 200 characters. |
Create a monitor for an http, tcp, ping, dns, tls_cert, domain_expiry, heartbeat or manual check. A manual monitor has nothing to probe; set its state afterwards with set_monitor_state. The check is run once before anything is saved and the result is shown to the user along with every setting it would apply; where the client can show a prompt, nothing is created unless they approve; otherwise the
| Parameter | Type | Required | Notes |
|---|---|---|---|
| alert_confirmations | integer/null | no | Consecutive failing checks before the monitor alerts. Minimum 1, defaults to 2. |
| channel_ids | array/null | no | Channel ids from list_notification_channels to alert. Omitting them creates a monitor that pages nobody, which is worth saying out loud rather than leaving for an outage to reveal. The channels them |
| check | yes | — | |
| group_name | string/null | no | Operator-side grouping label. |
| interval_secs | integer/null | no | Seconds between checks, held to the plan's floor and the check kind's own floor. Omit it to get the cadence the app's own picker opens this kind at, which is well above the hard minimum for the slow-m |
| name | string | yes | What the operator will see in lists and alerts. |
| notify_recovery | boolean/null | no | Whether recovery is announced. Defaults to true. |
| recovery_period_secs | integer/null | no | Seconds a recovered monitor must stay healthy before its incident closes; a failure confirmed inside the window keeps the incident open, so a flapping service reads as one outage. 0 to 1800; 0 closes |
| region_policy | no | Detection quorum across probe regions. | |
| regions | array/null | no | Probe regions to run the check from, as ids from list_regions. Omit unless the user named the places they want covered: omitting takes the regions list_regions flags default_selected, which is t |
| renotify_interval_secs | integer/null | no | Seconds before the first reminder while an outage stays unacknowledged; each further reminder waits twice as long, up to a day. 0 turns reminders off; otherwise at least 60. Defaults to 3600. |
| tags | array/null | no | At most 50, each at most 50 characters. |
Create several monitors at once, with one confirmation covering the batch where the client can show a prompt. Every check is run once first and all the results are shown together, so a misconfigured endpoint is visible before anything is saved. An item that fails validation or its trial run is reported in the results and the rest are still created. Prefer this over repeated create_monitor calls wh
| Parameter | Type | Required | Notes |
|---|---|---|---|
| monitors | array | yes | The monitors to create. Each is validated and probed before the single confirmation covering the batch. |
Create a status page. It is created unpublished unless you pass enabled, so its components can be curated before anyone can read it. The slug is the page's public address: it is first-come across the platform and moving it later breaks every existing link, so confirm it with the user rather than inventing one. Pass access with protected true to make it private: only the listed domains and addresse
| Parameter | Type | Required | Notes |
|---|---|---|---|
| access | no | Make it private from the start. Omit for a public page. | |
| enabled | boolean/null | no | Defaults to false: a page is created dark so components can be curated before anyone can read it. |
| name | string | yes | Page display name, at most 80 characters. |
| slug | string | yes | URL slug, lowercase. This is the page's public address and cannot be guessed back later, so pick it deliberately. |
A browser flow monitor's recent runs over a window (1h/24h/7d/30d): every declared step with its outcome and duration, the step a failure stopped on, and the page the browser saw. Use this to answer why a login check failed. Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The monitor id (from list_monitors), of a flow monitor. |
| window | string | yes | Time window: 1h, 24h, 7d, or 30d. |
How long each step of a browser flow monitor takes over a window (1h/24h/7d/30d), and how far it has moved: per step the earliest and latest mean duration, their ratio, and how many runs passed or failed it. Use this to spot a step drifting toward failure while the monitor still reports up. Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The monitor id (from list_monitors), of a flow monitor. |
| window | string | yes | Time window: 1h, 24h, 7d, or 30d. |
One incident: affected monitor, severity, open/resolved times, error sample, the full operator-update timeline, and the status pages an incident with no monitor is posted to. Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The incident id (from list_incidents or get_org_health). |
Incident metrics over a trailing window (default 30 days): MTTA/MTTR in seconds, total incidents, counts by severity and state, auto- vs human-resolved, and the noisiest monitors. Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| window_days | integer/null | no | Trailing window in days (1..=365). Defaults to 30 when omitted. |
One maintenance window: title, description, start and end, phase, the monitors it covers, and whether it holds their paging. Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The window id (from list_maintenance). |
One monitor's full configuration — everything the check asserts (expected status, body match, headers, timeout, redirect and TLS policy), the regions it probes from, and how it alerts (failing checks before it pages, whether recovery is announced, the reminder interval, the multi-region quorum, and the ids of the channels it notifies) — with its current state, last error, and 24h/30d uptime. Every
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The monitor id (from list_monitors). |
One monitor's history over a window (1h/24h/7d/30d): uptime, latency series, a per-region split of the same window, failures with error text, and incident windows. Pass region to narrow it to one probe region and tell a partial outage from a total one. Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The monitor id (from list_monitors). |
| region | string/null | no | Narrow uptime, the latency series, and the region breakdown to one probe region (an id the monitor is assigned to, from get_monitor.regions). Omit for every region together. |
| window | string | yes | Time window: 1h, 24h, 7d, or 30d. |
Org health summary: per-state monitor totals and the worst currently-failing monitors. The one-shot answer to 'what is broken right now?'. Read-only.
No parameter schema on file.
Which org this connector is bound to, and the account's resource usage against plan limits: monitors, status pages, members, components, and key policy values. Caps are pooled across every org the account owns, so the counts can exceed what this one org holds. Read-only.
No parameter schema on file.
One status page: name, public URL, enabled, and its components with each linked monitor's current state. Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | The page slug (from list_status_pages). |
List the org's incidents: incident id, affected monitor, severity, open/resolved times, and latest update phase. Defaults to currently-open ones; pass state="all" with an optional from/to window (default: last 30 days) for resolved history, and monitor_id to narrow to one monitor. Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string/null | no | Opaque pagination cursor from a previous call's next_cursor. It carries the whole query, so send it on its own: any other filter passed alongside it is ignored rather than silently changing the page |
| from | string/null | no | RFC 3339 start of the window. Defaults to 30 days ago. An incident that is still running is listed however long ago it opened. |
| monitor_id | string/null | no | Restrict to one monitor (id from list_monitors). |
| state | string/null | no | Which incidents to return: open (default) for the ones still running, or all to include resolved ones inside the window. |
| to | string/null | no | RFC 3339 end of the window. Defaults to now. Incidents that opened after it are excluded, running or not. |
List maintenance windows: title, start and end, phase (upcoming, active, completed or cancelled), the monitors each covers, and whether it holds their paging. status narrows to active, upcoming or past (ended or cancelled); the default is all, latest start first. Cursor-paginated. Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string/null | no | Opaque pagination cursor from a previous call's next_cursor. It carries the whole query, so send it on its own. |
| status | no | Defaults to all. |
List monitors with optional state/type/tag filters and cursor pagination. Each item carries its current state and last-checked time. Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string/null | no | Opaque pagination cursor from a previous call's next_cursor. |
| state | string/null | no | Filter by current state: up, down, degraded, error, no_data. |
| tag | string/null | no | Filter to monitors carrying this exact tag. |
| type | string/null | no | Filter by check kind: http, tcp, ping, heartbeat, manual, dns, tls_cert, domain_expiry, flow. |
The org's notification channels: id, operator-set name, kind (email, slack, telegram, webhook, and so on), and whether the channel is enabled. Two flags say a channel is not working even where it reads as ready: awaiting_verification for an email address nobody confirmed, and not_delivering for an enabled channel whose recent alerts all failed to arrive. auto_bind_tags is the channel's tag rule: i
No parameter schema on file.
The fleet's probe regions: id, display name, city, country, continent, and whether each is on by default for a new monitor. Reports max_regions only when the plan reaches fewer regions than the catalog lists, so a set too large to be accepted is visible before it is sent. Use it to pass a valid region to get_monitor_history, and to read where a check would run from. This is a catalog, not a me
No parameter schema on file.
List who signed in to a private status page: each viewer's address, first and last visit, saved passkeys, whether they subscribe by email, and whether they are blocked. Addresses are customer data. Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | The page slug (from list_status_pages). |
List the org's status pages: slug, name, public URL, enabled. Cursor-paginated. Read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string/null | no | Opaque pagination cursor from a previous call's next_cursor. |
Every tag in use across the org's monitors, most-used first, with how many monitors carry each. Pass one back as the tag filter to list_monitors. Read-only.
No parameter schema on file.
The org's reusable variables: key, and whether it is a secret. Values are never returned, and a secret's value is never even read. Write a variable into a monitor's header or body as {{ key }}, which is resolved when the check runs: this is how an authenticated check is built here, since pasting the credential itself is refused. Variables are created and edited in the app, not here. Read-only.
No parameter schema on file.
Pause a monitor (stop its checks until resumed). For planned work, create_maintenance holds paging instead while the checks keep running. Asks for confirmation where the client can show a prompt; otherwise runs on the token's scope. Not read-only; idempotent.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The monitor id (from list_monitors). |
Post a public, customer-facing update to an incident's status-page timeline (phase + message). This is what your subscribers and status-page visitors see. Asks for confirmation where the client can show a prompt; otherwise runs on the token's scope. Not read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The incident id. |
| message | string | yes | Public message shown on the status page. |
| phase | string/null | no | Optional phase: investigating, identified, monitoring, resolved, postmortem. Defaults to investigating. |
Publish an incident so it appears on every status page carrying the affected monitor, optionally seeding the public title and description. An incident with no monitor needs status_page_ids naming the pages to show it on; the list replaces its pages, so start from get_incident's status_page_ids. Status-page subscribers may be notified. Asks for confirmation where the client can show a prompt;
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The incident id. |
| public_description | string/null | no | Public summary shown under the headline. |
| public_title | string/null | no | Public headline shown on the status page. |
| status_page_ids | array/null | no | Status page ids (from list_status_pages) for an incident with no monitor; replaces its pages, so start from get_incident's status_page_ids to add or drop one. Leave unset for a monitor's inciden |
Resolve an incident (mark the operational state resolved). Internal only — does not post to the public status page. Asks for confirmation where the client can show a prompt; otherwise runs on the token's scope. Not read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The incident id. |
| note | string/null | no | Optional internal note recorded on the incident's activity timeline. This is operator-facing, not published to the public status page. |
Resume a paused monitor (restart its checks). Asks for confirmation where the client can show a prompt; otherwise runs on the token's scope. Not read-only; idempotent.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The monitor id (from list_monitors). |
Run a check on a monitor immediately and record the result. Asks for confirmation where the client can show a prompt; otherwise runs on the token's scope. A down result may fire the org's normal alerts. Heartbeat monitors cannot be probed (they wait for your systems to ping them). Not read-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The monitor id (from list_monitors). |
Set the state of a manual monitor: up, degraded or down. A manual monitor has no probe; its state is whatever an operator last set, for a service only people can judge, such as a SIP trunk, a carrier link or a partner's back office. Down or degraded opens an incident within about 30 seconds, which pages the monitor's channels unless a maintenance window holds it, and shows on its status pages as a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The id of a manual monitor (from list_monitors). |
| note | string/null | no | Why, in one line of at most 200 characters. It becomes the incident's cause and reaches whoever is paged. Omit for none; it replaces the previous note. |
| state | yes | — |
Hide a published incident from the public status pages again. Its operator timeline is untouched. Asks for confirmation where the client can show a prompt; otherwise runs on the token's scope. Not read-only; idempotent.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The incident id (from list_incidents or get_org_health). |
Edit an upcoming or running maintenance window: its title, description, start, end, the monitors it covers (monitor_ids replaces the whole set) or whether it holds their paging. end_now ends a running window at once and keeps it as completed work. A completed or cancelled window is history and is refused. Shows the old and new value of every field before it runs, where the client can show a prompt
| Parameter | Type | Required | Notes |
|---|---|---|---|
| description | string/null | no | At most 5000 characters. An empty string clears it. |
| end_now | boolean/null | no | End a running window now. Cannot be combined with starts_at or ends_at. |
| ends_at | string/null | no | RFC 3339, in the future. To stop a running window now, send end_now instead. |
| id | string | yes | The window id (from list_maintenance). |
| monitor_ids | array/null | no | Replaces the whole set, by id from list_monitors. Read the window first: a monitor left out stops being covered. |
| starts_at | string/null | no | RFC 3339. |
| suppress_alerts | boolean/null | no | Hold paging for its monitors while it runs. |
| title | string/null | no | At most 200 characters. |
Change how loudly a monitor is watched: check interval, alert confirmations, recovery notices, reminder interval, tags, group, the multi-region detection quorum, and which notification channels it alerts (channel_ids replaces the whole set, and needs the channels:read scope). It cannot change what the check watches — name, address, assertions, expected status, headers, body, probe regions and owne
| Parameter | Type | Required | Notes |
|---|---|---|---|
| alert_confirmations | integer/null | no | Consecutive failing checks before the monitor alerts. Minimum 1. Raising it quietens a flapping monitor at the cost of alerting later. |
| channel_ids | array/null | no | Replaces the whole set of alerted channels, by id from list_notification_channels. Read the monitor first: a channel left out of this list stops being alerted. An empty list silences the monitor. |
| group_name | string/null | no | Operator-side grouping label. Send null to clear it; omit to keep it. |
| id | string | yes | The monitor id (from list_monitors). |
| interval_secs | integer/null | no | Seconds between checks. Held to the plan's floor and the check kind's own floor, whichever is higher. |
| notify_recovery | boolean/null | no | Whether recovery is announced to the monitor's channels. |
| recovery_period_secs | integer/null | no | Seconds a recovered monitor must stay healthy before its incident closes, 0 to 1800. Raising it folds a flapping monitor's short outages into one incident, at the cost of announcing recovery later. |
| region_policy | no | Detection quorum across probe regions. | |
| renotify_interval_secs | integer/null | no | Seconds before the first reminder while an outage stays unacknowledged; each further reminder waits twice as long, up to a day. 0 turns reminders off; otherwise at least 60. |
| tags | array/null | no | Replaces the whole tag list. Read the monitor first: a tag left out of this list is removed. At most 50 tags, each at most 50 characters. |
Rename a status page, move it to a new slug, publish and unpublish it, or change who may open it. An omitted field is left alone. Changing the slug moves the public URL and breaks existing links. access replaces the page's access settings and list whole: protected true makes it private to the listed domains and addresses (Team plan), and removes subscribers the list does not cover; protected false
| Parameter | Type | Required | Notes |
|---|---|---|---|
| access | no | Replace who may open it: make it private, change its list, or make it public again. | |
| enabled | boolean/null | no | Publish or unpublish the page. |
| name | string/null | no | New display name. |
| new_slug | string/null | no | New slug. Changing it moves the public URL and breaks existing links. |
| slug | string | yes | The page to change, by its current slug. |
Change how one monitor is presented on a status page: its public name, description, group or position. An omitted field is left alone. Not read-only; idempotent.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| monitor_id | string | yes | The monitor id whose curation is being changed. |
| public_description | string/null | no | — |
| public_group | string/null | no | — |
| public_name | string/null | no | — |
| slug | string | yes | The page slug (from list_status_pages). |
| sort_order | integer/null | no | — |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Uptimepage or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Uptimepage can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.