How to Use the WMATA MCP in Cursor
Inject live WMATA data into your code using Cursor's agent mode.
Works with every AI agent you already use
…and any MCP-compatible client
Connect WMATA MCP to Cursor
Create your Vinkius account to connect WMATA to Cursor and route execution through our secure gateway. The platform manages server hosting, runtime updates, and security layers. Configuration requires no manual server provisioning.
Live Bus Position Data
The `get_bus_positions` tool is killer for coding. It streams vehicle ID, route ID, and current lat/long coordinates. You can use this response directly in your script to calculate precise real-time distance metrics or predict arrival times with high accuracy. When you're checking reliability, also call `get_bus_incidents`. This gives the incident type (accident, mechanical) along with start timestamps and affected route IDs, letting your code build a comprehensive status object for other services.
Full Station Structure & Access
To map out the journey fully, you need `get_bus_route_details`. It returns all stops in order and trip headsigns—this is better than just a list because it maintains sequence. For station entry points, use `get_station_entrances` to get latitude/longitude for street-level wayfinding. If you're building a multi-modal app, start by running `get_rail_stations` to gather all line codes and station identifiers needed for subsequent calls.
Predictive Arrival Logic
For predicting when something arrives, the server gives you two key functions. Use `get_circuit_predictions` for bus arrivals at a specific station (like Union Station). For trains, run `get_station_prediction`, which targets a single station code to give next arrival times and car counts. When combining services, always check `get_rail_incidents` first. Your logic must account for delays reported here before trusting any predicted time from the other prediction tools.
Set up WMATA MCP in Cursor
Prerequisites
- Cursor installed (macOS, Windows, or Linux)
- Active Vinkius subscription with a valid endpoint token
- 1
Open MCP Settings
Go to Cursor Settings → MCP or open the Command Palette (
Cmd+Shift+P/Ctrl+Shift+P) and search for "MCP: Add Server". - 2
Add the WMATA MCP
Cursor will create or open
.cursor/mcp.jsonin your project root. Paste the JSON snippet on the right. Replace[YOUR_TOKEN_HERE]with your endpoint token from cloud.vinkius.com. - 3
Enable Agent mode
Open Composer (
Cmd+I/Ctrl+I) and switch to Agent mode using the dropdown at the top. MCP tools are only available in Agent mode. - 4
Verify the connection
Ask Cursor something like "List my recent WMATA transactions." If the MCP tools are loaded correctly, Cursor will call the WMATA tools automatically. You can also check Settings → MCP for a green status indicator.
{
"mcpServers": {
"wmata-mcp": {
"url": "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"
}
}
} 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.
Why Choose Vinkius
Vinkius connects your tools to AI with real-time monitoring and automatic cost savings — all from one dashboard.
Real-time monitoring
Live
visibility into every interaction
Connect your favorite tools to your AI and see exactly what's happening — every request, every response, in real time.
Built-in savings
60%
lower AI costs
Vinkius compresses data between your apps and your AI automatically. Lower bills every month — no configuration required.
Single dashboard
One
place for every integration
Every tool your AI connects to, managed from a single screen. One account, complete control.
Common questions about WMATA MCP in Cursor
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
Start using the WMATA MCP today
We host it, we monitor it, we maintain it. You just paste one token.