Guide · Alerting

MCP server Slack alerts

Useful Slack alerts for MCP servers are specific (one failure mode per message), tiered (critical vs. digest), and dedup'd (no re-posting the same failure every minute). Here's the wiring, the payload, and how to stop paging your team for noise.

TL;DR

Four alert tiers: critical (fire immediately, page on-call), high (Slack, within 1 minute, no page), medium (daily digest), low (weekly digest). Dedup by (server_id, failure_mode) with a 15-minute TTL. Include the probe timestamp, the failure signature, and a link to the public dashboard row. AliveMCP Author tier ($9/mo) ships this webhook with zero code.

The four alert tiers (and what fires in each)

The boundary between tiers is the hardest part. A good rule of thumb: if a fully-rested engineer would be annoyed to be woken up for it, it isn't critical. If they'd want to read it before morning coffee, it's high. If it's a "neat, look at that" fact, it's medium or low.

The Slack payload that actually helps

Alerts fail by being either too thin (one line, no context, person has to click out) or too noisy (50 fields, person scans nothing). Target the middle.

{
  "text": "🔴 my-server.com/mcp — initialize failed",
  "attachments": [{
    "color": "#c40040",
    "fields": [
      {"title": "Failure mode", "value": "JSON-RPC error: auth_required", "short": true},
      {"title": "First seen",   "value": "2026-04-24 03:50:22Z",         "short": true},
      {"title": "Probe",        "value": "initialize",                   "short": true},
      {"title": "Consecutive",  "value": "3 of 3",                       "short": true}
    ],
    "actions": [
      {"type": "button", "text": "Open in AliveMCP",
       "url": "https://alivemcp.com/status/my-server-com"}
    ]
  }]
}

One line that a mobile lock-screen can read. Four fields a phone-scanner can parse in 3 seconds. One button to drill in. That's it.

Dedup, throttling, and snooze

Wiring it yourself vs letting AliveMCP do it

A minimum DIY Slack-alert setup on a cron-probed MCP: Slack incoming webhook URL + a ~30-line script that reads your probe's last 3 rows, decides on a tier, formats the payload, and POSTs. Add a dedup table in SQLite. Add a snooze check. Add a recovery post. You're at 150 lines and a weekend.

On AliveMCP Author ($9/mo), paste the Slack webhook URL into the dashboard and we do the rest with the tier defaults above. Team tier ($49/mo) adds per-environment channels and on-call rotation support. Join the waitlist.

Common alerting mistakes

Related questions

Can I route to Discord or MS Teams instead?

Yes — AliveMCP webhooks post raw JSON that Discord and Teams accept with their own wrappers. The tier structure and dedup logic are identical; only the payload shape differs.

How do I stop false positives from a flaky network?

Require 3 consecutive failed probes (or 2-of-3 in a 3-minute window) before firing critical. That single change removes >90% of flappy alerts in our dataset.

What's the right cadence for the daily digest?

One post, same time every day. 09:00 local is the usual pick. Include the 24h summary: uptime % per server, total incidents, top 3 latency offenders. No links unless something needs action.

Further reading