Breakwire MCP server
Commit Nov 5, 2026Lets an AI client identify and explain breaking changes, API deprecations, and model retirements by looking up error strings in a source-linked registry.
Also known as breakwire-org/breakwire
- Stars
- 0
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- —
- Last commit
- Nov 5, 2026
- License
- MIT
What is Breakwire MCP?
Breakwire lets an AI client identify and explain breaking changes, API deprecations, and model retirements by looking up error strings in a source-linked registry.
Summary generated from the project's README
About Breakwire MCP server
Identifying breaking changes, API deprecations, and model retirements is what developers do with Breakwire. This registry allows AI clients to look up error strings to find specific claims that explain why a tool or model is no longer working as expected. It provides the vendor's documented error string, affected versions, deadlines, and suggested fixes.
Users can integrate this via an MCP server configuration for clients like Claude, Cursor, VS Code, and Windsurf, or use the provided TypeScript and Python SDKs. The system is designed to be harmless and privacy-focused, performing local redaction of sensitive data like IPv6 addresses, UUIDs, and credentials before any information leaves the local environment. It works as a remote service via API lookups but ensures that secrets stay home by parsing stack files locally.
Beyond simple error lookups, the tool supports session briefs to check for changes in a specific stack and can be integrated into CI pipelines using a GitHub Action to fail builds when near deadlines or security advisories.
What you can do with it
- 1Explain unrecognized error stringsProvide an error message to the registry to receive a documented explanation and a fix.
- 2Monitor model and API changesCheck for recent model launches, revisions, or deprecations relative to a training cutoff.
- 3Automate CI safety checksUse a GitHub Action to prevent deployments when approaching API deadlines or security advisories.
- 4Audit environment changes at startupRun a session brief at the start of a session to see if any changes affect the current stack.
Written from the project's README. Every use case is checked against a quote from it.
How to install Breakwire MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall Breakwire MCP in Claude Code
$ claude mcp add breakwire -- npx -y breakwireInstall Breakwire MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"breakwire": {
"command": "npx",
"args": [
"-y",
"breakwire"
]
}
}
}Install Breakwire MCP in VS Code
.vscode/mcp.json
{
"servers": {
"breakwire": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"breakwire"
]
}
}
}Install Breakwire MCP in VS Code CLI
$ code --add-mcp '{"name":"breakwire","type":"stdio","command":"npx","args":["-y","breakwire"]}'Install Breakwire MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"breakwire": {
"command": "npx",
"args": [
"-y",
"breakwire"
]
}
}
}Install Breakwire MCP in Codex
$ codex mcp add breakwire -- npx -y breakwireInstall Breakwire MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.breakwire] command = "npx" args = ["-y", "breakwire"]
Install Breakwire MCP in Gemini CLI
$ gemini mcp add -s user breakwire npx -- -y breakwireInstall Breakwire MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"breakwire": {
"command": "npx",
"args": [
"-y",
"breakwire"
]
}
}
}Automated checks
Ran Nov 15, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work · What to fix for more points
- Source repository linked and reachablebreakwire-org/breakwire is public and reachablegithub.com/breakwire-org/breakwire ↗Pass
- Package names this repository as its sourcebreakwire names breakwire-org/breakwire as sourcenpmjs.com/package/breakwire ↗Pass
- Build provenance (Sigstore attestation)No build attestation published for this releaseNot checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-05github.com/breakwire-org/breakwire ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from breakwirePass
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubBreakwire clients, MCP config and CI check
Current release: clients 0.12.0 (npm breakwire, PyPI breakwire, PyPI langchain-breakwire) · server 0.12.28 · GitHub Action breakwire-check 1.2.0 · CHANGELOG
Breakwire is a source-linked registry of changes that break AI agents: model retirements, API
deprecations, SDK breaking releases, MCP spec changes and security advisories. Send it an error, get back the claim
that explains it (e.g. AN-2026-0025) with the vendor's documented error string, affected versions, deadline, fix and
primary source.
Try it: one call, no key, no install
curl -X POST https://breakwire.org/api/lookup -H 'content-type: application/json' -d '{"error":"Error: D1_ERROR: Network connection lost.","compact":true}'
Returns explained: true and claim AN-2026-0143 (the vendor-documented D1 error, the fix and its source). Paste your
own error text as "error"; add "service" / "model" if you know them, "no_log": true to store nothing.
This repo holds everything that talks to it:
| Path | Install | |
|---|---|---|
| TypeScript/JS client (zero deps, Node 18+, Workers) + Vercel AI SDK tools | packages/js | npm i breakwire@latest |
| Python client (stdlib only, 3.9+) | packages/python | pip install -U breakwire |
| LangChain tools + callback handler | packages/langchain-breakwire | pip install -U langchain-breakwire |
| MCP server config for Claude, Cursor, VS Code, Cline, Codex, Windsurf, Gemini CLI | mcp/CLIENTS.md | https://breakwire.org/mcp |
| GitHub Action: fail CI on near deadlines / advisories | action (published as breakwire-org/breakwire-check) |
uses: breakwire-org/breakwire-check@v1 |
| Framework snippets: Vercel AI SDK, OpenAI Agents, Anthropic SDK, LangChain, MCP TS client | snippets | |
| Trigger packages: Claude Code plugin (skill + MCP), Cursor rule, AGENTS.md block | triggers | /plugin marketplace add breakwire-org/breakwire |
| Gemini CLI extension (remote MCP + GEMINI.md context) | gemini-extension.json | gemini extensions install https://github.com/breakwire-org/breakwire |
Installed the Claude Code plugin or the Gemini extension earlier? Their manifests stayed at 0.4.0 / 0.8.0, and Claude Code only
refreshes a plugin when that version string changes, so later skill/hook updates (session brief, GET forms, fail-open) never
reached you. Both now track the clients version (0.12.0). Update with claude plugin marketplace update breakwire && claude plugin update breakwire@breakwire
or gemini extensions update breakwire.
30 seconds
curl -s https://breakwire.org/api/lookup -H 'content-type: application/json' \
-d '{"error":"tool_choice: type \"tool\" and \"any\" are not supported for this model.","service":"anthropic-api"}'
import { withBreakwire } from 'breakwire';
const create = withBreakwire((p) => anthropic.messages.create(p), { service: 'anthropic-api' });
try { await create(params) } catch (e) { console.log(e.breakwire?.id, e.breakwire?.fix); throw e }
from breakwire import with_breakwire
with with_breakwire(service="openai-api"):
client.responses.create(...) # exception gets .breakwire (id, fix, url) and a traceback note
When to call it
- Session start:
session_brief(MCP) /sessionBrief()/session_brief()/npx breakwire brief. Silent when nothing changed for your exact stack. - An error you do not recognise. 2. Code that names a model id or SDK version. 3. A deploy or upgrade.
For 1-3, step one:
GET https://breakwire.org/api/changes?from=<your training cutoff>(changes, new model launches, revisions). Fail open: if Breakwire is slow or down, carry on. Details: triggers/TRIGGERS.md.
What's new in 0.12.0 (clients)
Current clients are 0.12.0 (parity with Breakwire 0.12). Upgrade from 0.1–0.7: pip install -U breakwire · npm i breakwire@latest · pip install -U langchain-breakwire. Details: CHANGELOG.md.
- GET forms (0.12.19 / 0.12.23):
GET /api/stack?packages=&node=andGET /api/session-brief?packages=&node=&services=match POST. The Action and SDKs still POST; curl-only / GET-only checkers use GET. Docs: https://breakwire.org/llms.txt. - Trigger packages (Claude Code skill, Cursor rule, AGENTS.md) now document those GET forms and the 0.12.0 upgrade commands.
What's new in 0.7.0 (clients)
- Session brief with a local cursor:
sessionBrief()/session_brief()returncontext: nullwhen clear (inject nothing), else at most 5 source-linked items. Later calls send only a fingerprint and cursor (304 when unchanged). npx breakwire brieffor session-start hooks; the Claude Code plugin runs it on startup.- Stack checks are strict + compact by default. No-log lookups return a
receiptyou can close with an outcome andevidence_type. Details in CHANGELOG.md.
What's new in 0.6.0 (clients)
Security and correctness release; see CHANGELOG.md and SECURITY.md.
- Redirects never carry credentials or bodies to another origin. Clients follow redirects only to
https://breakwire.org, the base URL's origin and anytrustedOrigins/trusted_originsyou pin. - Stack files are parsed in your process.
stack()/subscribe()send only dependency and runtime facts;previewStack()/preview_stack()show the exact body; raw files needrawFiles: true/raw_files=True. - Retry works in the default no-log mode, and the local cache keys on every lookup option.
- Broader local redaction (IPv6, UUIDs, request/trace ids, filesystem and UNC paths, credentials in any URI scheme,
secret-named JSON fields) with
previewRedaction()/preview_redaction(). - Python
with_breakwireaccepts everylookup()option (compact,min_score,max_matches,since,reflex).
Principles
- Opt-in and harmless. Lookups happen only on errors, are time-boxed, and never throw or replace your error.
- Secrets stay home. Keys, tokens, emails, IPv4/IPv6 addresses, UUIDs and request ids, query strings, credentials
in URLs and filesystem paths are stripped in your process before sending (shared test cases;
previewRedaction()/preview_redaction()show exactly what would leave); the server redacts again. Stack files are parsed locally and only dependency facts are sent. Redirects never carry credentials or bodies to another origin. - No silent reporting. Outcome reports ("did the fix work") are sent only with
autoReport/auto_reporton, and only after your retry actually ran. - Honest data.
signaturevsrelatedconfidence, explicit "not covered" for services without claims, and community verification that has just started: most claims have no outcome reports yet, and each claim says so.
Development
cd packages/js && npm ci && npm test # offline unit tests (+ npm run test:live)
cd packages/python && python -m unittest discover -s tests
cd packages/langchain-breakwire && python -m unittest discover -s tests
cd action && npm test
cd snippets && npm ci && npm test # real SDKs against a mock vendor + live Breakwire
node scripts/versions.mjs --check # fails on stale versions (edit versions.json, run without --check)
Versions live in one place, versions.json. node scripts/versions.mjs writes them into the package
manifests, source constants and the README banners; CI (.github/workflows/ci.yml) runs the
check plus every suite. Shared cross-language fixtures: tests/ (redaction, redirect policy, stack parsing,
lookup option contract).
Live tests use log_miss: false and never send outcome reports. Set BREAKWIRE_BASE_URL to point at another deployment.
API: https://breakwire.org/llms.txt · OpenAPI: https://breakwire.org/openapi.json · Data: CC BY 4.0 · Code: MIT
Breakwire MCP questions
How do I add Breakwire MCP to Claude Code?
Run claude mcp add breakwire -- npx -y breakwire in your terminal. Add --scope user to make it available in every project.
How do I add Breakwire MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What kind of information does Breakwire provide when an error is sent?
It returns a claim explaining the error, including the vendor's documented error string, affected versions, deadline, fix, and primary source.
Does using Breakwire compromise my security or expose secrets?
No, secrets like keys, tokens, and IP addresses are stripped in your local process before being sent, and the server performs additional redaction.