Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@VIN MCPdecode VIN 1HGCM82633A004352 and check for any open recalls"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VIN MCP
Free VIN decoder for humans and AI. No API keys. No accounts. No limits.
mcp.vin -- Try it now
What It Does
Enter a 17-character VIN and get a comprehensive vehicle report by aggregating six free data sources into a single response:
Source | Data Provided |
NHTSA vPIC | Make, model, year, trim, body class, engine specs, transmission, drive type, weight, plant info, 140+ decoded fields |
NHTSA Recalls | Open recalls with campaign number, component, summary, consequence, and remedy |
NHTSA Complaints | Consumer complaints with crash, fire, injury, and death statistics |
NHTSA Safety Ratings | NCAP star ratings for overall, frontal, side, and rollover crash tests |
EPA Fuel Economy | City/highway/combined MPG, annual fuel cost, CO2 emissions, EV range and charge time |
IMAGIN.studio | Stock vehicle photos from multiple angles |
Additionally, VIN validation (checksum, WMI country/manufacturer decode, model year) is computed locally with zero API calls.
Quick Start -- Connect via MCP
Claude Code (stdio)
Add to your .mcp.json:
Or if you have the repo cloned locally:
Claude Desktop / claude.ai (HTTP)
Use the hosted MCP endpoint:
Add to your Claude Desktop config:
MCP Tools
Tool | Description | Input |
| Full VIN decode with specs, recalls, complaints, safety ratings, fuel economy, and photos |
|
| Quick local validation -- checksum, WMI country/manufacturer, model year. No external API calls |
|
| Look up recalls by VIN or by make/model/year |
|
| Decode up to 50 VINs in a single request via NHTSA batch API |
|
REST API
All endpoints are available at https://mcp.vin or on your self-hosted instance.
Method | Endpoint | Description |
|
| Full decode -- all 6 sources aggregated |
|
| Quick checksum and format validation |
|
| Recall data only |
|
| Consumer complaints only |
|
| NCAP safety ratings only |
|
| EPA fuel economy only |
|
| Redirects to vehicle photo URL |
|
| Batch decode (body: |
Rate limits: 30 requests/minute per IP for most endpoints, 60/minute for validation and photos, 5/minute for batch.
Example:
Direct VIN URLs also work -- visit https://mcp.vin/1HGCM82633A004352 to see the web report.
Self-Hosting
The server starts in HTTP mode with:
Web frontend at
http://localhost:3200REST API at
http://localhost:3200/api/vin/{vin}MCP endpoint at
http://localhost:3200/mcp
For stdio mode (Claude Code integration without a web server):
How VINs Work
A VIN (Vehicle Identification Number) is a 17-character code assigned to every vehicle manufactured since 1981. Each position encodes specific information:
Positions 1-3 (WMI): World Manufacturer Identifier -- country and manufacturer
Positions 4-8 (VDS): Vehicle Descriptor Section -- model, body, engine, transmission
Position 9: Check digit -- validates the VIN using a weighted algorithm
Position 10: Model year code (A-Y, 1-9 on a 30-year cycle)
Position 11: Assembly plant
Positions 12-17: Sequential production number
The letters I, O, and Q are never used in VINs to avoid confusion with 1, 0, and 9.
Tech Stack
Runtime: Node.js 18+
Server: Express 5
MCP SDK:
@modelcontextprotocol/sdkwith stdio and Streamable HTTP transportsFrontend: Vanilla HTML, CSS, and JavaScript
Caching: In-memory LRU with TTL (1h for decodes, 6h for recalls, 24h for ratings and fuel data)
External dependencies: Zero API keys required -- all data sources are free public APIs
License
MIT
Built for mcp.vin