mendapi
MCP server that watches upstream API providers for breaking changes, scans your codebase for impact, and drafts migration fixes locally, all offline-first with zero network.
README
mendapi
Dependabot, but for every API you depend on. We watch your upstream API providers for breaking changes, scan your codebase for impact, and open the fix PR before your integration breaks.
30 seconds to your first result
# In any repo — zero config, zero npm dependencies, nothing leaves your machine
npx mendapi scan
You get every upstream breaking change that actually hits your code — file, line, and symbol — scored for confidence. Then npx mendapi fix drafts the migration as a reviewable diff.
Using an AI coding agent? One line plugs mendapi into Claude Code as an MCP server (Cursor and every other MCP client work too — details below):
claude mcp add mendapi -- npx mendapi mcp
Requires Node.js 22+. Everything runs locally: the scanner, fixer, and review CLIs contain no network code at all.
Security model (read this first)
This tool is designed for teams that cannot let source code leave their machines. The security model is the product, not a FAQ entry:
- Your code never leaves your machine. The scanner runs locally or in your CI. Nothing is uploaded by default — there is no network code in the scanner, fixer, or review CLIs at all (mechanically enforced by our test suite, which fails the build if any network primitive appears in those files).
- Metadata-only reporting, opt-in only. If you ever choose to report results to a hosted dashboard, the payload builder (
payload.js) is whitelist-constructed: provider names, SDK versions, file basenames, line numbers, and symbol names only. Code snippets are structurally impossible to include — the field does not exist in the payload schema. Reporting requires an explicit--report-toflag; it is never on by default. - Secrets are redacted in depth. Fifteen secret patterns (OpenAI, Stripe, AWS, GitHub, Slack, JWT, bearer tokens, generic key assignments, and more) are scrubbed from every field of any outbound payload, and a pre-transmission assertion throws if a forbidden key or unredacted secret survives.
- Auditable by design. The CLI is open source so your security team can verify, line by line, exactly what is read and what (if anything) is sent.
- Minimal GitHub permissions. Fix PRs use a GitHub App scoped to
contents:read+pull_requests:writeon repos you choose. Never admin. - Self-hosting available. Enterprise plans run the entire stack — change feed included — inside your firewall.
What it does
Three components form a closed loop:
| Component | Role | Where it runs |
|---|---|---|
| Watcher | Monitors 20 major API providers (Stripe, OpenAI, Anthropic, Shopify, Twilio, Slack, GitHub, Google, AWS, Plaid, PayPal, Meta, Cloudflare, Vercel, Supabase, Firebase, Notion, HubSpot, Salesforce, SendGrid) via SDK release feeds and official developer changelogs. Classifies each change (breaking / deprecation / additive / fix / docs-only) into a structured SQLite database. | Our infrastructure (or yours, self-hosted) |
| Scanner | Reads the change database, detects which providers your repo actually uses (SDK imports, API hosts, env vars — context-aware, not naive grep), and pinpoints the exact files, lines, and symbols affected by each breaking change. Three-tier confidence scoring plus an optional LLM semantic review pass keeps false positives near zero. | Locally, on your machine or CI |
| Fixer | Applies deterministic migration rule packs (e.g. openai-v3-to-v4, stripe-v7-to-v8) to produce a reviewable diff, then opens a fix PR on a dedicated branch with the official migration guide cited in the commit message. |
Locally by default; hosted for paid plans |
Quickstart
Requires Node.js 22+ (uses built-in node:sqlite). Zero npm dependencies.
# Fetch the latest API change feed (the only command that touches the network)
mendapi sync
# Scan the current repo against the breaking-change database (zero config)
mendapi scan
# Or scan a specific repo and save the report
mendapi scan --repo /path/to/your/repo --out impact.json
# Review medium-confidence findings (optional LLM semantic pass)
mendapi review impact.json --pending
# Preview fixes (dry-run: writes a unified diff, changes nothing)
mendapi fix --from-report impact.json
# Create a fix branch + commit + PR-ready description (local only;
# --push is required to actually push, and is never implied)
mendapi pr --repo /path/to/your/repo --from-report impact.json
Running from a checkout? node app/cli.js <command> works identically.
Use it from your AI coding agent (MCP)
mendapi mcp starts a Model Context Protocol server on stdio — offline-first, zero network: every tool call runs the local CLIs against the local SQLite database only, and the server ships with zero npm dependencies. It speaks the current MCP revision (2026-07-28, per-request _meta version negotiation + server/discover) and keeps full backward compatibility with older clients that use the initialize handshake (2025-06-18 / 2025-03-26) — a dual-era server, because a tool that repairs breaking changes should not ship one.
Claude Code (one line):
claude mcp add mendapi -- npx mendapi mcp
Cursor (or any JSON-configured MCP client) — add to .cursor/mcp.json:
{
"mcpServers": {
"mendapi": { "command": "npx", "args": ["mendapi", "mcp"] }
}
}
Tools exposed: scan, deps, fix, changes — the same schema_version-stamped JSON as the CLI --json flags. See the For AI agents docs page for the full tool catalog and an autonomous-maintenance recipe.
Why precision matters
Alert fatigue kills tools like this. Our scanner gates every finding through:
- Source-aware evidence rules — an SDK release only affects repos that import that SDK; a changelog entry about an API endpoint affects anyone calling that host.
- Sub-API filtering for monorepo providers (Google, AWS) — a
youtuberelease does not page the team that only uses S3. - Identifier-boundary symbol matching —
getRnever matchesgetRelatedArticles. - Context-aware env-var detection —
process.env.STRIPE_KEYcounts; a regex constant namedMETA_REdoes not.
Dogfooding across three production repos: the current pipeline reports zero false positives where an earlier naive version produced 27.
Measured in public
We benchmark the change database against real provider spec corpora and publish the full accounting — every headline number is recomputed from archived evidence by the site's build gates, so the reports cannot drift from the data:
- What 47 Stripe API versions taught us about breaking-change detection — 47 consecutive spec pairs, head-to-head with oasdiff, zero unexplained gaps.
- Three more providers, 49 spec pairs, zero unexplained gaps — the same audit across Twilio, PayPal, and Vercel.
- 20 Twilio spec pairs: 358 findings from one engine, 142 from ours, and every disagreement named — why two engines disagree by 2.5x, with every divergence accounted for.
- 136 raw removals, 17 real ones: what a spec diff over-reports — the curation rules that keep alert fatigue out of the feed.
- 821 OpenAI spec changes, 3 that can break a client: the honest negative — the value of a tool that tells you when you are fine.
Status
Published on npm as mendapi (v0.5.1). Early release — the change database and migration pack registry grow daily; interfaces may still shift before 1.0.
License
AGPL-3.0-only for the CLI (see LICENSE). Chosen so security teams can audit every line that reads code or builds a payload, and so hosted forks must share their changes.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。