一键导入
errors
Handle UptimeRobot MCP errors — codes, meanings, retry policy, and user-facing recovery suggestions.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Handle UptimeRobot MCP errors — codes, meanings, retry policy, and user-facing recovery suggestions.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Modify an existing UptimeRobot monitor — rename, change URL/interval, swap alert contacts, retag, tweak HTTP/keyword/API/heartbeat settings, and toggle SSL or domain reminders.
Choose between monitor groups and tags for organizing monitors — group membership is opaque and write-only over MCP, so tags are usually the better default.
Create and publish a public status page from monitors, groups, or tags, and manage announcements (incident, maintenance, info notices) on it.
Pause (or resume) many UptimeRobot monitors at once — by tag, search term, or state — around a deployment or maintenance window.
End-to-end incident workflow — find what's down, diagnose it, pause flapping monitors, and verify recovery.
Schedule one-off or recurring maintenance windows that suppress alerts for planned downtime, as an alternative to bulk-pause.
| name | errors |
| description | Handle UptimeRobot MCP errors — codes, meanings, retry policy, and user-facing recovery suggestions. |
| tags | ["errors","troubleshooting","rate-limit","uptimerobot"] |
The UptimeRobot MCP server returns structured JSON-RPC errors with numeric codes. Map them to user-facing messages rather than echoing raw codes.
| Code | Name | Retryable | Meaning |
|---|---|---|---|
-28001 | monitor_limit_exceeded | No | Account has hit its plan's monitor cap. Creation or resuming a paused monitor exceeded it. |
-28002 | subscription_limit_exceeded | No | Request violates plan limits — most commonly interval too aggressive, or a monitor type not available on the plan. |
-29001 | invalid_parameters | No | Payload failed validation. Includes blacklisted URLs, forbidden fields for a monitor type, wrong enum values, string too long, etc. The error message usually lists the offending fields. |
-30001 | monitor_not_found | No | Monitor ID doesn't exist or isn't owned by this account. |
-30003 | resource_not_found | No | A referenced resource (alert contact, maintenance window, tag) doesn't exist. |
-31001 | user_not_found | No | Authentication failed. The OAuth grant is missing, expired, or revoked. |
-31002 | access_denied | No | The authorized account doesn't have permission for the requested action (e.g. a write tool with read-only access). |
-32603 | internal | Maybe | Unexpected server error. One retry with backoff is fine; escalate on repeat. |
HTTP 429 | rate limit | Yes | Back off with exponential delay + jitter, then retry. |
-28001 monitor limitDo not retry. Tell the user:
You've reached your plan's monitor limit. Delete unused monitors (
list-monitors+update-monitor-status: PAUSEDdoesn't help — paused monitors still count) or upgrade your plan.
-28002 subscription limitDo not retry. Ask whether the user wants to:
interval — plan minima vary).Typical trigger: interval: 30 on Free, or creating types gated by the plan.
-29001 invalid parametersDo not retry. Re-read the error message — it usually names the offending fields. Common causes:
type codes instead of string enums.gracePeriod on HTTP, url on HEARTBEAT, port on KEYWORD).url without a scheme on HTTP / KEYWORD / API.url with a scheme on PING / PORT / UDP / DNS.keywordValue exceeding 500 chars, friendlyName exceeding 200, etc.Fix the payload and resend.
-30001 / -30003 not foundDo not retry. Call list-monitors (or list-integrations) to discover valid IDs and retry with a correct one. If the user typed the ID, it may belong to a different UptimeRobot account.
-31001 unauthenticatedDo not retry the call. Immediately invoke the uptimerobot:setup skill — it re-runs the OAuth flow (clearing the cached grant and reopening the browser) and validates the connection. Do not ask the user to manually check tokens; the setup skill handles that flow.
-31002 access deniedDo not retry the call. The authorized account lacks write permission for this action. Invoke the uptimerobot:setup skill to re-authenticate with an account that has write access.
Do retry, but with backoff:
sleep(min(60s, 2^attempt + random_jitter))
Cap at ~5 attempts; if still throttled, surface the issue to the user. Bulk loops (e.g. pulling stats for hundreds of monitors) are the usual culprit — batch or serialize them.
-28001, -28002, -29001, -30001, -30003, -31002 — they are deterministic client errors.-31001 is also non-retryable, but instead of surfacing it, invoke uptimerobot:setup.manage-monitors — for discovering correct IDs after -30001.create-*-monitor — each lists type-specific forbidden fields that trigger -29001.