io.usefulapi/release-radar

Release Radar MCP by usefulapi

Correlate GitHub releases with Sentry issues and PagerDuty incidents.

1.11.1
Version
remote
Transport
5
Tools

Security review

Review passed

Reviewed 1d ago.

  • tools: 5 tools scanned
  • metadata: scanned

No findings.

Tools (5)

  • whats_broken_since_last_deploy

    COMPOSITE. Finds the latest GitHub deployment/release for a repo, then queries Sentry for unresolved issues SINCE that deploy's timestamp (the deploy time drives the Sentry window), then looks up who's currently on-call in PagerDuty — and synthesizes one situational-awareness object. Degrades gracefully: if Sentry or PagerDuty creds are absent it returns what it can plus a note. GitHub is required (it's the anchor).

  • incident_snapshot

    COMPOSITE. A right-now on-call picture: top unresolved Sentry issues + active (triggered/acknowledged) PagerDuty incidents + who's currently on-call, fused into one snapshot with a human summary. Each service degrades independently if its creds are missing.

  • oncall_handoff

    COMPOSITE. A start-of-shift briefing for whoever is currently on call, fusing all three services: (a) PagerDuty current on-call + any active (triggered/acknowledged) incidents they're inheriting, (b) the GitHub deployment/release that most recently shipped (what's live), and (c) Sentry's top unresolved errors. Correlates them into one object — including a heads-up when a fresh deploy coincides with active incidents (a likely culprit). Degrades gracefully: every service is optional; whatever's unconfigured or failing is named in `notes` and the briefing still returns. Never crashes.

  • github_latest_deploy

    Low-level building block: the latest GitHub deployment for a repo (falls back to the latest release), returning sha + timestamp. Used internally by whats_broken_since_last_deploy. GitHub: GET /repos/{owner}/{repo}/deployments.

  • sentry_recent_issues

    Low-level building block: unresolved Sentry issues over a relative window. Sentry: GET /api/0/projects/{org}/{project}/issues/?query=is:unresolved.