Release Radar MCP by usefulapi
Server Details
Correlate GitHub releases with Sentry issues and PagerDuty incidents.
- Status
- Healthy
- Uptime
- 45.1% over 16 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 5 tools
Three composite tools (incident_snapshot, oncall_handoff, whats_broken_since_last_deploy) all fuse GitHub, Sentry, and PagerDuty data with overlapping outputs, creating fuzzy boundaries despite distinct framing. The two low-level building blocks are clearly distinct. Descriptions help, but an agent may still hesitate between the composites.
All names use snake_case, but the pattern is inconsistent: some are service-prefixed (github_, sentry_), others are descriptive phrases (incident_snapshot, oncall_handoff, whats_broken_since_last_deploy). There is no consistent verb_noun structure. Still readable and predictable enough to work with.
Five tools is a well-scoped set for a read-only situational-awareness server. Each tool addresses a specific question, and the count avoids both bloat and thinness. The overlap among composites is a design concern, not a count issue.
The surface covers the core radar use cases: latest deploy, recent Sentry issues, incident snapshot, on-call handoff, and correlation since deploy. A low-level PagerDuty tool is missing, but composites expose PagerDuty data adequately. Minor gaps only, no dead ends for the stated purpose.
Available Tools
5 toolsgithub_latest_deployLatest GitHub deploy/releaseAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | GitHub repo name. | |
| owner | Yes | GitHub repo owner/org. | |
| environment | No | Filter deployments to this environment. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it does disclose non-obvious behavior: the fallback from deployments to releases and the return shape (sha + timestamp). It says nothing about authentication requirements, rate limits, or pagination, which matter for a GitHub GET endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the key framing ('low-level building block') and tightly written; the fallback and return fields follow immediately. The trailing raw endpoint (GET /repos/{owner}/{repo}/deployments) is the one piece that restates implementation detail rather than adding selecting value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter read tool with no output schema, the description covers what it returns (sha + timestamp), the fallback path, and its role in the toolset. The missing piece is operational context such as auth or rate-limit behavior, but nothing essential for correct invocation is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so owner, repo, and environment are already documented in the schema, making the baseline 3. The description never mentions the optional environment filter or how the fallback interacts with it, so it adds no meaning beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (fetch the latest GitHub deployment for a repo), the fallback to latest release, and the returned fields (sha + timestamp). It explicitly positions itself against the sibling whats_broken_since_last_deploy as its internal building block, so an agent can tell the two apart without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Framing it as a 'low-level building block ... used internally by whats_broken_since_last_deploy' gives clear implied guidance: prefer the higher-level sibling for end-user questions. There is no explicit 'do not call directly' exclusion or stated precondition, so it stops short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
incident_snapshotCurrent incident snapshotAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| urgency | No | Filter PagerDuty incidents by urgency. | |
| sentry_project | No | Sentry project slug/id. Falls back to SENTRY_PROJECT env if omitted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does meaningful work: it discloses graceful partial failure ('each service degrades independently if its creds are missing') and outlines the returned content including a human summary. It omits auth prerequisites, rate limits, and any ordering/timeout behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the composite scope, followed by the failure-mode caveat. No filler and nothing repeated from structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a composite tool with no output schema and no annotations, the description covers inputs' degradation behavior and enumerates what the snapshot contains. It could say more about the shape of the fused output (e.g., how the human summary is delivered) but is largely sufficient to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented there, including the SENTRY_PROJECT env fallback. The prose adds no additional meaning about urgency filtering or project scoping, so this sits at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific aggregate resource and states exactly what it fuses: top unresolved Sentry issues, active PagerDuty incidents, and current on-call. The 'COMPOSITE' framing and 'fused into one snapshot' distinguish it from single-source siblings like sentry_recent_issues without needing the schema opened.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'A right-now on-call picture' clearly conveys the scenario in which this tool applies (live incident triage), so an agent can pick it over the point-source siblings. It stops short of explicit when-not conditions or naming alternatives like sentry_recent_issues for narrower needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
oncall_handoffOn-call handoff briefingAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | GitHub repo name, e.g. 'next.js'. | |
| owner | Yes | GitHub repo owner/org, e.g. 'vercel'. | |
| sentry_project | No | Sentry project slug/id. Falls back to SENTRY_PROJECT env if omitted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses graceful degradation, that every service is optional, that unconfigured/failing services are named in `notes`, that it never crashes, and that it surfaces a deploy-incident correlation heads-up. It omits auth/credential requirements and rate-limit behavior, but the failure-mode disclosure is unusually rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the 'COMPOSITE' label and a clean (a)/(b)/(c) enumeration that maps directly to the three data sources. Slightly dense and the closing 'Never crashes' is largely redundant with 'Degrades gracefully,' but overall every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey the return shape, and it does: 'correlates them into one object,' names the `notes` field, and describes the correlation heads-up. For a composite aggregator, an agent has everything needed to call it and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema (repo, owner, sentry_project with env fallback). The description adds no syntax, format, or meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('start-of-shift briefing' for the on-call person) and explicitly enumerates the three fused sources (PagerDuty, GitHub deploys, Sentry). The 'COMPOSITE' framing instantly distinguishes it from the single-service siblings like github_latest_deploy and sentry_recent_issues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly scopes the usage context ('start-of-shift briefing for whoever is currently on call'), which tells an agent when this is appropriate. It implicitly contrasts with the per-service siblings by naming what it fuses, but never explicitly says 'use X instead when you only need one source.' Clear context, no explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentry_recent_issuesRecent unresolved Sentry issuesAInspect
Low-level building block: unresolved Sentry issues over a relative window. Sentry: GET /api/0/projects/{org}/{project}/issues/?query=is:unresolved.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max issues. Default 25. | |
| environment | No | Filter issues to this environment. | |
| statsPeriod | No | Relative window, e.g. '24h', '14d'. Default 24h. | |
| sentry_project | No | Sentry project slug/id (falls back to SENTRY_PROJECT env). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does add real value by disclosing the underlying call (GET /api/0/projects/{org}/{project}/issues/?query=is:unresolved), which confirms this is a read-only operation and that the query is hard-fixed to is:unresolved. It says nothing about auth requirements, pagination, rate limits, or response shape, which is a notable gap for a zero-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the identity and scope front-loaded before the implementation detail. Every sentence carries information an agent can use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should do more work than it does: it never characterizes the returned issue records (fields, ordering, whether stats/handlers are included) or pagination behavior. The endpoint detail partially compensates, and the fully documented schema covers inputs, but the behavioral picture is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (limit, environment, statsPeriod, sentry_project) are already documented in the schema with defaults and examples. The description's 'relative window' phrasing merely echoes statsPeriod without adding format or constraint detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource combination ('unresolved Sentry issues') with an explicit scope ('over a relative window'), which is unambiguous. It does not, however, differentiate itself from siblings such as whats_broken_since_last_deploy or incident_snapshot, which plausibly surface overlapping data, so the agent gets no direct comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Calling itself a 'low-level building block' implies the intended usage pattern (a primitive to compose into higher-level flows rather than a direct answer tool), which is reasonably strong implied guidance. But there is no explicit when-to-use/when-not-to-use statement and no named alternative, so the agent must infer that the composite siblings are preferred for direct questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whats_broken_since_last_deployWhat's broken since the last deploy?AInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | GitHub repo name, e.g. 'next.js'. | |
| owner | Yes | GitHub repo owner/org, e.g. 'vercel'. | |
| environment | No | Filter GitHub deployments and Sentry issues to this environment, e.g. 'production'. | |
| sentry_project | No | Sentry project slug/id. Falls back to SENTRY_PROJECT env if omitted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and discloses key traits: it degrades gracefully if Sentry or PagerDuty credentials are absent, returns partial results with a note, and states that GitHub is required as the anchor. It does not cover permission scopes or rate limits, but the core failure/dependency behavior is explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences: it leads with 'COMPOSITE.', then enumerates the three data sources and synthesis, then notes graceful degradation and the required anchor. Every sentence adds necessary information with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high complexity (three external integrations) and the absence of an output schema, the description covers inputs, required dependencies, and degradation behavior well. However, it only vaguely describes the return value as 'one situational-awareness object', leaving the agent without structure for interpreting results, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all four parameters (repo, owner, environment, sentry_project) in detail. The description adds no additional parameter meaning or syntax beyond what the schema provides, making the baseline score of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific composite purpose: it finds the latest GitHub deploy, queries Sentry for issues since that deploy, looks up PagerDuty on-call, and synthesizes one object. This clearly distinguishes it from siblings like github_latest_deploy or sentry_recent_issues by emphasizing that it combines those sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'COMPOSITE' label and the described synthesis imply when to use it, but the description does not explicitly say when to prefer this tool over calling the individual sibling tools, nor does it state exclusions or alternative conditions. Usage is left to inference from the tool's purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Changed
github_latest_deploy1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
incident_snapshot1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
oncall_handoff1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sentry_recent_issues1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
whats_broken_since_last_deploy1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
5 tool updates
- First observed
github_latest_deploy - First observed
incident_snapshot - First observed
oncall_handoff - First observed
sentry_recent_issues - First observed
whats_broken_since_last_deploy
Related MCP Connectors
- ShipstarOAuthai.shipstar
Generate changelogs, release emails, help-center articles, banners, and social posts from commits.
Dependency releases, TLS and domain expiry, and vendor status pages from one endpoint.
Monitor third-party API changes in GitHub repos, map breaks to files, open reviewable auto-fix PRs.
Investigate errors, track deployments, analyze performance, and manage application monitoring
Related MCP Servers
- FlicenseAqualityCmaintenanceCombines GitHub releases from multiple repositories into a single product release note, with context sources for LLM synthesis.720 PyPI-
- AlicenseAqualityBmaintenanceConnects AI agents to live observability stacks including Sentry, GitHub, Vercel, Better Stack, and Cloudflare, enabling end-to-end incident investigation, deployment correlation, root cause analysis, and regression triage.14MIT
- AlicenseAqualityBmaintenanceEnables building structured release evidence by comparing two Git refs and correlating commits, merged pull requests, linked issues, labels, changed files, and contributors.325 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables querying recent GitHub pull requests and commit diffs to correlate them with incident symptoms, and executing approved PR reverts through the GitHub REST API.-
Glama MCP Gateway
Add one secure layer between your agents and this server.