@pipeworx/tn-dmv

@pipeworx/tn-dmv

Enables querying Tennessee DMV driver service center locations with per-location service capabilities and impaired driving crash data for 2022.

Category
Visit Server

README

@pipeworx/tn-dmv

Tennessee Department of Safety and Homeland Security: the 186 driver service centers with their per-location service capabilities, plus the state's impaired-driving crash file. Keyless.

Why Tennessee gets its own pack

This came out of splitting a single multiplexed us-dmv tool into one pack per state agency. Tennessee's grain is a per-counter capability matrix — REAL ID, CDL skills test, handgun permit, vision test — published on the department's own ArcGIS, which has nothing in common with California's ZIP-level registration snapshot. A union schema across states leaves most arguments ignored on every call, so Tennessee's arguments are Tennessee's.

Tools

Tool What it returns
tn_dmv_driver_service_centers Address, county, hours, phone, coordinates and the 21 service capabilities each location publishes
tn_dmv_impaired_driving_crashes Alcohol- and drug-involved injury and fatal crashes for 2022, grouped by age, gender, severity, agency, substance or month, with a mappable sample

tn_dmv_driver_service_centers filters: city, county, zip (prefix), name, service, limit. tn_dmv_impaired_driving_crashes filters: substance, severity, age_group, gender, agency, group_by, limit.

The distinctive fields

REAL ID, CDL skills test (only 4 of 186 locations do it), handgun permit (47 locations) and vision test are the filters worth knowing about — they are the questions a plain address list cannot answer. office_type separates the 44 full-service centers from 93 self-service kiosks, 46 county-clerk partners and 3 express counters, which matters because a kiosk performs only a handful of the listed services.

Auth

None. tnmap.tn.gov is a public state ArcGIS host.

Gotchas worth knowing

  • City names run together. USER_City is published as OakRidge, MtJuliet and similar, so city is matched after stripping both sides to letters and digits — a caller typing "Oak Ridge" gets the Oak Ridge center rather than a not-found.
  • X is longitude and Y is latitude, both as attribute columns, so no geometry round-trip is needed.
  • Two HTML blob columns had to be excluded. USER_Website_Name and USER_Website_Services are pre-rendered <br>-separated markup that duplicates columns already returned and roughly triples the payload; with them included the full-layer fetch failed outright rather than merely running slowly. The query names its fields explicitly to leave them behind.
  • The crash layer is person-level, and 2022 only. SAFETY/DUICrashesArrestsAgeGender layer 0 holds one row per person involved: ~1,543 person records across ~603 distinct crashes. Both numbers are reported (person_records, distinct_crashes) because quoting the row count as a crash count would overstate it by 2.5×. It covers injury and fatal crashes; property-damage-only crashes sit outside it. The whole file is calendar year 2022, reported as as_of.
  • State troopers are not called "Highway Patrol" in the data. They appear as THP District 3 - Nashville and seven other districts, so agency: "THP" selects all of them; agency: "HIGHWAY PATROL" matches nothing.
  • "Unknown" is a real age group, the agency's own value for records where age was never recorded, and it is the largest bucket (386 of 1,543). It is left in rather than silently dropped.
  • The wider SAFETY/ ArcGIS folder also carries DeerCrashes2019to2023 and I24_CrashHotspots. Both are cartographic multi-layer map services (severity-split display layers, basemap boundaries, a weighted-likelihood raster) rather than one queryable table, so they are left out; the DUI layer was the one that returned real, aggregatable records.

Data sources

Both verified live 2026-07-30.

Quick Start

Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):

{
  "mcpServers": {
    "tn-dmv": {
      "url": "https://gateway.pipeworx.io/tn-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 Tennessee Driver Services data" })

The gateway picks the right tool and fills the arguments automatically.

More

License

MIT

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured