EvoHub Docs Sign in

Integrations

Uptime Kuma

Use with AI
View as MarkdownThis page as plain text, for pasting into an AI tool Open in ClaudeAsk Claude questions about this page Open in ChatGPTAsk ChatGPT questions about this page
Connect to Cursor / VS Code / ClaudeSearch and read these docs from your AI tool (MCP server)

MCP server URL

https://docs-dev.evohub.io/mcp

Claude Code

claude mcp add --transport http evohub-docs-docs https://docs-dev.evohub.io/mcp

Claude (claude.ai and Claude Desktop): Settings → Connectors → Add custom connector, and paste the URL above.

Claude Desktop — claude_desktop_config.json

{
  "mcpServers": {
    "evohub-docs-docs": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://docs-dev.evohub.io/mcp"
      ]
    }
  }
}

Cursor — ~/.cursor/mcp.json

{
  "mcpServers": {
    "evohub-docs-docs": {
      "url": "https://docs-dev.evohub.io/mcp"
    }
  }
}

VS Code — .vscode/mcp.json

{
  "servers": {
    "evohub-docs-docs": {
      "type": "http",
      "url": "https://docs-dev.evohub.io/mcp"
    }
  }
}

EvoHub receives Uptime Kuma notifications through its built-in Webhook notification type. A monitor going down opens an EvoHub alert, and the monitor coming back up resolves it.

Set it up

Create the integration

In EvoHub, go to On-Call → Integrations → + Add Integration, choose Uptime Kuma, pick an Escalation Policy and click Create Integration. Copy the Webhook URL.

Add a Webhook notification

In Uptime Kuma, go to Settings → Notifications → Setup Notification and set Notification Type to Webhook.

Set the URL and body

Set Post URL to your webhook URL and Request Body to Preset - application/json. (Preset - multipart/form-data works too.)

Test it

Click Test. EvoHub answers with success and opens no alert; the integration's Last Event updates.

Enable it on monitors

Turn the notification on for the monitors that should page, or tick Default enabled and Apply on all existing monitors.

What EvoHub reads

Uptime Kuma posts {"heartbeat": {...}, "monitor": {...}, "msg": "..."}:

EvoHub alert Taken from
Title "monitor.name is down", for example "Checkout API is down".
Description heartbeat.msg, the reason the check failed.
Severity Always high.
Labels monitor_type, monitor_id, url (the monitored URL), hostname.
Fingerprint The monitor's ID (or, if a notification has none, its URL, hostname or name).

Resolve and deduplication

  • A heartbeat with status down opens an alert; status up resolves the open alert for that monitor.
  • Pending and maintenance heartbeats are ignored.
  • Another down notification while the alert is open is recorded as Retriggered.
  • Deduplication is per integration: two Uptime Kuma servers connected through two integrations open separate alerts even when their monitor IDs match, and each one's up notification resolves only its own alert.

Troubleshooting

  • Test works but no alerts arrive: the notification is not enabled on the monitor.
  • 400 INVALID_BODY: the request body was set to a custom template. Use one of the presets.

Last updated