ca-dmv
Access California DMV data on vehicle registrations, EV adoption, field offices, forms, insurer NAIC codes, and driver licenses by county.
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.