Use AlertKick with your AI assistant
AI assistants set up monitoring well when they can reach the API. This page is self-contained on purpose: paste it into your assistant, or point the assistant at this URL, and it has everything it needs - authentication, endpoints, and working examples.
There are two ways in: the MCP server (richer, tool-based) and the plain HTTP API (works from any assistant that can run curl).
Option 1: the MCP connector
Section titled “Option 1: the MCP connector”AlertKick exposes 38 MCP tools - list servers and alerts, create and manage heartbeats and uptime, SSL, DNS, TCP and domain-expiry monitors, acknowledge and resolve, manage change windows.
The quickest way in is the hosted connector. AlertKick is listed in the Claude connector directory: Settings, then Connectors, then Browse connectors, search for AlertKick, and choose Connect to Claude. There is no API key to paste - authorization is OAuth 2.1 and the connection acts as you, in your workspace only. Full walkthrough: Claude & MCP connector.
Claude Code, or any other MCP client, points at the same URL:
claude mcp add --transport http alertkick https://mcp.alertkick.com/mcpFor a self-managed or on-premise install, run the open-source
akmcp binary over stdio
with an API key from Settings, then API Keys. Claude Desktop
(~/.config/claude/claude_desktop_config.json), Cursor, and other MCP
clients use the same shape:
{ "mcpServers": { "alertkick": { "command": "/path/to/akmcp", "env": { "ALERTKICK_API_KEY": "ak_your_key_here", "ALERTKICK_API_URL": "https://your-team.alertkick.com" } } }}Then ask in plain language:
- “Set up a heartbeat for my nightly backup cron job and give me the line to add to the crontab.”
- “Monitor https://example.com every 5 minutes and alert if the TLS certificate is within 14 days of expiry.”
- “Watch example.com for domain registration expiry.”
- “Show me open alerts and acknowledge the disk-space one.”
Option 2: the HTTP API
Section titled “Option 2: the HTTP API”Everything below uses two values: your tenant subdomain (the
your-team in your-team.alertkick.com) and an API key (ak_...) sent
as the X-API-Key header. Full reference:
alertkick.com/docs and the
OpenAPI spec.
Heartbeat for a cron job (one line)
Section titled “Heartbeat for a cron job (one line)”Creates the heartbeat on first ping, just pings on every run after that.
interval and grace are seconds and apply only at creation:
curl -fsS -H "X-API-Key: $ALERTKICK_API_KEY" \ "https://your-team.alertkick.com/api/v1/hb/auto/nightly-backup?interval=86400&grace=3600"Append it to the job with && so the ping only fires on success. A ping
that stops arriving past the grace period alerts through the account’s
default escalation policy.
HTTPS monitor with certificate expiry
Section titled “HTTPS monitor with certificate expiry”curl -X POST -H "X-API-Key: $ALERTKICK_API_KEY" -H "Content-Type: application/json" \ "https://your-team.alertkick.com/api/v1/monitors/create" -d '{ "display_name": "Marketing site", "monitor_type": "http", "url": "https://example.com", "http_method": "GET", "check_interval_seconds": 300, "timeout_seconds": 30, "expected_status_code": 200, "ssl_cert_monitoring": true, "ssl_cert_expiry_alert_days": 14 }'Domain registration expiry
Section titled “Domain registration expiry”curl -X POST -H "X-API-Key: $ALERTKICK_API_KEY" -H "Content-Type: application/json" \ "https://your-team.alertkick.com/api/v1/monitors/create" -d '{ "display_name": "example.com registration", "monitor_type": "domain", "url": "example.com", "check_interval_seconds": 86400, "timeout_seconds": 30, "domain_expiry_alert_days": 30 }'Other monitor_type values: api (like http, for JSON endpoints), dns
(record resolution, with dns_record_type and expected_dns_host), and
tcp (port checks, with tcp_port).
Triage
Section titled “Triage”# Open alertscurl -H "X-API-Key: $ALERTKICK_API_KEY" \ "https://your-team.alertkick.com/api/v1/alerts?status=triggered"
# Acknowledge / resolve by UUIDcurl -X POST -H "X-API-Key: $ALERTKICK_API_KEY" -H "Content-Type: application/json" \ "https://your-team.alertkick.com/api/v1/alerts/acknowledge" -d '{"UUIDs": ["alert-uuid"]}'Key hygiene
Section titled “Key hygiene”The ak_ account key can do everything the API allows - keep it out of
committed code and crontabs. For recurring pings, fetch the heartbeat
(GET /api/v1/heartbeats/{uuid}) and use its scoped api_key with the
X-Heartbeat-Key header against /api/v1/hb/ping/{uuid} instead; that
key can only ping its own heartbeat. The
heartbeats guide covers the pattern.
Next steps
Section titled “Next steps”- Heartbeat monitoring - intervals, grace periods, and what to put heartbeats on.
- Website monitoring - the uptime monitor half of the estate.
- Escalation policies - who gets paged, and when.