driftwatch-mcp
Enables AI coding agents to identify exactly what broke between two dependency versions, with citations for every claim, and to verify package existence to catch typosquatting, all without requiring an API key.
README
driftwatch
Dependency migration intelligence for AI coding agents.
Answers one question, precisely and with citations:
This library moved from version A to version B. What broke, and what edits does my code need?
New here? Start with the Beginner's Guide.
Install (30 seconds)
Add it to Claude Desktop, Claude Code, Cursor, or any MCP client:
{
"mcpServers": {
"driftwatch": {
"command": "npx",
"args": ["-y", "driftwatch-mcp"]
}
}
}
That is the whole setup. No API key, no account, no payment, no config. The engine runs locally on your machine and reads only public data — npm, PyPI, GitHub Releases, and OSV.dev.
Two tools appear in your agent:
| Tool | What it does |
|---|---|
get_migration_delta |
What broke between version A and B, with a citation for every claim |
check_package |
Does this package actually exist? Catches hallucinated and typosquatted names before you install them |
Optionally set ANTHROPIC_API_KEY to add LLM-synthesized migration steps on top
of the deterministic results. It works fully without one.
Why this exists
Every LLM is frozen at a training cutoff. Libraries are not. When an agent writes code against a version newer than its cutoff, it confidently emits an API that no longer exists — and then burns roughly six failed build-fix iterations converging on the truth.
The SDKProof benchmark (July 2026) measured this: models score 80/100 on
Prisma v7 (the v6 PrismaClient pattern was removed) and 90/100 on Vercel AI
SDK v5+ (parameters renamed, maxSteps deleted).
Without driftwatch: ~6 failed iterations x ~15k tokens -> $0.30-$1.50 + 10-20 min
With driftwatch: 1 call -> $0.05
A 6–30x return the buyer computes for themselves. No trust required.
Quick start
npm install
cp .env.example .env
npm start
# The product
curl "localhost:4021/v1/delta?ecosystem=npm&name=react&from=18.2.0&to=19.0.0"
# Free safety check -- catches hallucinated and typosquatted packages
curl "localhost:4021/v1/check?ecosystem=npm&name=recat"
Runs with payments off and paid AI features off. Costs nothing.
What you get
{
"package": "react",
"from": "18.2.0", "to": "19.0.0",
"jump": { "kind": "major", "majorsCrossed": 1, "releasesInRange": 583 },
"tier": "evidence",
"breakingChanges": [
{
"summary": "Removed: `ReactDOM.render`, `ReactDOM.hydrate` ...",
"version": "19.0.0",
"confidence": "medium",
"symbols": ["ReactDOM", "render", "hydrate"],
"citations": [{ "kind": "release-note", "url": "https://github.com/..." }]
}
],
"advisories": [],
"citations": [ /* every source we relied on */ ]
}
Every claim links to a primary source. We publish facts and short citations — never wholesale documentation.
Architecture
┌──────────────────────────────────────────┐
│ FREE PUBLIC SOURCES (no licensed data) │
│ npm · PyPI · GitHub Releases · OSV.dev │
└────────────────────┬─────────────────────┘
│
┌───────────▼───────────┐
│ ENGINE │
│ ┌──────────────────┐ │
│ │ deterministic │ │ always on, $0
│ │ extraction │ │
│ └────────┬─────────┘ │
│ ┌────────▼─────────┐ │
│ │ LLM synthesis │ │ OPTIONAL, capped
│ │ (off by default) │ │
│ └────────┬─────────┘ │
└───────────┼────────────┘
│
┌───────────▼───────────┐
│ SQLite PERMANENT CACHE│ ← the margin
│ + revenue ledger │
└───────────┬───────────┘
│
┌───────────────────────┼───────────────────────┐
│ │ │
┌───────▼───────┐ ┌────────▼────────┐ ┌────────▼────────┐
│ MCP server │ │ HTTP API │ │ x402 layer │
│ (stdio) │ │ + OpenAPI │ │ (Base, USDC) │
│ │ │ │ │ │
│ DISTRIBUTION │ │ REVENUE │ │ OPTIONALITY │
└───────────────┘ └─────────────────┘ └─────────────────┘
The strategy in one line: MCP has the users, the API has the revenue, x402 is cheap positioning. See DECISION.md for why, and MARKET_RESEARCH.md for the measured evidence.
Endpoints
| Endpoint | Price | Purpose |
|---|---|---|
GET /v1/delta |
$0.05 | The product — breaking changes between two versions |
POST /v1/manifest |
$0.15 | Batch analysis, up to 50 packages |
GET /v1/check |
free | Does this package exist? Is it a typosquat? |
GET /health |
free | Liveness |
GET /openapi.json |
free | Machine-readable spec |
GET /llms.txt |
free | Agent-readable summary |
GET /.well-known/x402 |
free | Payment discovery |
GET /admin/stats |
localhost | Revenue and cost ledger |
Ecosystems: npm, PyPI.
MCP server
The distribution channel. Two tools: get_migration_delta and check_package.
Published as driftwatch-mcp —
see Install above for the one-block setup.
To run it from a clone instead of npm:
{
"mcpServers": {
"driftwatch": {
"command": "node",
"args": ["--experimental-strip-types", "/path/to/driftwatch/src/mcp/server.ts"]
}
}
}
Runs the engine locally by default — no network calls to us, no payment. Set
DRIFTWATCH_REMOTE_URL to point it at a hosted instance instead.
No native dependencies required. better-sqlite3 is optional; if it cannot
build on your machine the server falls back to a plain JSON cache and works
identically. A failed native build is the most common reason MCP servers die on
install, and this one survives it.
Commands
npm start # run the API server
npm run dev # run with auto-reload
npm run mcp # run the MCP server (stdio)
npm test # unit tests -- no network, no cost
npm run testclient # simulate a customer end to end
npm run wallet:new # generate a TESTNET wallet
Security in one paragraph
This server never holds a private key. Receiving crypto needs only a public address; only spending needs a key, and we only ever receive. Compromise the server and you get a cache and a ledger — you cannot get funds, because there is nothing to get. LLM spending is capped daily and checked before every call. Full detail: docs/SECURITY.md.
Honest status
Shipped, and used by nobody yet. As of 23 August 2026 the npm package is live and verified working from a cold install, and it has zero organic users. That is the honest state: the code works, the distribution has not started.
This is an unvalidated business. The measured facts:
- The entire independent x402 seller economy is ~$11,700/month across 14,128 registered services (measured 2026-08-07 — see MARKET_RESEARCH.md).
- The best independent operator makes ~$872/month.
- Most coding agents run inside a human's subscription and have no wallet.
So: expect free MCP usage to vastly exceed paid calls, and expect x402 revenue near zero in year one. The service is built so that outcome costs ~$1/month and still produces something genuinely useful.
The metric that matters is not revenue — it is calls per unique payer. Below 5 means tourism. Above 20 means a real business, even at tiny revenue.
Documentation
| File | What's in it |
|---|---|
| BEGINNER_GUIDE.md | Everything, in plain English |
| MARKET_RESEARCH.md | Measured state of x402, MCP, and agent payments |
| OPPORTUNITIES.md | 20 businesses considered, ranked |
| DECISION.md | Why this one, and the honest caveats |
| PROJECT_STATUS.md | Done / in progress / next |
| docs/SECURITY.md | Key custody, spending controls, threat model |
| docs/ECONOMICS.md | Unit economics and three scenarios |
| docs/COSTS.md | Every recurring cost, before you commit |
| docs/DEPLOYMENT.md | Mac Mini → internet → mainnet → VPS |
| DAY_1.md … MONTH_1.md | Concrete launch plan |
Data sources and ethics
All inputs are free, public, and unlicensed: the npm registry, PyPI, GitHub Releases, and OSV.dev.
We deliberately do not resell licensed data. The highest-earning independent x402 operators today proxy paid APIs (People Data Labs, Exa, Firecrawl) in probable breach of their terms. That is the one business model demonstrably working on x402, and we ruled it out.
We publish facts with short citations and links — never reproduced documentation.
推荐服务器
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 模型以安全和受控的方式获取实时的网络信息。