WMATA MCP for AI. Get real-time status for DC's entire transit network.
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
WMATA gives your AI client direct access to Washington DC Metro data. Track Metrorail and Metrobus in real-time, monitor service disruptions, check elevator outages, and plan park-and-ride trips—all from a single conversation.
What your AI can do
Get bus incidents
Retrieves all current disruptions, detours, or service alerts affecting Metrobus lines and stops.
Get bus positions
Returns the real-time GPS coordinates for every active bus vehicle in the system.
Get bus route details
Lists all stops and the full sequence of points served by a specific Metrobus route.
Determines the predicted arrival time and destination for trains at any major Metrorail station.
Provides current GPS coordinates, direction, and route ID for every active Metrobus vehicle across DC.
Reports active delays or incidents affecting either Metrorail lines or Metrobus routes.
Lists all stations, their codes, surrounding street entrances, and coordinates for wayfinding.
Checks the operational status of elevators and escalators at specific Metrorail stations.
Finds available parking lots, fee structures, and amenities at various station locations.
Ask an AI about this
Waiting for input…
WMATA: 12 Tools for Transit Intelligence
These twelve tools allow your AI agent to pull every piece of live data—from bus GPS coordinates to train predictions and station accessibility reports.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using WMATA on VinkiusGet Bus Incidents
Retrieves all current disruptions, detours, or service alerts affecting Metrobus lines and stops.
Get Bus Positions
Returns the real-time GPS coordinates for every active bus vehicle in the system.
Get Bus Route Details
Lists all stops and the full sequence of points served by a specific Metrobus route.
Get Bus Routes
Provides a complete list of every operational bus line name and its corresponding ID.
Get Circuit Predictions
Predicts the next arrival time for buses at major transfer stations like Union...
Get Elevator Incidents
Reports specific outages and estimated repair times for elevators or escalators at Metrorail stops.
Get Next Rail
Predicts the next train arrival time, line, and direction across the entire Metrorail network.
Get Parking Lots
Checks for available parking spaces and fee details at Metrorail station lots.
Get Rail Incidents
Lists active service disruptions, delays, or maintenance issues affecting specific...
Get Rail Stations
Provides a list of all Metrorail stations, optionally filtered by the line they...
Get Station Entrances
Identifies street-level entrances to a station, including their address and...
Get Station Prediction
Predicts the next train arrival time specifically at a single, designated Metrorail station.
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with WMATA, then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,100+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by WMATA. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 12 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
Checking DC Metro Status Today Is A Chore.
Right now, planning a trip means opening three different tabs: one for the train tracker, one for bus delays, and another for elevator status. You copy-paste station names into Google Maps to find an entrance, then switch back to check if that specific line is running on time. It's clicking through dashboards at 2 am.
With this MCP, your agent manages all those checks in the background. You ask a single question—like 'How do I get from my office to the National Mall?'—and it returns one clean answer based on real-time data for trains, buses, and station entrances.
get_next_rail
Before this MCP, checking next train arrivals involved navigating to a specific line's schedule page or relying on outdated third-party widgets. You had to know the exact station code and which service was running.
Now, simply asking your agent 'When is the next train at Union Station?' gets you immediate predictions for every active line passing through that point. It doesn't matter what lines run there; it just tells you when they arrive.
What your AI can actually do with this
This connector gives you full control over the massive amount of public transit data that runs DC’s system. Instead of having your agent navigate multiple websites or API endpoints for train times, bus locations, and service alerts, it pulls everything into one stream.
Your agent can predict exactly when the next Red Line train arrives at Gallery Place, track a specific Metrobus vehicle in real time, and cross-reference that with whether the elevator is working at the station entrance. If you combine this WMATA MCP with other services—say, an API for local event calendars or a user management system—you build automations that span multiple platforms.
This kind of complex orchestration is what Vinkius makes possible; your agent can handle everything from checking bus predictions to logging the trip details in another service, all through one single connection.
The result is that your AI acts as a dedicated transit analyst, instantly providing real-time status and planning advice without you ever having to manually check multiple sources.
019d7623-79ca-71d4-81ea-436879600ac3 Here's how it actually works
The bottom line is: you talk to the AI, and the AI pulls live, structured transit data from WMATA without you writing any complex API calls yourself.
Subscribe to this MCP on Vinkius and input your WMATA API key.
Connect your preferred client (Claude, Cursor, etc.) to the platform using that single connection.
Ask your agent a question—like 'What's wrong with the bus coming from Tysons Corner?'—and it runs the necessary data lookups.
Who is this actually for?
Operations analysts who spend hours cross-referencing multiple transit status pages. Mobility developers building apps that need reliable, real-time location data. Logistics managers needing to advise clients on alternative routes during service disruptions.
Uses the MCP to check get_rail_incidents and compare them against get_bus_incidents, quickly drafting internal reports detailing system-wide failures.
Integrates multiple tools, like combining get_station_entrances coordinates with real-time bus predictions to improve user onboarding flows.
Checks for combined failures by querying both get_elevator_incidents and get_next_rail to advise on accessible alternative routes during emergencies.
What Changes When You Connect
Avoid manual checking: Instead of opening the Metro website, your agent handles all inquiries using get_rail_incidents and get_bus_incidents automatically. You get a single summary report.
Proactive planning: Use get_next_rail or get_station_prediction to give riders accurate arrival predictions before they even ask, improving the user experience dramatically.
Accessibility assurance: Before sending a person with mobility concerns out, your agent checks get_elevator_incidents, ensuring every step of their journey is physically possible.
Complete route mapping: You don't just get train times; you use get_bus_route_details to map the entire sequence of stops for a bus line, giving users full coverage awareness.
Optimized data flow: Vinkius handles all the complexity behind these calls. Its native token optimization cuts down on API overhead when your agent runs multiple checks in one go.
See it in action
The commuter needs to know if they can make a connection.
A user asks, 'Can I get from the bus stop near Foggy Bottom to my destination by train?' The agent uses get_bus_predictions and then coordinates with get_station_prediction, providing a complete travel time estimate.
The developer needs to build an accessibility map.
A team builds a service that combines get_rail_stations to list all points, get_station_entrances for street access, and get_elevator_incidents to mark which ones are currently offline.
The planner needs to advise on alternative routes during a major failure.
A user asks about delays. The agent checks both get_rail_incidents and get_bus_incidents, then uses get_bus_routes to find the next viable bus option, giving immediate alternatives.
The traveler needs to plan a full day's trip with parking.
A user asks for directions. The agent first checks get_parking_lots for nearby space, then uses get_station_entrances to guide them to the best physical entry point.
The honest tradeoffs
Assuming data consistency
The agent runs a prediction query (get_next_rail) but doesn't check for system-wide alerts first, leading to inaccurate advice.
Always start with get_rail_incidents and get_bus_incidents. If either report an issue, the agent must warn the user before providing any arrival predictions.
Mixing up bus vs. rail tools
A user asks about a specific bus delay, but the agent only queries get_rail_incidents, missing the actual problem.
When asked about buses, use get_bus_incidents. For trains, always start with get_rail_incidents to establish service status first.
Ignoring physical access points
The agent plans a trip but fails to verify elevator status using get_elevator_incidents, sending the user to an inaccessible station.
Any plan involving stations must include a check of get_elevator_incidents before confirming arrival.
When It Fits, When It Doesn't
Use this MCP if your workflow requires real-time, multi-modal transit data covering both rail and bus systems. It's the definitive source for everything from train arrivals to elevator outages. Don't use it if you only need static map coordinates; stick to a dedicated mapping service for that. If your problem is purely scheduling (e.g., 'What are all possible routes between X and Y?'), you might be better off building a graph-based routing tool instead of just reading incident reports. However, if the trip depends on current operational status or physical accessibility, this MCP is non-negotiable.
Questions you might have
How do I use get_bus_positions with WMATA? +
You ask your agent to check the real-time location of buses. The MCP returns the specific vehicle IDs, their current latitude/longitude coordinates, and which route they're on.
What is get_rail_incidents for? +
It lets you see all active service disruptions affecting Metrorail lines. This includes everything from simple delays to major power problems or track maintenance alerts.
Does the WMATA MCP help with accessibility? (get_elevator_incidents) +
Yes, it checks for elevator and escalator outages. You can verify station access before planning a trip, which is critical for mobility planning.
How do I find all the bus routes using get_bus_routes? +
You ask your agent to list all available bus routes. It returns route IDs and names across DC, Maryland, and Virginia, letting you know which services exist before checking for predictions.
How do I find station codes before using get_station_prediction? +
You must use get_rail_stations first. This tool lists every Metrorail station and provides the necessary 3-letter station code (like A01 or B36). Once you have that code, you can pass it to other tools like get_station_prediction for accurate, localized arrival data.
Can I narrow down my search when running get_bus_positions? +
Yes, you can. While get_bus_positions tracks all buses system-wide, you should filter the results by a specific route ID or destination name. This narrows the focus and helps pinpoint exactly where a bus is in real time.
What’s the difference between checking next trains via get_next_rail and getting station predictions with get_station_prediction? +
get_next_rail gives you a wide, system-wide view of all upcoming train arrivals at or near a station. get_station_prediction, however, provides highly specific arrival data for only one given Metrorail station code, giving more granular details.
How do I plan a park-and-ride trip using get_parking_lots? +
First, run get_parking_lots by the specific station to check current availability and fees. Then, you can use that location information with other tools, like getting station entrances or checking rail incidents, to plan the rest of your journey.
Can my AI check when the next Metrorail train is arriving at my station? +
Yes! Use the get_station_prediction tool with the station code (e.g., "A01" for Metro Center, "B36" for Gallery Place). Your AI will return all upcoming trains with destination names, line colors (Red, Orange, Silver, Blue, Yellow, Green), predicted arrival times in minutes, and car counts. If you do not know the station code, first use get_rail_stations to find it by name. For a system-wide view of all upcoming trains, use get_next_rail without a station code.
How do I check if there are any delays or incidents affecting my Metrorail line? +
Use the get_rail_incidents tool to check all active service disruptions across the Metrorail system. This returns incident descriptions, affected stations and lines, incident types (delays, power problems, medical emergencies, track maintenance), and start times. You can also check get_elevator_incidents for elevator and escalator outages that may affect accessibility at your station. For Metrobus service issues, use get_bus_incidents.
Can I track Metrobus vehicles in real-time to see when my bus will arrive? +
Yes! Use get_bus_positions to see real-time GPS locations of all Metrobus vehicles, or filter by route ID (e.g., "30N", "X2") to track buses on a specific route. Returns vehicle IDs, route IDs, latitude/longitude, destinations, and schedule deviation in seconds. For detailed route information including stop sequences, use get_bus_route_details with the route ID. Use get_bus_routes first to find route IDs if unknown.
We've already built the connector for WMATA. Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 12 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.