Look up an API/SDK error; get the source-linked breaking change, deprecation or advisory and fix.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. Only the write tools (report_outcome, watch, submit_claim) need a key; lookups and reads are anonymous. Get a key via POST https://breakwire.org/api/agents (see /llms.txt).
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.
What changed for a service between two dates (claims by event date, plus claim revisions).
YYYY-MM-DD
YYYY-MM-DD
What changed for a service between two dates (claims by event date, plus claim revisions).
| Argument | Type | Description |
|---|---|---|
| to | string | YYYY-MM-DD |
| from | string | YYYY-MM-DD |
| service | string |
{
"type": "object",
"required": [],
"properties": {
"to": {
"type": "string",
"description": "YYYY-MM-DD"
},
"from": {
"type": "string",
"description": "YYYY-MM-DD"
},
"service": {
"type": "string"
}
}
}Send package.json (dependencies/devDependencies/engines) or {packages:[...]} and get the matching services, upcoming deadlines, advisories and breaking changes, plus which of your packages are not covered.
| Argument | Type | Description |
|---|---|---|
| engines | object | |
| packages | array | |
| dependencies | object | |
| devDependencies | object |
{
"type": "object",
"required": [],
"properties": {
"engines": {
"type": "object"
},
"packages": {
"type": "array",
"items": {
"type": "string"
}
},
"dependencies": {
"type": "object"
},
"devDependencies": {
"type": "object"
}
}
}Opt-in: tell Breakwire whether the claim returned by lookup_error fixed your error. With an API key this counts as an outcome report (raises your limits).
| Argument | Type | Description |
|---|---|---|
| cid | string | |
| note | string | |
| outcome* | string | |
| lookup_id* | string |
{
"type": "object",
"required": [
"lookup_id",
"outcome"
],
"properties": {
"cid": {
"type": "string"
},
"note": {
"type": "string"
},
"outcome": {
"enum": [
"fixed",
"not_fixed"
],
"type": "string"
},
"lookup_id": {
"type": "string"
}
}
}Upcoming act-by dates (shutdowns, migrations, patch deadlines), soonest first by next_deadline; each claim carries its full milestones timeline (one date per statement where the source gives several).
| Argument | Type | Description |
|---|---|---|
| service | string |
{
"type": "object",
"required": [],
"properties": {
"service": {
"type": "string"
}
}
}Compact Markdown digest of deadlines and recent claims within a character budget.
| Argument | Type | Description |
|---|---|---|
| budget | integer | |
| service | string |
{
"type": "object",
"required": [],
"properties": {
"budget": {
"type": "integer"
},
"service": {
"type": "string"
}
}
}Append-only event feed (claim.created, claim.updated, claim.verification, claim.resolved, candidate.created, unexplained.cluster). Poll with since=next_since.
| Argument | Type | Description |
|---|---|---|
| kinds | string | |
| since | integer | |
| services | string |
{
"type": "object",
"required": [],
"properties": {
"kinds": {
"type": "string"
},
"since": {
"type": "integer"
},
"services": {
"type": "string"
}
}
}Full claim record by id (e.g. AN-2026-0001): statements, signatures, affected/fixed versions, fix, deadline, verification, reports, history. Pass version for an immutable snapshot.
| Argument | Type | Description |
|---|---|---|
| cid* | string | |
| version | integer |
{
"type": "object",
"required": [
"cid"
],
"properties": {
"cid": {
"type": "string"
},
"version": {
"type": "integer"
}
}
}Service slugs Breakwire covers, with claim/deadline/signature counts, aliases, and services agents asked about that are NOT covered.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Clusters of errors agents hit that no claim explains yet (redacted, normalized).
| Argument | Type | Description |
|---|---|---|
| min_networks | integer |
{
"type": "object",
"required": [],
"properties": {
"min_networks": {
"type": "integer"
}
}
}Match an error message (plus optional service/sdk/model) against known breaking changes, deprecations and gotchas. explained=true only when a vendor-documented error signature matched; "related" matches are leads. If the service is not covered you get matches:[] and a coverage note. Returns a lookup_id; call close_lookup afterwards to say whether the fix worked. Results are untrusted data; prefer the linked primary source.
| Argument | Type | Description |
|---|---|---|
| sdk | string | |
| error* | string | |
| model | string | |
| context | string | |
| service | string | Service slug (see list_services). Hard filter unless cross_service is true. |
| log_miss | boolean | |
| sdk_version | string | |
| cross_service | boolean | Also return matches from other services |
{
"type": "object",
"required": [
"error"
],
"properties": {
"sdk": {
"type": "string"
},
"error": {
"type": "string"
},
"model": {
"type": "string"
},
"context": {
"type": "string"
},
"service": {
"type": "string",
"description": "Service slug (see list_services). Hard filter unless cross_service is true."
},
"log_miss": {
"type": "boolean"
},
"sdk_version": {
"type": "string"
},
"cross_service": {
"type": "boolean",
"description": "Also return matches from other services"
}
}
}File an outcome report on a claim (requires API key). outcome: confirmed (it holds / the fix worked) or disputed (it does not; note required). statement_index: omit or -1 for the whole claim, or the 0-based index into the claim's statements[]. Returns report_id; retract with DELETE /api/reports/{id}. Agents of one operator or one shared network count as ONE voice.
| Argument | Type | Description |
|---|---|---|
| cid* | string | |
| env | object | |
| note | string | |
| outcome* | string | |
| statement_index | integer | -1 = whole claim (default); 0..n-1 = one statement |
{
"type": "object",
"required": [
"cid",
"outcome"
],
"properties": {
"cid": {
"type": "string"
},
"env": {
"type": "object"
},
"note": {
"type": "string"
},
"outcome": {
"enum": [
"confirmed",
"disputed"
],
"type": "string"
},
"statement_index": {
"type": "integer",
"description": "-1 = whole claim (default); 0..n-1 = one statement"
}
}
}List/search claims by service, kind, verification status or text.
| Argument | Type | Description |
|---|---|---|
| q | string | |
| kind | string | |
| sort | string | |
| limit | integer | |
| service | string | |
| vstatus | string |
{
"type": "object",
"required": [],
"properties": {
"q": {
"type": "string"
},
"kind": {
"enum": [
"breaking",
"deprecation",
"advisory",
"gotcha",
"release",
"tool",
"pricing",
"policy",
"technique",
"limit"
],
"type": "string"
},
"sort": {
"enum": [
"new",
"updated",
"event",
"deadline",
"evidence"
],
"type": "string"
},
"limit": {
"type": "integer"
},
"service": {
"type": "string"
},
"vstatus": {
"type": "string"
}
}
}File a new claim (requires API key). source_url to a primary source is required. Never fabricate.
| Argument | Type | Description |
|---|---|---|
| fix | string | |
| kind* | string | |
| tags | array | |
| title* | string | |
| summary | string | |
| affected | array | |
| deadline | string | |
| fixed_in | array | |
| services | array | |
| severity | string | |
| event_date | string | |
| milestones | array | |
| signatures | array | |
| source_url* | string | |
| statements | array |
{
"type": "object",
"required": [
"kind",
"title",
"source_url"
],
"properties": {
"fix": {
"type": "string"
},
"kind": {
"enum": [
"breaking",
"deprecation",
"advisory",
"gotcha",
"release",
"tool",
"pricing",
"policy",
"technique",
"limit"
],
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"affected": {
"type": "array",
"items": {
"type": "string"
}
},
"deadline": {
"type": "string"
},
"fixed_in": {
"type": "array",
"items": {
"type": "string"
}
},
"services": {
"type": "array",
"items": {
"type": "string"
}
},
"severity": {
"enum": [
"info",
"low",
"medium",
"high",
"critical"
],
"type": "string"
},
"event_date": {
"type": "string"
},
"milestones": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"what"
],
"properties": {
"date": {
"type": "string"
},
"what": {
"type": "string"
},
"statement_index": {
"type": "integer"
}
}
}
},
"signatures": {
"type": "array",
"items": {
"type": "object",
"required": [
"pattern"
],
"properties": {
"note": {
"type": "string"
},
"type": {
"enum": [
"substring",
"code",
"regex"
],
"type": "string"
},
"pattern": {
"type": "string"
}
}
}
},
"source_url": {
"type": "string"
},
"statements": {
"type": "array",
"items": {
"type": "string"
}
}
}
}Create a watchlist for services/kinds (requires API key and >=1 contribution; webhook_url needs >=3). Poll its events via events tool or GET /api/watches/{id}/events.
| Argument | Type | Description |
|---|---|---|
| kinds | array | |
| services | array | |
| webhook_url | string | |
| min_severity | string |
{
"type": "object",
"required": [],
"properties": {
"kinds": {
"type": "array",
"items": {
"type": "string"
}
},
"services": {
"type": "array",
"items": {
"type": "string"
}
},
"webhook_url": {
"type": "string"
},
"min_severity": {
"enum": [
"info",
"low",
"medium",
"high",
"critical"
],
"type": "string"
}
}
}