{
  "markdown": "# UptimeRobot for AI agents\n\nThis repo is UptimeRobot's single source of truth for AI agent integrations. It publishes:\n\n- `**llms.txt**` and `**AGENTS.md**` — discovery and orientation for LLMs and coding agents.\n- `**.claude-plugin/**`**, **`**.cursor-plugin/**`**, and **`**.codex-plugin/**` — installable plugin manifests for Claude Code, Cursor, and Codex.\n- `**skills/**` — self-contained skill files covering every UptimeRobot MCP tool plus onboarding and runbook workflows.\n- `**rules/**` — shared rules loaded by both Cursor and Claude Code.\n- `**mcp.json**` — Cursor-format MCP server config (dot-less filename).\n- `**.mcp.json**` — Claude Code MCP server config (dot-prefixed so Claude Code auto-registers the server when the plugin loads).\n- `**codex.mcp.json**` — Codex-format MCP server config (`mcp_servers` snake_case key, referenced explicitly by the Codex manifest).\n- `**.agents/plugins/marketplace.json**` — repo-scoped Codex marketplace for local install and testing; Codex auto-discovers this file when the repo is open.\n- `**assets/logo.png**` — marketplace logo, declared as the `icon` in the Cursor and Codex manifests (Claude Code's plugin manifest has no icon field; the directory listing supplies its icon at submission time).\n\nThe `mcp.json`, `.mcp.json`, and `codex.mcp.json` files all register the same `mcp-remote` launcher that proxies to `https://mcp.uptimerobot.com/mcp` and runs the OAuth browser flow. Three filenames exist only because Claude Code, Cursor, and Codex each expect their own convention (and Codex requires `mcp_servers` in snake_case rather than `mcpServers`).\n\nThe same content is mirrored under `uptimerobot.com/` for crawler discovery (`uptimerobot.com/llms.txt`, `uptimerobot.com/AGENTS.md`, etc.).\n\n## Install\n\n### Claude Code\n\n#### From the marketplace (once published)\n\nUptimeRobot is being submitted to Anthropic's **community** plugin marketplace. Once accepted, add that marketplace once and install:\n\n```bash\n/plugin marketplace add anthropics/claude-plugins-community\n/plugin install uptimerobot@claude-community\n```\n\nOr run `/plugin`, open the **Discover** tab, find **UptimeRobot**, and install it. (The community marketplace must be added first — it isn't built in. Only Anthropic's curated official marketplace shows up in `/plugin` with no setup.)\n\nThe MCP server auto-registers via `.mcp.json` as soon as the plugin loads. The first time it connects, a browser opens for you to log into UptimeRobot and authorize access (OAuth) — there's no API key to paste. Tokens are cached locally, so you only do this once.\n\n#### Local clone (manual plugin install)\n\nTo run the full plugin (skills, rules, commands, and the auto-registered MCP server) straight from a local checkout — no marketplace required — clone the repo and load it with the `--plugin-dir` flag:\n\n```bash\ngit clone https://github.com/uptimerobot/ai.git\nclaude --plugin-dir ./ai\n```\n\n`--plugin-dir <path>` loads the plugin from a directory (the one containing `.claude-plugin/plugin.json`) for that session only. The flag is repeatable and also accepts a `.zip`. Use an absolute path if you launch Claude Code from elsewhere:\n\n```bash\nclaude --plugin-dir /absolute/path/to/ai\n```\n\nOn first connection a browser opens for the OAuth flow. Run `/plugin` to confirm the plugin is loaded and `uptimerobot MCP Server` shows ✓ connected.\n\n#### MCP server only (scripted)\n\nIf you just want the MCP tools without the rest of the plugin (dotfiles, CI bootstrap), see `[skills/setup/SKILL.md](skills/setup/SKILL.md)`. Short version:\n\n```bash\nclaude mcp add uptimerobot -- npx -y mcp-remote@latest https://mcp.uptimerobot.com/mcp\n```\n\nThen quit and relaunch Claude Code, completing the OAuth browser flow when it appears. Run `/plugin` to confirm `uptimerobot MCP Server` shows ✓ connected.\n\n### Cursor\n\n#### From the Marketplace (once published)\n\nBrowse the [Cursor Marketplace](https://cursor.com/marketplace), find **UptimeRobot**, and click **Add to Cursor**. Authorize through the OAuth browser flow when the MCP server first connects — no API key needed.\n\n#### Local install (for development and pre-submission testing)\n\nFollow [Cursor's plugin docs](https://cursor.com/docs/plugins):\n\n```bash\n# Clone or symlink this repo into Cursor's local plugin folder\ngit clone https://github.com/uptimerobot/ai.git ~/.cursor/plugins/local/uptimerobot-ai\n```\n\nLaunch Cursor and run **Developer: Reload Window** from the command palette.\n\nVerify the plugin is discovered:\n\n- **Settings → Rules, Skills, Subagents** — the `uptimerobot.mdc` rule and every `skills/*/SKILL.md` entry should be listed.\n- **Settings → Tools & MCPs** — `uptimerobot` should appear with 32 tools once the MCP server connects. Complete the OAuth browser flow on first connection.\n\n### Codex\n\n#### Local install (for development and pre-submission testing)\n\nClone the repo and open it in Codex. The repo-scoped marketplace at `.agents/plugins/marketplace.json` is auto-discovered, so **UptimeRobot (local)** will appear in the Codex plugin directory without any extra setup. Install the plugin, then complete the OAuth browser flow on first MCP connection.\n\nIf you want Codex to track the source explicitly:\n\n```bash\ncodex plugin marketplace add ./\n```\n\nVerify the plugin is loaded: the 24 skills should be available and the `uptimerobot` MCP server should appear with 32 tools once connected.\n\n### Other agents / direct MCP\n\nThe server is listed in the [official MCP Registry](https://registry.modelcontextprotocol.io) as `com.uptimerobot/uptimerobot`, so any registry-aware client can discover and install it without a per-client plugin submission. Metadata lives in [`server.json`](server.json):\n\n```bash\ncurl -s \"https://registry.modelcontextprotocol.io/v0.1/servers?search=com.uptimerobot/uptimerobot\"\n```\n\nClients without registry support can connect via the same `mcp-remote` launcher (OAuth on first use):\n\n```json\n{\n  \"mcpServers\": {\n    \"uptimerobot\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-remote@latest\", \"https://mcp.uptimerobot.com/mcp\"]\n    }\n  }\n}\n```\n\n#### Headless / CI (no browser)\n\nWhere the OAuth browser flow can't run, connect over plain HTTP with a Main API key from the dashboard (**Integrations & API**) instead:\n\n```json\n{\n  \"mcpServers\": {\n    \"uptimerobot\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.uptimerobot.com/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer YOUR_API_KEY\" }\n    }\n  }\n}\n```\n\n## What the plugin provides\n\n32 tools via MCP, grouped by resource — full list and payloads in `[AGENTS.md](AGENTS.md)` and `[skills/](skills/)`:\n\n### Monitors\n\n| Tool                    | Purpose                                                                |\n| ----------------------- | ---------------------------------------------------------------------- |\n| `create-monitor`        | Create HTTP, KEYWORD, PING, PORT, HEARTBEAT, DNS, API, or UDP monitors |\n| `update-monitor`        | Change name, URL, interval, alert contacts, tags, HTTP settings        |\n| `update-monitor-status` | Pause or resume a monitor                                              |\n| `list-monitors`         | Paginated list with search + state filters                             |\n| `get-monitor-details`   | Full config + current state for one monitor                            |\n| `get-monitor-stats`     | Aggregated up/down/paused counts + uptime %                            |\n| `get-response-times`    | Time-series response-time data with buckets                            |\n\n### Monitor groups (plan-gated: `monitor-groups`)\n\n| Tool                    | Purpose                                                     |\n| ------------------------ | ------------------------------------------------------------ |\n| `create-monitor-group`  | Create a group and assign monitors to it                    |\n| `update-monitor-group`  | Rename an existing group                                     |\n| `get-monitor-group`     | Fetch a single group by ID                                   |\n| `list-monitor-groups`   | Paginated list of groups                                     |\n\n### Status pages (PSPs)\n\n| Tool          | Purpose                                                              |\n| ------------- | --------------------------------------------------------------------- |\n| `create-psp`  | Create a public status page from monitors, groups, or tags            |\n| `update-psp`  | Change name, domain, sort order, visibility, or publish status        |\n| `get-psp`     | Fetch a single status page by ID                                      |\n| `list-psps`   | Paginated list of status pages                                        |\n\n### PSP announcements\n\n| Tool                        | Purpose                                              |\n| ---------------------------- | ------------------------------------------------------ |\n| `create-psp-announcement`   | Post an announcement (info/maintenance/issue) to a status page |\n| `update-psp-announcement`   | Edit title, content, dates, type, or publish status     |\n| `pin-psp-announcement`      | Pin an announcement to the top of the page              |\n| `unpin-psp-announcement`    | Unpin an announcement                                    |\n| `get-psp-announcement`      | Fetch a single announcement by ID                        |\n| `list-psp-announcements`    | Paginated list of announcements for a status page        |\n\n### Maintenance windows (plan-gated: `maintenance-window`)\n\n| Tool                          | Purpose                                                        |\n| ------------------------------ | ----------------------------------------------------------------- |\n| `create-maintenance-window`   | Schedule a one-off or recurring window that suppresses alerts     |\n| `update-maintenance-window`   | Change schedule, duration, monitors, or pause/resume the window   |\n| `get-maintenance-window`      | Fetch a single window by ID                                       |\n| `list-maintenance-windows`    | Paginated list of windows                                         |\n\n### Incidents\n\n| Tool                    | Purpose                                                      |\n| ------------------------ | --------------------------------------------------------------- |\n| `list-incidents`        | Incidents across monitors, with time range + monitor filter     |\n| `get-incident-details`  | Per-incident checker locations, logs, traceroute                |\n\n### Incident comments (plan-gated: `incident-comments`)\n\n| Tool                       | Purpose                                  |\n| --------------------------- | ------------------------------------------ |\n| `create-incident-comment`  | Add a comment to an incident               |\n| `update-incident-comment`  | Edit an existing comment                   |\n| `list-incident-comments`   | Paginated list of comments on an incident  |\n\n### Integrations & tags\n\n| Tool                  | Purpose                                    |\n| ---------------------- | --------------------------------------------- |\n| `list-integrations`   | Available alert-contact integrations          |\n| `list-tags`            | Paginated list of tags on the account         |\n\n### No account needed\n\nThe [`quick-monitor-setup`](skills/quick-monitor-setup/SKILL.md) skill creates a free HTTPS monitor from just someone's email, no account, API key, or OAuth: the agent calls an unauthenticated proof-of-work API and the owner confirms by clicking a link in an activation email. Guide: <https://uptimerobot.com/quick-monitor-setup/>.\n\n## Plan requirements\n\nUptimeRobot plans are **Free, Solo, Team, Enterprise**. Monitor-type availability, interval minimums, and monitor limits depend on the active plan — the MCP server enforces these and returns error code `-28002` (`subscription_limit_exceeded`) when a call would exceed them. See `[skills/errors/SKILL.md](skills/errors/SKILL.md)`.\n\n## Troubleshooting\n\n### Tools not showing up in Claude / Cursor\n\nThe MCP handshake sometimes completes after the client captures its tool list at session start, so the tools appear absent even though the server is connected. Fix: fully quit the client (close the terminal, not just `/exit`) and relaunch. Run `claude mcp list` to confirm `uptimerobot` shows `✓ Connected` before relaunching.\n\n### Authentication problems\n\n| Symptom | Fix |\n| --- | --- |\n| OAuth browser didn't open | Copy the authorization URL `mcp-remote` prints in the terminal and open it manually |\n| Tools return `-31001 user_not_found` | Clear cached tokens with `rm -rf ~/.mcp-auth`, then fully quit and relaunch to re-run the OAuth flow |\n| Write tools return `-31002 access_denied` | Re-authenticate (`rm -rf ~/.mcp-auth`) with an account that has write permission |\n\n### API error codes\n\n| Code | Meaning | What to do |\n| --- | --- | --- |\n| `-28001` | Monitor limit reached | Delete unused monitors or upgrade your plan |\n| `-28002` | Subscription limit | Interval too aggressive for your plan, or monitor type not included — loosen the interval or upgrade |\n| `-29001` | Invalid parameters | The error message names the offending fields; fix them and retry |\n| `-31001` | Authentication failed | See Authentication problems above |\n| HTTP `429` | Rate limit | Back off and retry with exponential delay |\n\nFor the full error reference and recovery recipes see [`skills/errors/SKILL.md`](skills/errors/SKILL.md).\n\n## Contributing\n\nThis repo is generated / curated. File issues at [https://github.com/uptimerobot/ai/issues](https://github.com/uptimerobot/ai/issues). For MCP server bugs, use [https://uptimerobot.com/contact](https://uptimerobot.com/contact).\n\n## Privacy & Terms\n\n- [Privacy Policy](https://uptimerobot.com/privacy/)\n- [Terms of Service](https://uptimerobot.com/terms/)\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n",
  "bytes": 13851,
  "sha": "eb75c688e5c528bc88120ff184ddcd0fbac73f4f6fc97fc38e4f09f9ed6490dd",
  "repo_slug": "uptimerobot/ai",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_uptimerobot_uptimerobot_660fa569/readme"
}