Correlate GitHub releases with Sentry issues and PagerDuty incidents.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Low-level building block: the latest GitHub deployment for a repo (falls back to the latest release), returning sha + timestamp. Used internally by release_radar_whats_broken_since_last_deploy. GitHub: GET /repos/{owner}/{repo}/deployments.
GitHub repo name.
GitHub repo owner/org.
Filter deployments to this environment.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Low-level building block: the latest GitHub deployment for a repo (falls back to the latest release), returning sha + timestamp. Used internally by release_radar_whats_broken_since_last_deploy. GitHub: GET /repos/{owner}/{repo}/deployments.
| Argument | Type | Description |
|---|---|---|
| repo* | string | GitHub repo name. |
| owner* | string | GitHub repo owner/org. |
| environment | string | Filter deployments to this environment. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"owner",
"repo"
],
"properties": {
"repo": {
"type": "string",
"description": "GitHub repo name."
},
"owner": {
"type": "string",
"description": "GitHub repo owner/org."
},
"environment": {
"type": "string",
"description": "Filter deployments to this environment."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| urgency | string | Filter PagerDuty incidents by urgency. |
| sentry_project | string | Sentry project slug/id. Falls back to SENTRY_PROJECT env if omitted. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"urgency": {
"enum": [
"high",
"low"
],
"type": "string",
"description": "Filter PagerDuty incidents by urgency."
},
"sentry_project": {
"type": "string",
"description": "Sentry project slug/id. Falls back to SENTRY_PROJECT env if omitted."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| repo* | string | GitHub repo name, e.g. 'next.js'. |
| owner* | string | GitHub repo owner/org, e.g. 'vercel'. |
| sentry_project | string | Sentry project slug/id. Falls back to SENTRY_PROJECT env if omitted. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"owner",
"repo"
],
"properties": {
"repo": {
"type": "string",
"description": "GitHub repo name, e.g. 'next.js'."
},
"owner": {
"type": "string",
"description": "GitHub repo owner/org, e.g. 'vercel'."
},
"sentry_project": {
"type": "string",
"description": "Sentry project slug/id. Falls back to SENTRY_PROJECT env if omitted."
}
}
}Low-level building block: unresolved Sentry issues over a relative window. Sentry: GET /api/0/projects/{org}/{project}/issues/?query=is:unresolved.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max issues. Default 25. |
| environment | string | Filter issues to this environment. |
| statsPeriod | string | Relative window, e.g. '24h', '14d'. Default 24h. |
| sentry_project | string | Sentry project slug/id (falls back to SENTRY_PROJECT env). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"description": "Max issues. Default 25.",
"exclusiveMinimum": 0
},
"environment": {
"type": "string",
"description": "Filter issues to this environment."
},
"statsPeriod": {
"type": "string",
"description": "Relative window, e.g. '24h', '14d'. Default 24h."
},
"sentry_project": {
"type": "string",
"description": "Sentry project slug/id (falls back to SENTRY_PROJECT env)."
}
}
}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).
| Argument | Type | Description |
|---|---|---|
| repo* | string | GitHub repo name, e.g. 'next.js'. |
| owner* | string | GitHub repo owner/org, e.g. 'vercel'. |
| environment | string | Filter GitHub deployments and Sentry issues to this environment, e.g. 'production'. |
| sentry_project | string | Sentry project slug/id. Falls back to SENTRY_PROJECT env if omitted. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"owner",
"repo"
],
"properties": {
"repo": {
"type": "string",
"description": "GitHub repo name, e.g. 'next.js'."
},
"owner": {
"type": "string",
"description": "GitHub repo owner/org, e.g. 'vercel'."
},
"environment": {
"type": "string",
"description": "Filter GitHub deployments and Sentry issues to this environment, e.g. 'production'."
},
"sentry_project": {
"type": "string",
"description": "Sentry project slug/id. Falls back to SENTRY_PROJECT env if omitted."
}
}
}