get_station_predictionsLABSCO SUMMARY
Two transit systems, one URL, no credentials.
The whole surface is read-only and open-world, which is why it can skip authentication entirely — you add a URL and the thirteen tools appear. Caching is tuned per feed rather than globally: station and route data is publicly cacheable, live incident data is not, and MTA real-time feeds sit behind a 30-second in-memory cache, so arrivals are fresh without hammering the upstream agencies.
What it is
An anonymous, read-only MCP server for WMATA and MTA data, hosted at https://metro-mcp.anuragd.me/mcp. No client credentials, bearer token or OAuth flow is involved; stale Authorization headers are ignored. Every result carries typed structuredContent plus a JSON text fallback.
What you get
- Rail arrival predictions for a station, and bus arrivals for a stop —
get_station_predictions,get_bus_predictions - Station lookup by search, by line in order, or as a full directory, plus transfer detail between stations —
search_stations,get_stations_by_line,get_all_stations,get_station_transfers - Service incidents and elevator-and-escalator outages —
get_incidents,get_elevator_incidents - Bus route and stop directories with route detail —
get_bus_routes,get_bus_stops,get_route_info - Live vehicle positions: buses on a normalized plot, trains on a circuit plot —
get_bus_positions,get_train_positions
Requirements
Nothing to install and no account. Point a Streamable HTTP client at https://metro-mcp.anuragd.me/mcp, or run claude mcp add --transport http metro-mcp https://metro-mcp.anuragd.me/mcp. POST /mcp is the recommended stateless endpoint; legacy GET SSE and session-message URLs return 405. Rate limiting is roughly 300 requests per 60-second window per source-IP key per Cloudflare location. Self-hosting the Worker needs your own WMATA API key and an MCP_REQUEST_STATE_KEY of at least 32 bytes.
Setup effort
One command — claude mcp add --transport http metro-mcp https://metro-mcp.anuragd.me/mcp
USE CASES
Deciding whether to leave now
Pull arrival predictions for your station or bus stop and check service incidents on the same line before walking out.
Planning a step-free trip
Check elevator and escalator outages against the stations on your route, and read transfer detail where you would change lines.
Working out where a line actually goes
List the stations on a line in order, or search the directory by name, then read route detail for the connecting bus.
Watching the system move in real time
Read live bus and train positions and plot them, which is the difference between a schedule and what is actually running.
13 tools
Listed in project docs. Your client may show a different list.
search_stationsget_stations_by_lineget_all_stationsget_station_transfersget_incidentsget_elevator_incidentsget_bus_predictionsget_bus_routesget_bus_stopsget_bus_positionsget_train_positionsget_route_infoBEFORE YOU INSTALL
What to know first
Tools you get
13 tools named in the project's documentation.
Requires
A client that can reach a remote MCP server over HTTP
INSTALLATION
Connect your client
Server setup
claude mcp add
Claude Code
claude mcp add --transport http metro-mcp https://metro-mcp.anuragd.me/mcpHosted endpoint
https://metro-mcp.anuragd.me/mcpAdd this hosted endpoint to your MCP client.
MCP Clients
Codex
codex mcp add metro-mcp https://metro-mcp.anuragd.me/mcp