Labsco
MCP SERVER

Metro MCP

by Aarekaz

Live DC Metro and NYC Subway data over a public endpoint — arrivals, incidents, elevator outages, bus operations and vehicle positions, with no login at all.

Travel Booking, Transit & Navigation
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