
Cronalert
io.github.jaredhobbsPublished by GitHub account jaredhobbsv1.5.1Updated Oct 24, 2026
Manage CronAlert uptime monitors, check results, and incidents from any MCP client.
Overview
CronAlert MCP server lets an assistant list, create, update and delete uptime monitors and review check results and incidents.
- What you can do
- List, inspect, create, update, pause and delete HTTP, heartbeat and TCP monitors
- Review check history with uptime percentages and response times
- List active incidents across monitors and per monitor, and read incident updates
- Post status updates on active incidents and list public status pages
- Import monitors from other uptime services or from JSON and CSV
- When to use it
- Useful when you already run uptime monitoring on CronAlert and want an assistant to set up monitors, check whether anything is down, triage incidents, or pause a monitor during maintenance without opening the dashboard.
- Requirements
- Node.js 18+ for the local npm package, or the hosted remote endpoint over Streamable HTTP. A CronAlert account (free tier works) and an API key from Settings, supplied as the CRONALERT_API_KEY environment variable or as a Bearer token in the Authorization header for the remote server.
Installation
In SourceWeft
- Open Cronalert in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
cronalert-mcp
MCP server for CronAlert uptime monitoring. Manage your monitors, check results, and incidents from Claude, Cursor, Windsurf, or any MCP-compatible AI client.
Quick Start
1. Get your API key
Sign up at cronalert.com and create an API key in Settings > API Keys.
When creating the key, choose a scope:
- Read-only — the agent can list and read monitors, check results, and incidents but cannot create, update, or delete anything. Recommended for most agent setups.
- Read & write — full access, including destructive tools. Optionally enable "require confirmation" so deletes need a server-issued confirmation token (see Security & permissions).
2. Add to your MCP client
Claude Desktop — edit ~/Library/Application Support/Claude/claude_desktop_config.json:
Claude Code — run:
Cursor — add to .cursor/mcp.json:
Remote server (no install needed) — connect any MCP client to:
Authenticate with Authorization: Bearer ca_your_key header. Supports Streamable HTTP transport.
3. Start using it
Ask your AI assistant to manage your monitors (see examples below).
4. Optional: add the Agent Skill
The server gives your agent the tools; the cronalert-uptime-monitoring skill tells it when and how to use them (monitor-type selection, heartbeat grace periods, outage triage, confirm-before-delete). Copy the folder into .claude/skills/ (Claude Code) or ~/.codex/skills/ (Codex), or install it from Agensi.
Available Tools
Security & permissions
Approvals in MCP clients are client-side: write tools carry destructiveHint: true, so Claude Code / Desktop / Cursor prompt before running them. CronAlert adds two server-side boundaries so the client prompt isn't the only gate:
- Read-only API keys. A read-only key is rejected on every write endpoint (create/update/delete/import) with a 403 — enforced by the server, regardless of the client. Hand agents a read-only key and destructive tools simply cannot succeed. This is the strongest boundary and the recommended default.
- Confirmation tokens for deletes. If a read-write key has "require confirmation" enabled,
delete_monitorfirst returns a preview plus a short-lived, resource-boundconfirmTokeninstead of deleting. The agent must calldelete_monitoragain with that token in theconfirmargument. This prevents a single stray or prompt-injected call from destroying data and gives the server an auditable, explicit second step.
The API key is scoped to a single team, so the blast radius of any key is that team's resources.
Examples
Example 1: Create a monitor and check its status
User prompt: "Create a monitor for https://api.example.com/health that checks every minute, then show me its details."
What happens:
- The AI calls
create_monitorwithname: "API Health",url: "https://api.example.com/health",checkInterval: 60 - CronAlert creates the monitor and returns its ID
- The AI calls
get_monitorwith the new ID to show the details
Expected output:
Example 2: Check uptime and respond to incidents
User prompt: "Are any of my monitors down? If so, show me the error details."
What happens:
- The AI calls
list_incidentsto check for active incidents - If incidents exist, it calls
get_monitorfor each affected monitor - It calls
get_check_resultsto get the recent error details
Expected output (no incidents):
Expected output (with incident):
Example 3: List monitors and pause one for maintenance
User prompt: "List all my monitors, then pause the staging one."
What happens:
- The AI calls
list_monitorsto get all monitors - It identifies the staging monitor by name
- It calls
update_monitorwithid: "staging_id"andpaused: true
Expected output:
Example 4: Heartbeat for a nightly backup (v1.5.0+)
User prompt: "Create a heartbeat monitor called Nightly DB backup that expects a ping every 24 hours with a 2-hour grace period, and give me the URL to add to the cron job."
What happens:
- The AI calls
create_monitorwithtype: "heartbeat",name: "Nightly DB backup",checkInterval: 86400,gracePeriod: 7200 - CronAlert returns the monitor including its unique ping
url - The AI shows the URL to append to the job, e.g.
pg_dump ... && curl -fsS <url>
checkInterval is the expected seconds between pings (plan minimum, 60 on Pro+, up to 604800). gracePeriod is optional; it defaults to the interval capped at one hour. For http and tcp monitors checkInterval is ignored and set from your plan.
Requirements
- Node.js 18+
- A CronAlert account (free tier works)
- An API key from Settings > API Keys
Privacy Policy
This MCP server connects to the CronAlert API (cronalert.com/api/v1/) using your API key. It transmits:
- Monitor configuration (names, URLs, check intervals) when creating or updating monitors
- API key for authentication on every request
Data is processed by CronAlert's servers on Cloudflare's infrastructure. No data is stored locally by the MCP server itself. See our full Privacy Policy for details on data collection, retention, and your rights.
Support
- Website: cronalert.com
- Email: [email protected]
- Issues: GitHub Issues
License
MIT
Source: README.md at commit ab9fead
Tools
0Version history
2- v1.5.1LatestSep 26, 2026
- v1.0.6Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts