Airbrake MCP by usefulapi
Server Details
Read Airbrake projects, error groups, notices, deploys and stats; mute or unmute error groups.
- Status
- Healthy
- Uptime
- 97.1% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 13 tools
Each tool targets a distinct resource and action, such as projects, groups, notices, deploys, stats, and mute/unmute. Overlaps like get_group versus list_groups are clearly separated by detail level, and the stats tools specify group versus project scope.
All 13 tools use the same snake_case pattern with an airbrake_ prefix followed by a verb_noun structure (get, list, mute, unmute). There are no deviations or mixed conventions.
13 tools is well-scoped for an Airbrake API client covering projects, groups, notices, deploys, stats, activities, and muting. Each tool maps to a meaningful endpoint with no evident redundancy.
The read surface is strong, covering projects, groups, notices, deploys, activities, and statistics. However, core write operations are missing: no resolve/unresolve group, no create/update/delete project, no create deploy, and no create notice, which limits end-to-end workflows.
Available Tools
13 toolsairbrake_get_deployGet a deployARead-onlyInspect
Get one deploy: environment, deployer, repository, revision and version. Airbrake API: GET /api/v4/projects/{project_id}/deploys/{deploy_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| deploy_id | Yes | Deploy id (digits, as a string). From airbrake_list_deploys or a group's lastDeployId. | |
| project_id | Yes | Airbrake project id (from airbrake_list_projects). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description goes beyond that by naming the exact fields returned and the underlying API endpoint, giving useful behavioral context; it does not cover error cases (e.g., missing deploy) but that is a minor gap for a simple getter.
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 compact elements – a purpose sentence and the API endpoint – with the verb and resource front-loaded and no filler. Slightly more efficient framing is possible, but nothing is wasted.
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 read-only single-resource getter with annotations covering safety and a fully documented schema, the description is nearly complete, and listing the returned fields compensates for the absent output schema. Only the lack of any error/not-found context keeps it from being fully complete.
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 both parameters (project_id, deploy_id) are already documented, including the pattern and where the id originates. The description only restates the ids inside the endpoint path, adding no new syntax or format detail, so the baseline 3 is 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?
States a specific verb and resource ('Get one deploy') and enumerates the returned fields (environment, deployer, repository, revision, version), which is more than a tautology. It does not explicitly contrast with the sibling airbrake_list_deploys, though 'one deploy' vs a list tool makes the distinction reasonably inferable.
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?
No explicit when-to-use or when-not-to-use guidance is given; the agent must infer that this fetches a single deploy rather than listing them. The REST endpoint path (with project_id and deploy_id) implies the lookup context, but the routing decision versus airbrake_list_deploys is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbrake_get_groupGet an error groupARead-onlyInspect
Get one error group in full: resolved flag, every error with its complete backtrace (file, function, line, column), context, last deploy, last notice id/time, notice counts and creation time. Airbrake API: GET /api/v4/projects/{project_id}/groups/{group_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Error group id (digits, as a string: Airbrake group ids exceed JavaScript's safe integers). From airbrake_list_groups. | |
| project_id | Yes | Airbrake project id (from airbrake_list_projects). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only supply readOnlyHint=true, so the description carries the rest and does so well: it discloses the exact shape of the payload (resolved flag, complete backtraces with file/function/line/column, context, last deploy, notice counts) and names the underlying API endpoint. It omits pagination/size behavior for the potentially large notice list, which keeps it short of a 5.
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 purpose and the full field inventory are front-loaded into one dense sentence, followed by the endpoint reference. Every clause carries information, though the long comma-separated field list is heavier to parse than necessary.
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's field enumeration is what tells the agent what comes back, and it covers the returned data thoroughly. The remaining gap is behavioral edge cases (volume of notices, any truncation), which are minor for a read-only lookup.
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% – both project_id and group_id are already documented in the schema, including sourcing hints (from airbrake_list_groups / airbrake_list_projects). The description only restates them inside the API path template, adding no new parameter semantics. 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 (Get) and resource (one error group) with the scope made explicit ('in full'), then enumerates exactly what 'full' means. This clearly separates it from airbrake_list_groups (many groups) and airbrake_get_group_stats (aggregates only).
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?
Usage is implied: fetch the complete detail of a single group when you already have its id. There is no explicit when-to-use/when-not statement and no pointer to siblings like airbrake_get_group_stats or airbrake_list_groups as alternatives, so an agent must infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbrake_get_group_statsGet error group statisticsARead-onlyInspect
Occurrence counts over time for one error group: parallel arrays time, accepted (notices counted) and limited (dropped by rate limits), aggregated per period, from since until until (default now). Use it to see whether an error is spiking or fading. Airbrake API: GET /api/v5/projects/{project_id}/groups/{group_id}/stats.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max data points (default 100). | |
| since | Yes | Start (inclusive), RFC 3339 date-time with timezone; sent as time__gte in Unix seconds. | |
| until | No | End (exclusive, default now), RFC 3339 date-time with timezone; sent as time__lt. | |
| period | Yes | Aggregation period. The reference lists 1m, 5m, 15m, 30m, 2h, 3h, 6h, 12h, 24h (project stats) and minute, hour (group stats). | |
| group_id | Yes | Error group id (digits, as a string: Airbrake group ids exceed JavaScript's safe integers). From airbrake_list_groups. | |
| project_id | Yes | Airbrake project id (from airbrake_list_projects). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already declaring the safety profile, the description adds real context: the distinction between 'accepted' (notices counted) and 'limited' (dropped by rate limits), per-period aggregation, and the default of until=now. It stops short of noting limits/order of returned points or any API rate-limit 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 dense sentences: the output shape and window semantics come first, the motivation and endpoint second. No filler, no repetition of the title.
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 valuably sketches the return structure (parallel arrays) and the time window semantics. It omits how 'limit' truncates or orders the series and what happens for groups with no events in range, which are the remaining gaps for a 6-parameter tool.
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 since/until/period/limit are already documented in detail by the schema. The description echoes the since/until window and default-now behavior rather than adding syntax or constraints beyond it, matching the baseline for a fully covered schema.
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 precise verb+resource scoped to 'one error group' and names the returned fields (time, accepted, limited), which separates it cleanly from sibling airbrake_get_project_stats. The Airbrake endpoint path is included, removing any ambiguity about what is fetched.
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?
Gives a concrete use case ('see whether an error is spiking or fading'), which is clear guidance. It does not, however, explicitly contrast itself with airbrake_get_project_stats or say when not to use it, so the alternative is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbrake_get_notice_statusGet a notice's processing statusARead-onlyInspect
Check what happened to a reported error, by the notice id that Airbrake's create-notice API returned: code = processed (groupId = its error group), rejected (message = why, e.g. an app-version filter), archived (past retention) or not_found (unknown or still processing). Airbrake API: GET /api/v4/projects/{project_id}/notice-status/{notice_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| notice_id | Yes | The notice id returned by Airbrake's create-notice API (v3) when the error was reported. | |
| project_id | Yes | Airbrake project id (from airbrake_list_projects). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint already covering the safety profile, the description goes further and enumerates every terminal outcome (processed + groupId, rejected + reason, archived, not_found) plus the hint that not_found may mean still-processing. This effectively substitutes for the absent output schema and is exactly the behavioral context an agent needs.
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?
A single dense sentence that is front-loaded with the purpose and then unpacks the status codes; every clause carries information. The nested parentheticals make it slightly harder to scan than a short bulleted enumeration would.
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 two-parameter read-only status lookup with no output schema, the description supplies the outcome vocabulary, the meaning of the rejection message, and the endpoint. Nothing an agent needs to call it correctly or interpret the result is missing.
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 both project_id and notice_id are already documented in the schema, including the notice-id origin. The description repeats the notice-id provenance but adds no new format, constraint, or source detail beyond what the schema provides, so the baseline of 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+resource+scope: check the processing outcome of a reported error identified by notice id. It is clearly distinct from siblings like airbrake_list_notices or airbrake_get_group, and it even names the underlying API route for precision.
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?
Explains the precondition for use — the notice id must come from Airbrake's create-notice API response — which tells the agent when this tool applies. It does not name alternative tools or explicit exclusions, so it falls short of a full when/when-not statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbrake_get_projectGet a projectARead-onlyInspect
Get one Airbrake project: name, last deploy id/time, notice total, rejection count, deploy count and resolved/unresolved error-group counts. Airbrake API: GET /api/v4/projects/{project_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Airbrake project id (from airbrake_list_projects). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered; the description adds real value by disclosing what the response contains and the underlying route (GET /api/v4/projects/{project_id}). It stops short of noting error behavior for a nonexistent id or permission requirements.
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 waste: the purpose and field list are front-loaded, and the API route is relegated to a trailing clause. Every sentence 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 one fully documented parameter, no nested objects, and no output schema, the description carries the full burden of return-value disclosure and does so by enumerating the fields. Nothing an agent needs to invoke it correctly is missing.
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 the single project_id parameter is already documented as coming from airbrake_list_projects, so the description adds nothing beyond the schema. This is the correct baseline when the schema does the heavy lifting.
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 ('Get one Airbrake project') and immediately enumerates the returned fields (name, last deploy id/time, notice/deploy/rejection/error-group counts), which visibly separates it from siblings like airbrake_get_project_stats and airbrake_list_projects. An agent can select it 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?
Usage is implied by 'Get one Airbrake project' versus the plural airbrake_list_projects, but there is no explicit when-to-use/when-not, and nothing explains how to choose it over the similarly named airbrake_get_project_stats. No alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbrake_get_project_statsGet project statisticsARead-onlyInspect
Error volume over time for a whole project: parallel arrays time, accepted (notices counted), limited (dropped by rate limits) and overQuota (dropped over the plan quota), aggregated per period (1m, 5m, 15m, 30m, 2h, 3h, 6h, 12h, 24h). Airbrake API: GET /api/v5/projects/{project_id}/stats.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max data points (default 100). | |
| since | No | Start (inclusive), RFC 3339 date-time with timezone; sent as time__gte in Unix seconds. | |
| period | No | Aggregation period. The reference lists 1m, 5m, 15m, 30m, 2h, 3h, 6h, 12h, 24h (project stats) and minute, hour (group stats). | |
| project_id | Yes | Airbrake project id (from airbrake_list_projects). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds valuable return semantics beyond annotations: it names the time, accepted, limited, and overQuota arrays and explains that limited means dropped by rate limits and overQuota means dropped over plan quota.
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 purpose is front-loaded in the first clause, and the single sentence packs the return structure and aggregation periods without filler. The endpoint sentence adds concise operational context.
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 carries the burden of explaining returns, and it does so clearly with the named arrays and their meanings. Parameters and safety annotations are already covered elsewhere, so an agent has enough to call and interpret the tool 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%, so 3 is the baseline. The description restates the period values already documented in the schema and adds no further meaning for limit, since, or project_id.
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 subject (error volume over time) and scope (whole project), and names the parallel arrays returned. The phrase 'for a whole project' distinguishes it from the sibling airbrake_get_group_stats, so an agent can tell them apart without opening the 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?
No explicit when-to-use or when-not guidance is given, and no alternative tool is named. The scope phrase 'for a whole project' implies usage relative to the group-stats sibling, but the agent must infer that context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbrake_list_activitiesList project activityARead-onlyInspect
List a project's activity feed: who did what and when (for example group.resolved), with user name, activity, the affected object (trackableType/trackableId) and timestamps. Airbrake API: GET /api/v4/projects/{project_id}/activities.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| limit | No | Items per page (default 20, max 100 here). | |
| project_id | Yes | Airbrake project id (from airbrake_list_projects). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description goes beyond that by describing the returned payload shape (user name, activity, trackableType/trackableId, timestamps) and giving a concrete activity example, though it says nothing about ordering or pagination behavior beyond the schema's page/limit.
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?
Purpose and return fields are front-loaded in one dense sentence, followed by the API endpoint reference. Nothing is wasteful, though the endpoint line is arguably redundant with the REST-style naming and the payload enumeration makes the first sentence long.
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 read-only list tool with fully documented schema parameters, annotations covering safety, and no output schema, the description supplies the missing return-field detail and an activity type example. It is nearly self-sufficient, lacking only ordering/pagination nuance that an agent might want.
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 coverage is 100%, with page, limit, and project_id all documented in the schema (including defaults and max values). The description adds no syntax or constraint detail beyond what the schema already provides, so the baseline of 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 and resource (list a project's activity feed) and immediately defines what an 'activity' contains (who did what and when, e.g. group.resolved), which cleanly separates it from sibling list tools like list_deploys, list_groups, and list_notices.
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?
Usage is implied by the clear 'activity feed' framing and the API endpoint, but there is no explicit when-to-use guidance and no mention of alternatives or exclusions (e.g. versus get_project_stats). Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbrake_list_deploysList deploysARead-onlyInspect
List a project's tracked deploys: environment, username/email of the deployer, repository, revision (commit) and version. Use it to correlate new errors with a release. Airbrake API: GET /api/v4/projects/{project_id}/deploys.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| limit | No | Items per page (default 20, max 100 here). | |
| project_id | Yes | Airbrake project id (from airbrake_list_projects). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this as a safe read, so the description carries a lighter burden. It adds the underlying API endpoint and the shape of returned data, but says nothing about pagination defaults/limits in prose (the schema covers them) or result ordering. Moderate added value on top of annotations.
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: the first defines scope and returned fields, the second states the use case, with the API endpoint appended as reference. Nothing is redundant and the key information is front-loaded.
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 read-only list tool with a complete input schema and a readOnly annotation, the description supplies purpose, returned fields, and motivation. Enumerating the returned fields compensates for the absent output schema, leaving no material gap for correct invocation.
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 page, limit, and project_id are already fully documented in the schema, including defaults and the max-100 limit. The description adds no parameter-level meaning beyond that, which is the expected baseline when the schema does the heavy lifting.
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 ('List a project's tracked deploys') and enumerates the returned fields (environment, deployer, repository, revision, version). This cleanly distinguishes it from the sibling airbrake_get_deploy, which fetches a single deploy.
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?
Gives a clear use context ('correlate new errors with a release'), which tells the agent when this tool is appropriate. It stops short of naming alternatives or exclusions — e.g., that airbrake_get_deploy is for a single known deploy — so it is not full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbrake_list_groupsList error groupsARead-onlyInspect
List a project's error groups ("errors" in the Airbrake app): each with id, resolved flag, error type/message/backtrace, context (environment, severity, component/action), last notice time, notice counts and last deploy. Sorted by last notice by default; order by notice_count, weight or created instead. Filter by deploy, archived or muted groups, or creation time. Backtraces are cut to the first 5 frames (set full_backtraces for all; airbrake_get_group shows one group in full). Airbrake API: GET /api/v4/projects/{project_id}/groups.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| limit | No | Items per page (default 20, max 100 here). | |
| muted | No | true = return muted groups. | |
| order | No | Sort order (default last_notice). | |
| archived | No | true = return archived groups. | |
| end_time | No | Only groups created before this RFC 3339 date-time (with timezone). | |
| deploy_id | No | Only groups of this deploy. | |
| project_id | Yes | Airbrake project id (from airbrake_list_projects). | |
| start_time | No | Only groups created after this RFC 3339 date-time (with timezone). | |
| full_backtraces | No | Return every backtrace frame (default: first 5 per error). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true, so the description carries most of the behavioral burden and does so well: it discloses that backtraces are silently truncated to the first 5 frames, that the default sort is last notice, and that filtering can be scoped to deploy/archived/muted/creation time. It does not disclose pagination defaults or rate limits, which the schema partially covers.
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?
Compact for the amount of information conveyed: scope first, then return fields, then sort/filter behavior, then truncation caveat, then the raw API endpoint. A few clauses (the parenthetical UI alias, the endpoint line) could be trimmed, but nothing is wasted.
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?
There is no output schema, so the description compensates by enumerating exactly what each group carries (id, resolved flag, type/message/backtrace, context, last notice time, notice counts, last deploy). Combined with the truncation caveat and sort/filter semantics, an agent has everything needed for a 10-parameter list call.
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 baseline is 3. The description adds light semantic framing — it names the order alternatives, describes the filter axes, and clarifies the full_backtraces toggle — but the enum values, defaults, page/limit bounds and RFC 3339 formats are already fully documented in the schema.
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 ("List a project's error groups") and immediately maps the Airbrake terminology ("errors" in the app) so the agent can reconcile the API name with the product concept. It also enumerates the returned fields and explicitly differentiates itself from airbrake_get_group ("shows one group in full"), so it is distinguishable from siblings 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?
The description tells the agent to prefer airbrake_get_group when the full detail of one group is needed, and explains that full_backtraces must be set to get every frame — a clear condition/alternative pair. It lacks explicit when-not-to-use guidance (e.g., pagination limits, high-volume caveats), so it stops just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbrake_list_noticesList notices of an error groupARead-onlyInspect
List the individual occurrences (notices) of one error group, newest first: each with id, deploy, errors and backtrace, context (environment, hostname, app version, user, URL, severity, notifier), environment, session and request params, and created time. Optionally only notices of one app version. Backtraces are cut to the first 10 frames unless full_backtraces is set. Airbrake API: GET /api/v4/projects/{project_id}/groups/{group_id}/notices.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| limit | No | Items per page (default 20, max 100 here). | |
| version | No | Only notices reported by this app version (e.g. 1.0). | |
| group_id | Yes | Error group id (digits, as a string: Airbrake group ids exceed JavaScript's safe integers). From airbrake_list_groups. | |
| project_id | Yes | Airbrake project id (from airbrake_list_projects). | |
| full_backtraces | No | Return every backtrace frame (default: first 10 per error). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already covering the safety profile, the description adds real behavioral context: results are ordered newest first, each notice carries deploy/errors/backtrace/context/session/request data, and backtraces are silently truncated to the first 10 frames unless full_backtraces is set. That truncation default is a non-obvious trait worth flagging.
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 dense sentences front-load the resource and ordering, then the filter, the truncation caveat, and the endpoint. No filler, and the key constraint (backtrace cut) is placed before the API reference.
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 responsibly enumerates the returned fields and the ordering, and it covers the backtrace-truncation behavior. Pagination defaults are left to the schema, so nothing critical is missing, though rate-limit or large-result guidance 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 every parameter is already documented, and the description's notes on version filtering and backtrace limiting largely restate the schema. It adds no format or syntax detail beyond what is structured, 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 (List) and resource (individual occurrences/notices of one error group), distinguishing it from siblings like airbrake_get_group and airbrake_list_groups. It also names the underlying endpoint, so an agent knows exactly what is being fetched.
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?
It gives context (newest-first ordering, optional version filtering) and an explicit prerequisite via the required project_id/group_id, but never states when to use this versus airbrake_get_group, airbrake_get_notice_status, or the listing siblings. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbrake_list_projectsList projectsARead-onlyInspect
List the Airbrake projects your user can see, with id, name, last deploy, notice total, rejected count, deploy count and resolved/unresolved error-group counts. Start here to get a project_id. Airbrake API: GET /api/v4/projects.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| limit | No | Items per page (default 20, max 100 here). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds value beyond that by disclosing exactly which fields come back (id, name, last deploy, notice total, rejected count, deploy count, error-group counts) — meaningful for a tool with no output schema. It does not disclose pagination behavior, which is left entirely to the schema.
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?
Three compact sentences: purpose and returned fields first, then the routing hint, then the raw API endpoint. No filler, and the most decision-relevant information is front-loaded.
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 does the work of describing return contents, which is the main information an agent needs. The only gap is that it never mentions result pagination despite exposing page/limit parameters, though the schema covers those.
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 page and limit are documented with defaults, ranges and maxima in the schema itself. The description adds nothing about parameter semantics, so the baseline of 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 ('List the Airbrake projects') plus the scope of visibility ('your user can see'), and enumerates the returned fields. It is clearly distinguishable from airbrake_get_project (single project) and the other list_* siblings.
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?
'Start here to get a project_id' gives an explicit entry-point context that orients the agent relative to tools like airbrake_get_project and airbrake_get_project_stats that need a project_id. No explicit when-not or alternative routing is given, but the intended usage is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbrake_mute_groupMute an error groupADestructiveIdempotentInspect
WRITE: mute one error group. Airbrake removes it from the default error list and stops ALL notifications for it (email, Slack and other integrations) until it is unmuted. Notices are still recorded. Reversible with airbrake_unmute_group. Airbrake API: PUT /api/v4/projects/{project_id}/groups/{group_id}/muted.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Error group id (digits, as a string: Airbrake group ids exceed JavaScript's safe integers). From airbrake_list_groups. | |
| project_id | Yes | Airbrake project id (from airbrake_list_projects). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=true, but the description adds the consequential detail an agent actually needs: removal from the default error list, suppression of ALL notifications (email, Slack, integrations) until unmuted, and that notices continue to be recorded. It also clarifies reversibility, which softens the destructiveHint framing without contradicting it.
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?
Four short sentences, front-loaded with the WRITE mutability marker and followed by effect, side effects, reversibility, and endpoint. Every sentence carries distinct information with no repetition of the title or schema.
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 two-parameter mutation with no output schema, the description covers everything an agent needs: mutability, idempotency-consistent behavior, notification suppression, persistence of notices, and how to undo. Nothing material is left to inference.
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 coverage is 100%, so both parameters are already documented, including the string-typed group_id rationale and the source tools for each id. The API path PUT /api/v4/projects/{project_id}/groups/{group_id}/muted reinforces each parameter's role but adds no syntax or format detail beyond the schema, 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?
Opens with an explicit verb+resource and a scope marker: 'WRITE: mute one error group.' The singular scope ('one error group') and the presence of the inverse sibling airbrake_unmute_group make the boundary unambiguous without opening either 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?
States the effect and names the reversal path ('Reversible with airbrake_unmute_group'), which routes an agent to the alternative when it needs the inverse operation. It does not say when muting is inappropriate (e.g., versus resolving or deleting a group), so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airbrake_unmute_groupUnmute an error groupAIdempotentInspect
WRITE: unmute one error group, so it is back in the default error list and its notifications resume. Airbrake API: PUT /api/v4/projects/{project_id}/groups/{group_id}/unmuted.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | Error group id (digits, as a string: Airbrake group ids exceed JavaScript's safe integers). From airbrake_list_groups. | |
| project_id | Yes | Airbrake project id (from airbrake_list_projects). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false; the description adds real context beyond them by labeling it WRITE, spelling out the state change (re-included in default list, notifications resume), and giving the PUT endpoint. It doesn't cover error behavior if the group isn't muted, but that is a minor gap against annotation coverage.
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: the operation type and effect come first, the API endpoint second. Everything is front-loaded and nothing repeats the title verbatim without adding substance.
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 two-parameter state-change tool with annotations supplying the safety profile and no output schema, the description covers effect, scope, and endpoint adequately. It could be slightly richer about idempotency/error cases, but nothing essential for correct invocation is missing.
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 both project_id and group_id are already fully documented with types, patterns, and provenance. The endpoint template in the description echoes the same two parameters without adding format or constraint detail, so the baseline 3 is 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?
States a specific verb (unmute), the exact resource (one error group), and the concrete effect: it returns to the default error list and notifications resume. This distinguishes it clearly from airbrake_mute_group and from read-only group tools like get_group/list_groups.
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 implies when this applies (a group that has been muted and should notify again), but never names the alternative airbrake_mute_group or states any exclusion/precondition. An agent can infer the use case, but routing guidance is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Related MCP Connectors
Read monitors, incidents, heartbeats, on-call and status pages; acknowledge or resolve incidents.
Read calls, contacts, users, teams and numbers; tag calls and create or update contacts.
Read incidents, services, teams, on-call schedules; acknowledge, resolve and note incidents.
Read teams, spaces, lists and tasks; create, update and comment on tasks and track time.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceProvides structured, tool-based access to a Honeybadger account's API, enabling users to browse projects, inspect faults and notices, work with dashboards, alarms, and check-ins, and retrieve reference documentation such as BadgerQL. Runs in read-only mode by default, with optional write and delete operations, and can connect either through the hosted OAuth endpoint or a self-hosted stdio/Docker deployment.24MIT
- AlicenseBqualityCmaintenanceManages employees, projects, sprints, tasks, tags, directories, and channel messages via the Upservice Public API.58MIT
- FlicenseBqualityFmaintenanceEnables interacting with Bugsnag to investigate and resolve errors via natural language. Supports browsing organizations, projects, errors, stacktraces, and exception chains.111,355 npm25-
- AlicenseAqualityDmaintenanceEnables interaction with Glitchtip error tracking platform through natural language. Provides access to issues, events, projects, teams, and organization management for comprehensive error monitoring and debugging.7105 npm3AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.