4,500+ servers built on MCP Fusion
Vinkius

WMATA MCP. Know exactly when and where your bus or train is.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

WMATA MCP on Cursor AI Code Editor MCP Client WMATA MCP on Claude Desktop App MCP Integration WMATA MCP on OpenAI Agents SDK MCP Compatible WMATA MCP on Visual Studio Code MCP Extension Client WMATA MCP on GitHub Copilot AI Agent MCP Integration WMATA MCP on Google Gemini AI MCP Integration WMATA MCP on Lovable AI Development MCP Client WMATA MCP on Mistral AI Agents MCP Compatible WMATA MCP on Amazon AWS Bedrock MCP Support

Just plug in your AI agents and start using Vinkius.

WMATA MCP Server gives your AI agent full access to Washington D.C.'s public transit data. Track Metrorail trains, Metrobus vehicles, and check service status in real-time.

Plan trips by checking next train predictions, finding station entrances, or monitoring active incidents across the entire network.

What your AI agents can do

Get bus incidents

Retrieves current details on any service disruptions or detours affecting Metrobus routes.

Get bus positions

Provides real-time GPS coordinates and deviation status for all Metrobus vehicles, optionally filtered by route ID.

Get bus route details

Lists every stop served by a specific bus route in the exact order of travel.

+ 9 more capabilities included
Predict Next Train/Bus Arrival

Get precise arrival times for trains or buses at any specific station or stop.

Track Vehicle Location

Find the real-time GPS coordinates and direction of individual bus vehicles across routes.

Check Service Disruptions

Monitor active incidents, detours, or outages affecting both rail lines and bus services.

Map Station Details

List all stations, find their official codes, map street entrances, or check for elevator/escalator failures.

Supported MCP Clients

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients
Free for Subscribers

Waiting for input…

AI Agent

WMATA MCP Server: 12 Tools for Transit Data

Run all core transit functions—from finding parking lots to checking elevator status—using these dedicated, real-time tools.

get019d7623

get bus incidents

Retrieves current details on any service disruptions or detours affecting Metrobus routes.

get019d7623

get bus positions

Provides real-time GPS coordinates and deviation status for all Metrobus vehicles, optionally filtered by route ID.

get019d7623

get bus route details

Lists every stop served by a specific bus route in the exact order of travel.

get019d7623

get bus routes

Provides a complete list, name, and type for all Metrobus routes operating across DC, MD, and VA.

get019d7623

get circuit predictions

Predicts the next arrival time for buses on specific circuit routes at defined stations or stops.

get019d7623

get elevator incidents

Reports current outages and estimated repair times for elevators and escalators at Metrorail stations.

get019d7623

get next rail

Predicts the next train arrival time, destination, and line color across the entire Metrorail system or a specific station.

get019d7623

get parking lots

Finds available parking lots at Metrorail stations, including capacity and fee details for park-and-ride planning.

get019d7623

get rail incidents

Checks the status of service disruptions, delays, or maintenance affecting specific Metrorail lines or stations.

get019d7623

get rail stations

Lists all Metrorail stations and allows filtering by line code (e.g., Red, Orange) to map the network.

get019d7623

get station entrances

Provides street addresses, coordinates, and accessibility status for every entrance of a specific station.

get019d7623

get station prediction

Predicts the next train arrival time at one single Metrorail station, giving highly targeted updates.

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
Start building

Make Your AI Do More

Start with WMATA, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.

  • Use this MCP plus 4,700+ 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

What you can do with this MCP connector

WMATA gives your AI agent full access to Washington D.C.'s public transit infrastructure. It lets you track everything from Metrorail trains and Metrobus vehicles to service status across the whole system. You can plan trips, find exact locations, or check for outages before you even leave the house.

Predicting Arrivals

Need to know when the next thing is coming? Your agent uses get_station_prediction to nail down the immediate arrival time at any single Metrorail station. For a broader view, get_next_rail predicts the next train's arrival time, destination, and line color across the entire system. When it comes to buses, you can use get_circuit_predictions to predict the next bus arrival time for specific circuit routes at defined stops or stations.

To get a full picture of all available bus service lines, your agent calls get_bus_routes, which provides a complete list, name, and type for every operating Metrobus route across DC, MD, and VA.

Tracking Vehicle Location

If you need to know where the vehicles are right now, you've got tools for that. Use get_bus_positions to pull real-time GPS coordinates and deviation status for every Metrobus vehicle; you can even filter this down by a specific route ID. For detailed bus travel planning, your agent runs get_bus_route_details, which lists every stop served by a particular bus line in the exact order of travel.

To map out the entire network, get_rail_stations lets you list all Metrorail stations and filter them by their line code (like Red or Orange). You can also use this tool to find available parking lots at station locations with get_parking_lots, getting details on capacity and fee structures for park-and-ride planning.

Checking Service Disruptions

Before you head out, your agent checks the status. It uses get_rail_incidents to monitor service disruptions, delays, or maintenance affecting specific Metrorail lines or stations. For bus issues, get_bus_incidents retrieves current details on any detours or service disruptions impacting Metrobus routes. Your agent also monitors station infrastructure with get_elevator_incidents, reporting current outages and estimated repair times for elevators and escalators at all Metrorail stops.

Mapping Station Details

To navigate the system, you need more than just a name. First, your agent can use get_station_entrances to provide street addresses, coordinates, and accessibility status for every entrance belonging to a specific station. This lets you plan your approach accurately. If you need to confirm which stations exist, get_rail_stations lists all of them and allows filtering by line code.

You'll get everything you need—from arrival predictions and real-time tracking to outage reports and detailed physical mapping.

How WMATA MCP Works

  1. 1 Subscribe to the WMATA MCP Server and provide your API key.
  2. 2 Your AI client executes a specific tool call (e.g., get_rail_incidents) to fetch raw system data.
  3. 3 The agent synthesizes this real-time output into conversational, actionable advice for the user.

The bottom line is: your AI agent acts as an instant, dedicated DC transit analyst using live data feeds.

Who Is WMATA MCP For?

Anyone who relies on public infrastructure—from daily commuters to accessibility consultants. This is for the logistics planner stuck staring at clunky dashboard APIs or the tourist trying to figure out a complex transfer point without looking at a map.

Logistics Manager

Uses get_bus_positions and get_rail_incidents to feed live data into fleet tracking systems, minimizing delays for large groups.

Accessibility Consultant

Prioritizes get_elevator_incidents and get_station_entrances to ensure routes are fully accessible before planning a journey for a client with mobility needs.

Travel Writer/Blogger

Employs get_bus_route_details and get_rail_stations to build comprehensive, accurate guides about DC's public transit network.

What Changes When You Connect

  • Eliminate guessing games about delays. Use get_rail_incidents to check if a delay affects the Red Line before you even leave home, saving time on every trip.
  • Plan accessible routes effortlessly. Check get_elevator_incidents and use get_station_entrances together to confirm that all transfers are physically navigable for everyone.
  • Know your options for driving in. Use get_parking_lots when planning a park-and-ride trip, checking availability and fees right alongside the train schedules.
  • See where buses actually are. Instead of just knowing the route, use get_bus_positions to track vehicles live and estimate wait times accurately.
  • Build your own transit map. Use get_rail_stations first to get all station codes; then feed those codes into get_station_prediction for hyper-local predictions.

Real-World Use Cases

01

Planning a Trip During Rush Hour

A commuter needs to get from Foggy Bottom to Union Station. They first use get_bus_routes to confirm the best bus line, then run get_next_rail at their start station, and finally check get_circuit_predictions for the final leg of the journey, ensuring a seamless transfer.

02

Assisting an Elderly Visitor

A family member needs to navigate the system. The agent uses get_station_entrances to find the nearest accessible entrance, then checks get_elevator_incidents before advising the visitor on which platform to use.

03

Responding to a Major Outage

A user asks if the system is running normally. The agent immediately executes get_rail_incidents and get_bus_incidents. If both show active issues, it cross-references the data with get_next_train to suggest alternative lines.

04

Optimizing a Business Transfer

A corporate user needs to get employees from a suburban lot. The agent uses get_parking_lots at the destination station, then calculates travel time based on live bus positions using get_bus_positions, minimizing wait time.

The Tradeoffs

Asking for everything in one shot

The user asks, 'Tell me about the Red Line and all buses near it.' The system fails because there is no single tool that correlates train lines with bus routes.

Break it down. First, run get_rail_incidents to check the Red Line status. Second, use get_bus_routes to list local options. Then, if needed, run get_bus_positions for specific vehicles.

Forgetting station dependencies

The user asks for predictions at a station by name, but the system requires a unique three-letter code (e.g., 'A01'). The query returns an error.

Always start with get_rail_stations to find the correct 3-letter station code. Use that code in your prediction calls like get_station_prediction.

Confusing route detail with live position

The user asks, 'What stops does this bus serve?' and gets a list of every stop on the entire route (from get_bus_route_details), but they actually wanted to know if it was running late right now.

If you need live status, use get_bus_positions. If you just want the static map of all stops, then run get_bus_route_details.

When It Fits, When It Doesn't

Use this server if your primary goal is real-time operational awareness: knowing now if a bus is delayed or which train is coming next. The tools excel at status checks (get_rail_incidents, get_bus_incidents) and immediate predictions (get_station_prediction).

Don't use this server if you are only looking for historical data (e.g., 'What was the average delay last quarter?'). For that, you need a separate analytics platform. Also, don't assume one tool covers everything; complex trips require chaining calls—for instance, finding parking (get_parking_lots) is useful, but it doesn't tell you if the train to get there is delayed (check get_rail_incidents first).

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

How we secure it →

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 server provides 12 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.

Available Capabilities

get_bus_incidents get_bus_positions get_bus_route_details get_bus_routes get_circuit_predictions get_elevator_incidents get_next_rail get_parking_lots get_rail_incidents get_rail_stations get_station_entrances get_station_prediction

Figuring out a simple cross-town transfer used to be a nightmare.

Back in the day, you had to open three different websites: one for rail status, one for bus routes, and another map service just to figure out if your connection was going to make it. You'd copy-paste station names into multiple fields, wait for pages to load, and then cross-reference conflicting data points.

Now, you ask your agent. It runs `get_rail_incidents` and simultaneously checks `get_bus_incidents`. The agent immediately compares the results: 'The Red Line has delays, but Bus Route 30N is running clean.' You get one answer, not three tabs of anxiety.

WMATA MCP Server: Get station-specific arrival predictions.

Previously, you had to run a general 'next train' query (`get_next_rail`), which gave you too much information—all lines, all directions. You’d then have to sift through the list to find the specific line and destination you actually needed at that platform.

With `get_station_prediction`, your agent targets the exact station and gives a clean, focused prediction board view: 'The next train is arriving in 2 minutes, bound for Shady Grove.' It's simple. It’s precise.

Common Questions About WMATA MCP

How do I find out about bus detours using get_bus_incidents? +

The get_bus_incidents tool returns specific details on service disruptions, including the affected route IDs and any recommended detour paths. It's your primary check for reliability issues.

Can I use get_rail_stations to find a station code? +

Yes. You run get_rail_stations and filter by the line or name you know. The resulting data provides the required 3-letter station codes needed for almost every other prediction tool.

Is get_bus_positions better than get_circuit_predictions? +

They serve different purposes. get_bus_positions gives you real-time, GPS coordinates of where the bus is right now. get_circuit_predictions estimates when a bus will arrive at a specific stop.

What tool do I use to check elevator status? +

Use get_elevator_incidents. This tool provides current outage descriptions, the affected station codes, and estimated repair times for accessibility planning.

When calling `get_bus_routes`, do I need an API key? +

Yes. You must pass a valid WMATA API key in the request headers. This key is required for all endpoints, including listing routes, to authenticate your AI client and ensure rate limit compliance.

After using `get_rail_stations`, how do I find the best entrance point using `get_station_entrances`? +

You must pass the exact 3-letter station code obtained from get_rail_stations. This ensures that get_station_entrances returns data specific to that location, preventing ambiguity.

If I need a full list of stops on a bus line, should I use `get_bus_route_details`? +

Yes. get_bus_route_details returns the complete sequence of stops and associated trip headsigns for that route. Prediction tools only give arrival times; this tool gives the map structure.

What should I do if `get_parking_lots` reports no availability at a station? +

The result indicates zero tracked spaces or that parking is not offered/available for that specific time. Always check alternative nearby services, as the tool only reflects monitored lots.

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.

More in this category

You might also like

Built & Managed by Vinkius 30s setup 12 tools

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.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients

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.

Zero hosting required Full MCP catalog included Enterprise-grade security Auto-updated by Vinkius

Built, hosted, and secured by Vinkius. You just connect and go.