cronalert-mcp
cronalert-mcp lets you manage CronAlert uptime monitoring through any MCP-compatible AI client (Claude, Cursor, Windsurf, etc.).
Monitor Management
list_monitors— List all monitors with optional status filtering (up,down,unknown) and paginationcreate_monitor— Create an HTTP monitor with a name, URL, check interval, HTTP method, and expected status codeget_monitor— Retrieve detailed info and current status for a specific monitor by IDupdate_monitor— Modify a monitor's name, URL, method, check interval, expected status code, or pause/resume itdelete_monitor— Permanently delete a monitor and all its check history (irreversible)
Status & Incidents
get_check_results— View recent check history for a monitor, including response times, status codes, and uptime percentageget_monitor_incidents— Retrieve incident (downtime) history for a specific monitorlist_incidents— View all currently active incidents across all monitors
Status Pages
list_status_pages— List all public status pages configured for your account
Most list operations support pagination (up to 100 results per page), and the server can be used remotely without local installation via authentication headers.
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:
{
"mcpServers": {
"cronalert": {
"command": "npx",
"args": ["-y", "cronalert-mcp"],
"env": {
"CRONALERT_API_KEY": "ca_your_api_key_here"
}
}
}
}Claude Code — run:
claude mcp add cronalert -e CRONALERT_API_KEY=ca_your_key -- npx -y cronalert-mcpCursor — add to .cursor/mcp.json:
{
"mcpServers": {
"cronalert": {
"command": "npx",
"args": ["-y", "cronalert-mcp"],
"env": {
"CRONALERT_API_KEY": "ca_your_api_key_here"
}
}
}
}Remote server (no install needed) — connect any MCP client to:
https://cronalert.com/mcpAuthenticate 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).
Related MCP server: DevHelm MCP Server
Available Tools
Tool | Description | Type |
| List all monitors with status and response times | Read |
| Create a new HTTP monitor | Write |
| Get details for a specific monitor | Read |
| Update settings, pause/resume | Write |
| Permanently delete a monitor | Write |
| Check history with uptime % and response times | Read |
| Incidents for a specific monitor | Read |
| All active incidents across monitors | Read |
| Your public status pages | Read |
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: 60CronAlert creates the monitor and returns its ID
The AI calls
get_monitorwith the new ID to show the details
Expected output:
{
"id": "abc123",
"name": "API Health",
"url": "https://api.example.com/health",
"method": "GET",
"checkInterval": 60,
"lastStatus": "unknown",
"createdAt": "2026-03-08T12:00:00Z"
}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 incidentsIf incidents exist, it calls
get_monitorfor each affected monitorIt calls
get_check_resultsto get the recent error details
Expected output (no incidents):
{
"data": [],
"message": "No active incidents"
}Expected output (with incident):
{
"data": [
{
"id": "inc_xyz",
"monitorId": "abc123",
"cause": "Expected status 200, got 503",
"startedAt": "2026-03-08T11:45:00Z"
}
]
}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 monitorsIt identifies the staging monitor by name
It calls
update_monitorwithid: "staging_id"andpaused: true
Expected output:
{
"id": "staging_id",
"name": "Staging Server",
"isPaused": true,
"lastStatus": "up"
}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: support@cronalert.com
Issues: GitHub Issues
License
MIT
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jaredhobbs/cronalert-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server