DevOps
upbutler.com
An MCP server for autonomous agents to create workspaces and API keys, add monitored services with status page components, send heartbeats, and push component statuses.
ENDPOINT 1
https://upbutler.com/mcp
Known tools 0
No tool metadata was available in the registry cache.
CONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.upbutler-com]
url = "https://upbutler.com/mcp"
enabled = true
bearer_token_env_var = "MCP_BEARER_TOKEN"
Authentication is required. Replace the placeholder locally and never commit a secret.
Claude Code
.mcp.json
{
"mcpServers": {
"upbutler-com": {
"type": "http",
"url": "https://upbutler.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_BEARER_TOKEN"
}
}
}
}
Authentication is required. Replace the placeholder locally and never commit a secret.
Claude Desktop
Settings → Connectors → Add custom connector
Name: upbutler-com
Remote MCP URL: https://upbutler.com/mcp
Add the URL as a custom connector, then complete its supported authorization flow. Claude Desktop remote connectors are configured in the UI.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"upbutler-com": {
"url": "https://upbutler.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_BEARER_TOKEN"
}
}
}
}
Authentication is required. Replace the placeholder locally and never commit a secret.
Visual Studio Code
.vscode/mcp.json
{
"servers": {
"upbutler-com": {
"type": "http",
"url": "https://upbutler.com/mcp",
"headers": {
"Authorization": "Bearer ${input:mcp-token}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "mcp-token",
"description": "upbutler-com bearer token",
"password": true
}
]
}
Authentication is required. Replace the placeholder locally and never commit a secret.
Generic MCP
Client-specific MCP configuration
{
"name": "upbutler-com",
"transport": "streamable-http",
"url": "https://upbutler.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_BEARER_TOKEN"
}
}
Authentication is required. Replace the placeholder locally and never commit a secret.
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
ENDPOINT 2
https://upbutler.com/mcp/public
MCP server metadata
- Name
- upbutler
- Version
- 2.0.0
This is UpButler's keyless endpoint: public status tools work without an account. No workspace yet? Call agent_bootstrap {agentName}. This session is then connected to the new workspace and every other tool works straight away, no reconnecting. Give the returned claimUrl to your human; once they have claimed it they can connect with OAuth at https://upbutler.com/mcp. UpButler monitors services and runs status pages. Typical flows: - Start monitoring + publish: services_add {name, url, statusPage}. - Your own jobs: services_add with periodSec to get a heartbeat URL, then call it after each run. - Something is wrong: incidents_list {open:true}, then monitors_checks {id, outcome:"down", evidence:true} for evidence; incidents_ack, incidents_update, and incidents_resolve once monitors_check confirms recovery. - Report problems you detect: incidents_create; post progress with incidents_update. - Paged as an agent responder (you hold an incident token, ub_inc_…): incidents_packet first, then incidents_claim (keep it alive with incidents_claim_renew); act only within the packet's allowed actions and log what you do with incidents_note; incidents_verify before incidents_resolve; incidents_escalate to hand the incident back to humans. - React to other services: public_subscribe with a webhook URL, or poll events_list with after=<last id>. - Many components at once: pages_push {pageId, statuses:{key: status}}. - Is a third party down (OpenAI, Stripe, AWS, GitHub, …)? upstream_status {service} needs no account and returns proceed | retry | fallback | pause. Declare what a project depends on with dependencies_set, so its incidents are tagged "likely upstream" when it is their outage. Prompts (triage-incident, setup-monitoring, weekly-reliability-review, deploy-guard, write-postmortem) are ready-made playbooks; the upbutler://workspace/overview resource is the quickest way to see the current state.
Known tools 237
agent_bootstrapCreate a workspace + API key with no human in the loop For autonomous agents.
Potential side effectsservices_addPlug in a service: monitor + status page component in one call The fastest path: creates a monitor for the URL (or a heartbeat when you pass periodSec), creates the status page if needed (statusPage = slug or name), and adds a component that follows the monitor.
Inferred read-onlyheartbeat_pingSend a heartbeat (no API key needed — the token is the secret) Call at least every periodSec.
Potential side effectscomponents_pushPush one component status by its push token (no API key needed) (No API key required.)
Inferred read-onlyagent_claimGet a fresh claim link for this unclaimed workspace, and optionally email it to your human Only for agent-bootstrapped workspaces nobody has claimed yet.
Potential side effectsmonitors_listList monitors All monitors in the workspace with their current state and last check.
Inferred read-onlymonitors_checkRun a check right now Runs the monitor immediately and returns the full result with evidence.
Inferred read-onlymonitors_schemaMCP monitor: tool schema baseline and change history For kind "mcp".
Inferred read-onlymonitors_schema_acceptMCP monitor: accept the pending schema change Makes the tool list the server serves now the new baseline, which ends the degraded/down state a breaking schema change caused.
Inferred read-onlymonitors_balanceBalance monitor: history and run-out projection For kind "balance".
Inferred read-onlymonitors_metricsPer-check metrics (time to first token, MCP step timings, balance) Numbers recorded on every check of an mcp, llm or balance monitor, with p50/p95 per metric.
Inferred read-onlypages_createCreate a status page Theme presets: midnight, grid, daylight, paper.
Potential side effectspages_verifyDomainCheck the custom domain DNS now Verified when the domain CNAMEs to the target shown in pages.get dns.value (or resolves to the same IPs).
Inferred read-onlypages_analyticsStatus page analytics: views, visitors, agent reads, subscribers Who looks at a status page, when, and whether agents read it.
Inferred read-onlypages_analytics_incidentsPer-incident analytics: views, peak, time to first view, notifications For each public incident of the page: reads while it was open and reads of its page afterwards (people, agents, bots), the busiest five minutes, seconds from the start to the first view / first agent read / first delivered subscriber notification, notifications sent and failed by subscriber type, and unsubscribes within 48 hours of them.
Inferred read-onlycomponents_createAdd a component to a status page A component is a row on the status page.
Inferred read-onlycomponents_overrideManually set (or clear) a component status Overrides win over automatic status until cleared with status=null.
Inferred read-onlypages_pushPush statuses for many components at once Body: {"statuses": {"<component key>": "operational" | {"status": "major_outage", "message": "..."}}}.
Potential side effectsincidents_createReport an incident Declare an incident (agents: use this when you detect a problem yourself).
Inferred read-onlyincidents_updatePost an incident update Adds a timeline update, optionally changing status and component impact.
Potential side effectsincidents_editChange an incident's impact or title, or publish a draft automatic incident Automatic incidents get their impact from how much of the page is affected (one component of many in a major outage is "major", not "critical").
Potential side effectsincidents_resolveResolve an incident Without a message, UpButler writes the resolution note (AI recovery summary when available).
Potential side effectsmaintenance_createSchedule maintenance Components show "Under maintenance" during the window; it starts and completes automatically.
Inferred read-onlychannels_createCreate an alert channel Where your team (or your agent) gets alerted.
Potential side effectspublic_statusPublic status of a page (no auth) Overall status, components with uptime, active incidents and maintenance.
Inferred read-onlypublic_subscribeSubscribe to a status page (email, webhook, Slack, Discord or Telegram) Agents: subscribe with {"type":"webhook","url":"https://your-agent/hook"} to receive signed incident.*, maintenance.* and component.status_changed events and automate downtime handling.
Potential side effectspublic_subscriber_getView a subscription (requires its manage token) (No API key required.)
Inferred read-onlypublic_subscriber_updateChange which components a subscription follows (requires the manage token) (No API key required.)
Inferred read-onlypublic_responseTimesPublic response-time series of a component (p50/p95) Only for components the page owner published (page settings.showResponseTimes + component showResponseTimes, monitor-backed).
Inferred read-onlyworkspace_getCurrent workspace, plan, limits and usage Useful first call for agents: shows what the key can do and how much quota is left.
Inferred read-onlyworkspace_quotaEvery metered plan limit: used, limit, percent and warning threshold One row per metered limit of the plan (monitors, status pages, components and email subscribers on the fullest page, members, API keys, emails, AI reports, agent runs and preview runs this month, fix attempts in the last 24 hours, …).
Potential side effectsevents_listPoll the event stream Every state change in the workspace (monitor.down/up/degraded, incident.*, maintenance.*, component.status_changed …), newest first.
Inferred read-onlybilling_checkoutStart a checkout to upgrade the workspace Returns a Polar checkout URL.
Inferred read-onlyimport_previewDry run: what an import would create Reads your UptimeRobot, Better Stack or Statuspage.io account and returns every item with action create | exists (already imported) | skip (with reason), plus plan-limit warnings.
Potential side effectsimport_applyRun an import (background job) Starts the import and returns the job right away; poll import.status.
Inferred read-onlyincidents_ackAcknowledge an incident or a down monitor Take ownership: stops "still down" reminders and escalation, records an internal timeline entry and emits incident.acknowledged to the channels that were alerted.
Inferred read-onlyincidents_unackRemove an acknowledgement Reminders and escalation resume where they stopped.
Potential side effectsoncall_currentWho is on call right now For every schedule (or one with scheduleId): the person on call now, until when, and whether it is an override.
Inferred read-onlyoncall_overrides_createPut someone on call for a period (override) Overrides win over the rotation; the most recently created one wins when they overlap.
Inferred read-onlyescalation_createCreate an escalation policy (Business plan) Ordered levels: level 1 is paged as soon as an incident opens; each next level after `afterMinutes` if nobody acknowledged.
Potential side effectsaudit_listAudit log: sign-ins, 2FA changes, keys, members, billing, deletions, domains Newest first, kept 400 days.
Inferred read-onlyregions_listList check regions and probe health Regions monitors can be checked from (use the ids in a monitor's "regions").
Inferred read-onlyprobes_listList private probes Probes you run inside your own network ("private locations"), with status (online / offline / never_connected), last seen, version and checks run.
Inferred read-onlyprobes_createCreate a private probe Registers a probe and returns its token ONCE, with the docker command that starts it.
Potential side effectsprobes_rotateRotate a private probe token Issues a new token (returned once) and revokes the old one at once: the running probe gets 401 until it is restarted with the new token, and its monitors report "no data" meanwhile.
Inferred read-onlymonitors_proxyProxy monitor: the pool and the latest result per proxy Each proxy of the pool (scheme, host, port, credential hint; never the URL) with its latest result from every region or private probe: outcome, failure class, successful samples, exit IPs and country, connect / tunnel / first-byte / total time.
Inferred read-onlydeploys_createRecord a deploy Mark a release so incidents can be correlated with it (AI reports, charts, incident timelines).
Inferred read-onlydeploy_hooks_listList deploy hooks, with the last delivery and the last guard verdict Deploy hooks are the URLs a hosting provider (Vercel, Railway, Netlify, Cloudflare, GitHub, or any script) posts deploys to; each production deploy becomes a deploy marker and starts a deploy guard automatically.
Inferred read-onlydeploy_hooks_createCreate a deploy hook URL Returns `url` (https://upbutler.com/hooks/deploy/<token>) to paste into the hosting provider's webhook settings.
Potential side effectsdeploy_hooks_deliveriesRecent deploy hook deliveries What arrived on the deploy hooks, newest first: accepted (marker + guard), preview (a preview deploy whose checks were queued; previewRunId names the run), ignored (still building, failed build, duplicate, a preview that could not be checked) or rejected (bad signature, unreadable body), with the reason.
Inferred read-onlydeploy_hooks_updateUpdate a deploy hook Rename it, change the guard window, include previews, pin it to one service, or set a signing secret per provider (vercel, railway, netlify, cloudflare, github, coolify, generic; null removes one).
Potential side effectsdeploy_hooks_rotateRotate a deploy hook URL Issues a new token and retires the old URL immediately.
Inferred read-onlydeploy_mappings_listList project → monitor mappings Which monitors a deploy of each project is guarded against.
Inferred read-onlydeploy_mappings_resolvePreview which monitors a deploy would be guarded against Dry run of the mapping for a project name and/or the URL it is served from.
Inferred read-onlydeploy_mappings_putSet the monitors a project's deploys are guarded against Replaces the mapping for one project / service name (as the provider sends it; case-insensitive).
Inferred read-onlypreviews_settings_getGet the preview check settings Whether preview deploys are checked, with which monitors, which preview hosts are trusted, whether stored request headers go to previews, and whether a GitHub commit status is posted.
Inferred read-onlypreviews_settings_updateChange the preview check settings Only the fields sent are changed.
Inferred read-onlypreviews_runCheck a preview deployment now Runs the project's HTTP monitors once against the given preview URL (origin swapped, path, query and assertions kept) and returns the verdict: state pass, fail or error, with each check diffed against its latest production result.
Inferred read-onlypreviews_fixAsk the Fix with Claude responder to repair a failing preview For a run whose state is fail: pages the Fix with Claude responder with the failing checks and their production diff, and asks it to push ONE fix commit to that pull request's own head branch (never the default branch, never a fork, never a new pull request).
Inferred read-onlydigest_settingsWeekly digest settings Workspace timezone, who receives the Monday 08:00 email, when the next one goes out and the last runs.
Potential side effectsdigest_settings_updateChange the workspace timezone or your weekly digest opt-in subscribed applies to the signed-in member (owners are subscribed by default).
Inferred read-onlydigest_previewBuild the weekly digest on demand Returns the digest JSON (same shape as the digest.weekly event) and, with format=html, the rendered email.
Potential side effectsincidents_postmortemDraft a postmortem with AI Writes a blameless markdown postmortem (summary, impact, timeline from updates, checks and deploy markers, root-cause hypotheses, contributing factors, what went well/poorly, action items) plus a customer-safe summary, and stores it as a new version.
Inferred read-onlyincidents_postmortem_getGet an incident's postmortem Current markdown, the public summary, publish state and the version list (history=true includes every version's markdown).
Potential side effectsincidents_postmortem_saveSave an edited postmortem (new version) Send baseVersion (the version you edited) to get a 409 instead of overwriting someone else's changes.
Potential side effectsincidents_postmortem_publishPublish a post-incident report to status pages Posts body (default: the postmortem's public summary) as a public update on the resolved incident and notifies subscribers.
Potential side effectstemplates_listList incident templates Reusable title/status/impact/message presets.
Potential side effectstemplates_renderFill in a template Returns title, message, status, impact and components ready for POST /incidents or POST /incidents/{id}/updates.
Potential side effectsresponders_getGet an agent responder With a responder key, use id "me" to read your own settings and guardrails.
Inferred read-onlyresponders_createCreate an agent responder Registers an AI agent that can be paged.
Potential side effectsresponders_updateUpdate an agent responder delivery.headers replaces all headers (send the masked value back to keep one).
Potential side effectsresponders_deleteDelete an agent responder Its incident tokens stop working immediately.
Potential side effectsresponders_testSend a test page Sends a test page (type "responder.test", example packet, no token) through the same delivery path as a real page.
Potential side effectsresponder_wait_for_pageWait for the next page of an agent responder (long-poll) For agents without a public endpoint: be an on-call responder by waiting for pages in a loop (wait → handle → wait).
Inferred read-onlyresponder_ack_pageConfirm that a page was received Stops the page from being delivered again.
Inferred read-onlyrunbooks_setWrite a runbook Markdown instructions for whoever responds: what to check, how to restart, when to roll back, when to give up and escalate.
Potential side effectsincidents_packetIncident handoff packet: everything a responder needs One compact document: the incident, affected monitors with per-region failing evidence and the last good check, components, recent deploys with timing (suspect = shipped within 30 minutes before), related past incidents and how they were resolved, the AI analysis, the timeline, runbooks, your guardrails and links.
Inferred read-onlyincidents_claimClaim an incident (take ownership under a lease) The first claimant owns the incident; anyone else gets 409 with who holds it.
Inferred read-onlyincidents_publicUpdatePost a public update as a responder For agent responders: follows the responder's public-update mode.
Potential side effectsincidents_drafts_approveApprove (and optionally edit) an agent's draft public update Publishes the draft to the status page, attributed to the agent and marked as approved by you.
Potential side effectsincidents_verifyVerify the fix: re-check the incident's monitors from every region now Runs fresh checks of every monitor in the incident from all of its regions (waits up to about a minute for remote regions) and returns pass/fail per monitor and region.
Inferred read-onlyincidents_escalateHand the incident back to humans For when you cannot fix it (or should not try).
Inferred read-onlyincidents_muteBriefly mute the incident's monitors Silence the monitors of this incident (or some of them) while you work, e.g.
Inferred read-onlyincidents_takeoverTake an incident over from an agent Ends the agent's claim and incident token and acknowledges the incident in your name.
Inferred read-onlymonitors_muteMute a monitor for N minutes Checks keep running and components keep following the monitor, but no incident is opened and nobody is alerted until the mute ends (people: up to 24 hours; agents: up to 60 minutes).
Inferred read-onlydeploys_guardWatch monitors after a deploy and get a regression / clear verdict Agent deploy flow: ship → guard → verdict → roll back.
Inferred read-onlydeploys_guards_getGet a deploy guard and its verdict status: watching | regression | clear | cancelled.
Inferred read-onlyincidents_fixAsk the coding agent to fix an incident (Fix with Claude) Pages the workspace's Fix with Claude responder for this incident with the evidence (what changed, suspect deploys, repro command) and an incident-only token.
Potential side effectsincidents_link_prReport the pull request that fixes an incident For the fixing agent (incident token) or a person: stores the pull request on the incident and shows it on the timeline.
Inferred read-onlyincidents_evidenceWhat changed: last good vs first bad check, suspect deploys, repro command The evidence section of the handoff packet on its own, plus the state of the fix.
Potential side effectsfix_updateSet the workspace limits for Fix with Claude The spend guard for your own Claude usage: at most this many fix attempts are started per 24 hours across the workspace (default 5).
Inferred read-onlyfix_repos_setLink a project to its GitHub repository Tells UpButler which repository is behind a project, so evidence links to commits and diffs and the fixing agent knows where to open the pull request.
Inferred read-onlyfix_recipePreview the files and commands of a Fix with Claude delivery Returns what the customer adds on their side without creating anything: github_actions = the workflow file `.github/workflows/upbutler-fix.yml`; local = the listener command; routine = the instructions to paste into a Claude Code routine.
Potential side effectsfix_setupTurn on Fix with Claude: create the responder and get the files to add One call per delivery.
Potential side effectsfix_policyChange the fix policy of a responder enabled: false turns the responder back into an ordinary agent responder (pages carry no fix instructions).
Inferred read-onlyfix_testTest Fix with Claude end to end with a synthetic incident Creates a private synthetic incident ("nothing is down"), pages the responder for it through the real delivery path with a real incident token, and waits for the other side to answer with a note (action "fix-test").
Inferred read-onlyruns_startStart an agent run (no API key needed with the monitor's ar_ token) Tell UpButler an agent started working.
Inferred read-onlyruns_progressReport progress of a run and read the kill switch Call it at every step (or at least every few minutes).
Inferred read-onlyruns_signalRead the kill switch of a run without reporting progress For polling between steps or from a watchdog thread.
Inferred read-onlyruns_endEnd a run: success, failed or cancelled Always end a run, also when it failed or was told to stop (status "cancelled").
Inferred read-onlyruns_getGet a run with its timeline Totals, budget use, active detections, the kill switch state and the last 500 timeline events (progress, detections, stop actions).
Inferred read-onlyruns_stopKill switch: tell a running agent to stop, pause or slow down The agent reads it in its next progress response ({continue:false, action, reason}); a stop webhook, if the monitor has one, is sent right away.
Inferred read-onlyruns_resumeLift a stop, pause or slow-down that the agent has not acted on yet The next progress response says continue:true again.
Inferred read-onlyruns_stopAllKill switch for a whole fleet: stop every running (or every flagged) run of a monitor
Inferred read-onlyincidents_runs_listThe agent runs behind an incident: task, last steps, spend, kill switch state For incidents on agent monitors.
Inferred read-onlyincidents_runs_stopStop the agent runs behind an incident Sets the kill switch on runs of this incident's agent monitors: the given runIds, or every flagged run when omitted.
Inferred read-onlysetup_applyApply an upbutler.yaml: create and update monitors, heartbeats and status pages to match the file Declarative setup.
Potential side effectssetup_exportExport the workspace as an upbutler.yaml For workspaces set up by hand: returns the monitors, heartbeats, status pages and components as a declarative file (`config` as JSON, `yaml` as text).
Inferred read-onlyintegrations_listList hosting accounts connected for rollbacks, and the alert action settings A connected hosting account (Vercel, Netlify) is what lets "Roll back" in an alert put the previous production deployment back.
Inferred read-onlyintegrations_testTest a connected hosting account Calls the provider with the saved token, refreshes the project list and reports whether the token still works.
Inferred read-onlyintegrations_projectsMap project names to provider projects Only needed for deploys that do not come through the provider's own deploy hook (those carry the provider project id already), or when the name on your deploy markers differs from the provider's project name.
Inferred read-onlyalert_actions_updateChoose which actions alerts carry Turn Roll back, Let Claude fix and Mute 1h on or off for every alert of the workspace, and decide whether a rollback needs a signed-in member (default: the signed link is enough in email, Slack, Discord and Telegram; links delivered through webhook channels always need a sign-in).
Potential side effectsincidents_actionsWhat can be done about an incident, in plain words Returns the incident as one plain sentence (`summaryPlain`: what users see, since when, the deploy it followed), the suspect deploy, and what is possible: roll back (state `ready`, `connect`, `map` or `none`; pass preview=true to ask the provider which deployment would be restored), let Claude fix, mute.
Inferred read-onlyincidents_rollbackRoll production back to the deployment before the incident's suspect deploy Asks the hosting provider (Vercel instant rollback, Netlify restore deploy) to serve the previous production deployment again.
Inferred read-onlyerrorRate_getError rate of an error-rate monitor: the current window, per minute, and the failing paths Counts come from the request logs the hosting provider drains to the monitor.
Inferred read-onlyreports_listProblem reports end users sent for a status page, with the signals they added up to Reports are what users typed: untrusted text, for the team only.
Inferred read-onlyreports_updateMark one report as new, known or noise noise = not a problem: it stops counting toward signals and its reporter gets no "fixed" email.
Potential side effectsreports_deleteDelete one report, or everything an email address sent to this page (erasure requests)
Potential side effectsreports_signal_markMark a report signal (and all its reports) as known or noise noise closes the signal, resolves the internal "checks are green" incident if it opened one, and no reporter is emailed.
Inferred read-onlyreports_summarizeAI summary of what users report (one signal, or the last 24 hours for a component) Uses one AI report from the monthly quota.
Inferred read-onlyspend_summarySpend per source and day, with baselines and anomalies Everything the Spend page shows: each spend source (Agent Runs, balance monitors in USD, connected provider accounts) with its daily spend, month to date, what is usual for it and the days that were unusual; the agent runs spending the most today; the spend monitors with their caps and budgets.
Inferred read-onlyspend_sources_createConnect a provider account as a spend source Polls the provider's cost API every 15 minutes with an admin / management key: OpenAI (admin key, GET /v1/organization/costs), Anthropic (Admin API key, GET /v1/organizations/cost_report), OpenRouter (management key, /activity and /credits), Vercel (access token + team, GET /v1/billing/charges).
Inferred read-onlyspend_sources_deleteDisconnect a provider account Removes the stored key and the spend history of this source, and takes it out of every spend monitor.
Inferred read-onlyspend_sources_syncRead a provider account now Polls the cost report right away instead of waiting for the next 15-minute poll.
Inferred read-onlydigest_valueWhat UpButler did: deploys guarded, regressions caught, incidents agents handled The value section of the weekly digest on its own: deploys shipped and how many were guarded, regressions caught after a deploy and how fast, incidents agent responders took, fixes by pull request, rollbacks, agent runs stopped, monitors added, spend watched.
Inferred read-onlybilling_downgrade_previewWhat a lower plan would pause, slow and hide Counts what moving this workspace to a plan would change, with the rules that are applied when a trial ends or a subscription is cancelled: monitors paused and slowed, components hidden, custom domains removed, agent responders switched off, spend monitors paused.
Inferred read-onlyupstream_listThe upstream catalog with current status (no auth) Every service in the catalog with its current status and verdict, one line each.
Inferred read-onlydependencies_listUpstream dependencies of this workspace The third-party services this workspace declared it depends on, each with its current upstream status, plus the paging policy for incidents that are likely upstream.
Inferred read-onlydependencies_setDeclare (or change) a dependency on an upstream service Say that this workspace depends on a catalog service.
Inferred read-onlydependencies_policySet how likely-upstream incidents are paged inform (default): the team is alerted, agent responders are told it is upstream and not to change code, a Fix with Claude responder is not started.
Inferred read-onlydependencies_suggestSuggest dependencies from env var names and package names Pass the NAMES of environment variables (never values) and/or package names from package.json / requirements.txt; returns the catalog services they point at and whether each is already declared.
Inferred read-onlydrills_scenariosList drill scenarios and how drills are scored What each scenario simulates, what ends it and what a good responder does.
Inferred read-onlydrills_startStart an incident drill Opens a synthetic, internal-only incident on the given monitors and lets the responder chain run for real: the escalation policy pages its agent responders with a packet marked `drill: true` that shows a simulated failure.
Inferred read-onlydrills_getGet a drill and, once it ended, its report While the drill runs: status and timing only (the cause stays hidden).
Inferred read-onlydrills_endEnd a running drill now Cancels the drill: the synthetic incident, its tokens and queued pages are removed and no score is recorded.
Inferred read-onlydrills_schedules_createSchedule a recurring drill Runs a drill weekly, monthly (the first chosen weekday of the month) or quarterly at the given hour in the workspace timezone.
Inferred read-onlyattestations_createIssue a signed uptime attestation now Measures the page over the period and signs the result with UpButler's Ed25519 key.
Inferred read-onlyattestations_keysPublic keys that sign uptime attestations (no auth) Every Ed25519 key that ever signed an attestation, retired ones included, as raw base64url and as JWK.
Inferred read-onlyattestations_publicFetch a signed uptime attestation by id (no auth) Returns the signed document { payload, signature } and the result of checking it against the published keys.
Inferred read-onlyattestations_verified_uptimeLive verified uptime of a public status page (no auth) Uptime of the last 30 or 90 UTC days measured by UpButler's own probes, per component, with self-reported components listed separately (verified: false).
Inferred read-onlygithub_statusGitHub App installations connected to this workspace Whether the UpButler GitHub App is available, and the installations connected to this workspace with their repositories and settings.
Inferred read-onlyincidents_roomThe incident room: merged timeline, roles, tasks, approvals, who is here One read of everything about working an incident together.
Inferred read-onlyincidents_room_roleAssign incident commander, comms or ops To a workspace member (user id) or an agent responder (agr_…).
Inferred read-onlyincidents_tasks_setTick or untick a task Agents: tick a task when you have done what it says (task ids are in GET /incidents/:id/room).
Inferred read-onlyincidents_approvals_requestAsk a human to approve something before you do it For agent responders: say what you want to do and wait.
Inferred read-onlyincidents_catchupCatch me up: what happened, what was tried, the hypothesis, open tasks A summary for someone joining late, written from the room's timeline with the status page's AI rules.
Inferred read-onlyincidents_askAsk a question about this incident Answered from the incident's own context (timeline, evidence, runbooks, tasks) with citations to timeline entries (`citations[].id`).
Inferred read-onlypages_access_getAccess settings of a status page (internal pages) Who may view an internal page (allowed email domains, invited addresses, workspace members), its shared links (names and hints, never the tokens), allowed networks, which internal sections it shows, and the viewers signed in right now.
Potential side effectspages_access_updateChange who may view an internal page and what it shows Only the given fields change.
Inferred read-onlypages_access_links_createCreate a shared access link / page access token A long random token, read-only: open `url` on a wallboard or TV (the token moves into a cookie and leaves the address bar), or send it as `Authorization: Bearer <token>` to the page's machine endpoints (status.json, status.agent.json, /mcp).
Potential side effectspages_access_links_rotateRotate a shared access link (the old token stops working at once)
Inferred read-onlypages_access_embed_secret_rotateCreate or rotate the signing secret for signed embeds Signed embeds put an internal page's live widget inside another site (your customer's dashboard) without a sign-in.
Potential side effectspages_access_embed_secret_deleteTurn signed embeds off (tokens signed with the old secret stop working)
Inferred read-onlypages_access_viewers_revokeSign viewers out of an internal page One session (`id` from GET /pages/:pageId/access), every session of an address (`email`), or everyone (`all: true`).
Potential side effectsCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.upbutler]
url = "https://upbutler.com/mcp/public"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"upbutler": {
"type": "http",
"url": "https://upbutler.com/mcp/public"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: upbutler
Remote MCP URL: https://upbutler.com/mcp/public
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"upbutler": {
"url": "https://upbutler.com/mcp/public"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"upbutler": {
"type": "http",
"url": "https://upbutler.com/mcp/public"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "upbutler",
"transport": "streamable-http",
"url": "https://upbutler.com/mcp/public"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Loading Trust v2 evidence…
Checking the associated registrable domain. The BuiltWith key remains server-side.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.