DMV Transit is an independent, unofficial service. It is not affiliated with, endorsed by or operated by WMATA or any transit agency. Always confirm times with the agency before you travel.
The server address
https://dmvtransit.com/mcpIt's a remote Model Context Protocol server (Streamable HTTP). No account or sign-in is needed, and every tool only reads information.
What your assistant can do with it
- Plan trips by bus, train and Metro between addresses, landmarks or stations, leaving now or at a later time, with fares.
- Give Metrorail routes, transfers and fares, and which elevators and escalators are out.
- Look up routes, stops and service days for the region's bus and rail agencies, from their published timetables.
- Explain how to pay and ride, from each agency's own pages, and pass on service alerts.
Agencies covered include Metro (WMATA) trains and buses, VRE, MARC, Maryland's MTA, Fairfax Connector, ART, DASH, CUE, Loudoun, OmniRide, Annapolis Transit, the Charm City Circulator, Virginia Breeze and intercity coaches.
Add it to your assistant
Claude
In Settings, open Connectors, choose to add a custom connector, and paste the server address.
In Claude Code: claude mcp add --transport http dmv-transit https://dmvtransit.com/mcp
ChatGPT
In Settings, open Apps & Connectors and add a new connector with the server address and no authentication. Adding your own connectors may require turning on developer mode.
Gemini and other MCP apps
Use the server address wherever the app accepts a remote MCP server. For apps configured with a JSON file:
{
"mcpServers": {
"dmv-transit": { "url": "https://dmvtransit.com/mcp" }
}
}
Then ask something like "How do I get from Union Station to the National Zoo?" or "What does MARC cost from Baltimore Penn to Union Station?"
Tools
| Tool | What it gives |
|---|---|
plan_trip | Trip options between two places, now or later: lines, times, walking and fares. |
geocode_address | Finds an address, hotel or landmark and returns a point for planning. |
plan_connection | Connections across agencies, and which days and times they run. |
estimate_trip_cost | The fare for each leg of a trip. |
get_metro_route | Metrorail lines, direction and transfers between two stations. |
get_fare | Metrorail fares between two stations. |
get_station_info | Details of a Metro station. |
get_elevator_escalator_status | Metro elevators and escalators out of service. |
get_service_alerts | Current service alerts. |
get_rider_reports | Recent reports from riders on this site (unverified, labelled as such). |
get_route | A bus or train route: its stops and service. |
find_stops_near | Stops near a place. |
transfers_at | Routes that meet at a stop, and when. |
how_to_pay | How to pay for an agency's buses or trains, from its fare page. |
search_transit_info | Searches the agencies' rider pages: fares, payment, accessibility, rules. |
list_agencies | The agencies covered. |
list_topics, get_guide | Plain-language rider guides, such as riding Metro for the first time. |
Where the information comes from
Routes, stops and schedules come only from the agencies' published GTFS timetables, found through Transitland. Fares, how to pay and rider guidance come from the agencies' own web pages, and each answer cites the page it came from. Live Metro information comes from WMATA's public data. Addresses are found with Google Maps or geocode.maps.co. The tools tell assistants to answer only from these results.
Limits
Without a key, each network can make 120 requests a minute and 3,000 a day, which covers
normal use. If you're building something that needs more, ask for a free API key (sent as
Authorization: Bearer <key>) using the contact below.
Privacy
The server doesn't need or receive your name or account. It keeps no record of what you ask; your network address is used only, in memory, to apply the limits above. Addresses your assistant looks up are sent to Google Maps or geocode.maps.co to find them. See the full privacy policy and the terms of use.
Support
DMV Transit is built by Kaleb Neal. For help, a key or to report a wrong answer, reach Kaleb on LinkedIn.