RecallChecker
by ollo12-prog
README.md
# RecallChecker
A free tool + MCP server that answers one question well: **"Is this vehicle recalled?"**
Enter a car's make, model, and year and get an instant, plain-language list of open U.S.
safety recalls — pulled live from official NHTSA data, with the hazard, the remedy, the date,
and a link to the official notice.
**Live:** [checkrecall.com](https://checkrecall.com) · **MCP:** `https://mcp.checkrecall.com/mcp`
## Features
- **Web tool** — search by make / model / year and get a direct answer with the recall count,
campaign details, dates, and official links. Results live at a shareable, crawlable URL.
- **Reference pages** — a page per common vehicle query at `/recalls/[make]/[model]/[year]`,
each backed by live data.
- **MCP server** — the same lookup as a tool any MCP-compatible AI assistant can call:
`check_vehicle_recalls(make, model, year)`, returning a human-readable summary plus
structured data.
## Data source
| Source | Provides | Notes |
|---|---|---|
| **NHTSA Recalls API** | U.S. vehicle safety recall campaigns | No API key. `api.nhtsa.gov/recalls/recallsByVehicle?make=&model=&modelYear=` |
Every answer shows the data's "as of" date and links back to the official NHTSA notice. A
"no recalls found" result reports the absence of campaigns in NHTSA as of that date — it is
not a guarantee of safety and is not VIN-specific. Data sourced from NHTSA (nhtsa.gov).
## Tech
Next.js (App Router) + TypeScript, deployed to Cloudflare Workers via OpenNext; response
caching on Workers KV. The MCP server is a second Worker that reuses the same lookup core, so
the website and the assistant tool never duplicate lookup logic.
## Development
```bash
npm install
npm run dev # local dev (wrangler)
npm test # unit tests
npm run deploy # deploy the web app
npm run mcp:dev # local MCP server
npm run mcp:deploy # deploy the MCP server
```
> Build uses `next build --webpack` (Turbopack output is not yet compatible with OpenNext).
## License
MIT — see [LICENSE](LICENSE).
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues