@pipeworx/mcp-ca-dmv
v0.1.0
Published
California DMV: vehicle and EV registrations by ZIP, field offices, forms, insurer NAIC codes
Maintainers
Readme
@pipeworx/ca-dmv
California DMV data: registered vehicles and EV adoption by ZIP code, all 187 field offices with the services each performs, the official forms catalog, insurer NAIC codes, and licensed-driver counts by county. Keyless.
Why this is one state per pack
Part of the dmv category — one pack per state motor-vehicle agency. The states do not share a
grain: California publishes a ZIP × make × model-year × fuel snapshot, New York a record-level
file, Washington monthly transaction counts, Maryland county-months, Pennsylvania county-quarters.
A single cross-state tool meant a schema where most arguments were ignored for most states and a
"total" that was never comparable, so each agency gets its own tools with its own real arguments.
For every DMV tool in one connection, use /mcp?vertical=dmv.
Tools
| Tool | What it returns |
|---|---|
| ca_dmv_vehicle_registrations | Registered vehicle counts by ZIP, make, model year, fuel or duty class |
| ca_dmv_ev_adoption | Battery-electric and plug-in hybrid counts with share of the local fleet |
| ca_dmv_offices | All 187 field offices — address, per-day hours, coordinates, services performed |
| ca_dmv_forms | Official DMV forms by topic, with REG/DL form numbers and download pages |
| ca_dmv_insurance_lookup | Insurer NAIC codes by company name |
| ca_dmv_driver_licenses | Valid licences and ID cards held, by county, annually from 2008 |
Auth
None. Every endpoint is public California state infrastructure. The CKAN-backed tools accept an optional CKAN API key, which the public datasets do not require.
Gotchas worth knowing
Live-verified behaviours, not guesses:
- Snapshots are one CKAN resource per year, 2019–2026, and the rows carry the prior December 31 as their as-of date — the "2026" file describes the fleet on 2025-12-31.
- Grouping by ZIP surfaces a literal
OOSbucket — out-of-state registrants, ~638k vehicles — which outranks every real ZIP. Ignore it when ranking ZIPs; the tool flags it innote. OTHER/UNKis a real make value that absorbs small-count suppression and can outrank genuine makes in a by-make ranking.total_vehiclesappears only when it is honest. Grouping by fuel returns every category, so its sum is the true fleet total; any other grouping can be cut off bylimit, and those responses carrysum_of_returned_rowsplustruncatedinstead.- Fuel labels are specific strings (
Battery Electric,Plug-in Hybrid,Hybrid Gasoline,Diesel and Diesel Hybrid,Hydrogen Fuel Cell). Plain words like "electric", "phev" or "hydrogen" are mapped for you. - Form search uses the DMV site's own relevance ranking, so a broad phrase like "title transfer" can put a vessel-title form above the vehicle one.
- California publishes no wait-time feed. Only North Carolina (
nc-dmv) and Oregon (or-dmv) do;ca_dmv_officesreturns posted hours instead. - Lien lookup and appointment booking are unavailable: the lien endpoint requires a reCAPTCHA token and appointments run on a session-based kiosk system.
Data sources
- Vehicle Fuel Type Count by Zip Code — data.ca.gov CKAN,
datastore_search_sql - Driver Licenses Outstanding by County — data.ca.gov CKAN
- Field office directory — dmv.ca.gov WP REST, hours and per-office service tags
- Forms catalog — dmv.ca.gov WP REST
- Insurance carrier NAIC lookup —
https://www.dmv.ca.gov/portal/wp-json/dmv/v1/naic-lookup?s=<name>
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"ca-dmv": {
"url": "https://gateway.pipeworx.io/ca-dmv/mcp"
}
}
}Or connect to the full Pipeworx gateway for access to all 1392+ data sources:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}Using with ask_pipeworx
Instead of calling tools directly, you can ask questions in plain English:
ask_pipeworx({ question: "your question about California DMV data" })The gateway picks the right tool and fills the arguments automatically.
More
License
MIT
