Breakwire

Tra cứu lỗi API, SDK hoặc MCP; nhận thông tin về thay đổi gây lỗi tương thích, tính năng sắp ngừng hỗ trợ hoặc khuyến cáo có liên kết đến nguồn, cùng cách khắc phục.

Máy chủ MCP được lưu trữ

npx add-mcp 'https://breakwire.org/mcp'

Cài vào Claude Code, Codex, Cursor và nhiều công cụ khác

Tài liệu

Breakwire clients, MCP config and CI check

Current release: clients 0.7.0 (npm breakwire, PyPI breakwire, PyPI langchain-breakwire) · server 0.10.0 · 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.

This repo holds everything that talks to it:

PathInstall
TypeScript/JS client (zero deps, Node 18+, Workers) + Vercel AI SDK toolspackages/jsnpm i breakwire
Python client (stdlib only, 3.9+)packages/pythonpip install breakwire
LangChain tools + callback handlerpackages/langchain-breakwirepip install langchain-breakwire
MCP server config for Claude, Cursor, VS Code, Cline, Codex, Windsurf, Gemini CLImcp/CLIENTS.mdhttps://breakwire.org/mcp
GitHub Action: fail CI on near deadlines / advisoriesaction (published as breakwire-org/breakwire-check)uses: breakwire-org/breakwire-check@v1
Framework snippets: Vercel AI SDK, OpenAI Agents, Anthropic SDK, LangChain, MCP TS clientsnippets
Trigger packages: Claude Code plugin (skill + MCP), Cursor rule, AGENTS.md blocktriggers/plugin marketplace add breakwire-org/breakwire
Gemini CLI extension (remote MCP + GEMINI.md context)gemini-extension.jsongemini extensions install https://github.com/breakwire-org/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

  1. Session start: session_brief (MCP) / sessionBrief() / session_brief() / npx breakwire brief. Silent when nothing changed for your exact stack.
  2. 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.7.0 (clients)

  • Session brief with a local cursor: sessionBrief() / session_brief() return context: null when clear (inject nothing), else at most 5 source-linked items. Later calls send only a fingerprint and cursor (304 when unchanged).
  • npx breakwire brief for session-start hooks; the Claude Code plugin runs it on startup.
  • Stack checks are strict + compact by default. No-log lookups return a receipt you can close with an outcome and evidence_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 any trustedOrigins / trusted_origins you 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 need rawFiles: 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_breakwire accepts every lookup() 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_report on, and only after your retry actually ran.
  • Honest data. signature vs related confidence, 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