Skip to main content

Transit MCP

com.transitmcp/transit-mcpVersion 6.1.0

Trips, departures, alerts and vehicles for NYC, DC and the SF Bay Area.

Status

Responds395 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:19 UTC
Latency
395 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://transitmcp.com/mcpResponds395 ms
No sign-in

Claude Code

claude mcp add --transport http transit-mcp https://transitmcp.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: transit-mcp
Remote MCP server URL: https://transitmcp.com/mcp

Cursor

{
  "mcpServers": {
    "transit-mcp": {
      "url": "https://transitmcp.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"transit-mcp","type":"http","url":"https://transitmcp.com/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

18 tools

Tools of Transit MCP
Read-only
Idempotent
Open world
find_transitCall with no arguments (or only `coverage`) to list the regions served and what each supports. Without a coverage, a name is searched in every region. If nothing matches, suggestions lists the closest names (not matches). Resolve a coverage, agency, route, station, stop, or a currently observed train number (where vehicle data exists); inspect an exact reference or nearby coordinates. Context ranks candidates without selecting identity. Candidates come best first (exact names and well-known place names such as SFO, then stations, then rail before bus), and each stop says what it is: stopType (station, platform or street stop), modes and the lines serving it, so you can pick the one the rider means. No general address geocoding. Use plan_trip for journeys.NoYesYesYes
get_all_stationsGet the complete list of transit stations with coordinates for one city. Large result; prefer search_stations or get_stations_by_line when looking for specific stations.NoYesYesYes
get_bus_positionsGet real-time positions of DC Metro buses, optionally filtered by route.NoYesYesYes
get_bus_predictionsGet real-time bus arrival predictions for a DC Metro bus stop.NoYesYesYes
get_bus_routesGet all DC Metro bus routes with route IDs and descriptions.NoYesYesYes
get_bus_stopsGet DC Metro bus stops. Returns all stops or filters by lat/lon/radius.NoYesYesYes
get_departuresFind what leaves a stop next, the first service or last service in a bounded window. Pass a stopRef from find_transit, or a stop name with its coverage: a name for one place covers all its stations in that network (otherStations lists the same place in other networks, such as the LIRR at Penn Station); a name for different places returns a question to ask, with candidates. A station covers its whole complex, e.g. every line at Times Sq-42 St; a platform ref covers that platform. Pass toStop or toStopRef for the next trips from here that stop at a destination, each with its arrival time there. Returns dated trip references for get_vehicle_status. For a journey with a change use plan_trip (with routes where needed): departures alone cannot prove a connection.NoYesYesYes
get_elevator_incidentsGet current elevator and escalator outages. DC Metro only.NoYesYesYes
get_incidentsGet current transit incidents and service advisories for DC Metro or NYC Subway.NoYesYesYes
get_route_infoGet detailed information about a transit route including service patterns. NYC Subway only.NoYesYesYes
get_service_statusCheck disruptions, delays, closures, elevator and escalator outages, or revalidate a chosen itinerary without replacing it. Scope by coverage, a station name with its coverage (stop), or an agency, route, stop or dated trip reference; a station covers its complex. Aggregate scopes include canonical service in the next 24 hours. equipment lists elevator/escalator outages: accessiblePath marks the step-free route, blocksStepFree marks stations step-free plan_trip avoids, and alternativeRoute is the agency's way around. Use get_vehicle_status for an observed vehicle location.NoYesYesYes
get_station_predictionsGet real-time train arrival predictions for a transit station. Supports DC Metro and NYC Subway. Accepts a station name or an exact station ID; if a name matches several stations, the result lists the candidates to choose from.NoYesYesYes
get_station_transfersGet transfer connections and nearby stations from a transit station. NYC Subway only.NoYesYesYes
get_stations_by_lineGet all stations on a specific transit line. Supports DC Metro and NYC Subway.NoYesYesYes
get_train_positionsGet real-time positions of all trains on the DC Metro system.NoYesYesYes
get_vehicle_statusWhere observed trains are right now. Pass a route ref to list its trains, a dated trip ref (from get_departures or a plan_trip leg) to find that train, or a station (stopRef, or a name with coverage) to see trains stopped at or heading to it; a station covers its whole complex. Each train reports the stop it is at or heading to (stopStatus), the stop it last served, and its destination. Coordinates are the vehicle's own when the agency sends them (DC); otherwise a stopped train is placed at its station and a moving one has none. Never pass a bare train number: use find_transit.NoYesYesYes
plan_tripPlan an origin-to-destination journey. Returns up to three independently validated itineraries (the fastest, then other lines); departure defaults to now. Pass the rider's place names as given: a name for one place (Penn Station, SFO) plans from or to all its stations. A name meaning different places (Broadway) returns the best trip from each, each labelled in reading and explained in notice: use the one the conversation points to, or ask the rider. The search covers every line of the coverage, buses included. When no itinerary is possible (planning unavailable, a search too large, or nothing found) it returns routeHints: lines near each end and direct lines serving both. Call again with routes (the lines you would ride, from routeHints or your own knowledge) to plan along only those lines, which works wherever schedules exist. Present only returned itineraries as confirmed. The whole journey must finish within windowSeconds (default two hours): if none is found for a long trip, retry with a larger window. Each transit leg carries a tripInstanceRef; pass it to get_vehicle_status to see where that train is now. For a wheelchair user or anyone avoiding stairs, set accessibility: "step_free": journeys then board, alight and change only at platforms step-free from the street per the agency (partial stations by direction), avoiding stations cut off by a current elevator outage; in-station changes between such platforms are taken as step-free. It refuses with ACCESSIBILITY_UNAVAILABLE when no current elevator report exists and ENDPOINT_NOT_STEP_FREE when an endpoint has no step-free platform now (get_service_status lists the outages). Never present a journey pieced together from get_departures as confirmed; check it here with routes.NoYesYesYes
search_stationsSearch for transit stations by name or code. Supports DC Metro and NYC Subway.NoYesYesYes

Details

Registry status
Active
Published
Oct 24, 2026
Updated
Oct 24, 2026
Categories (suggested)
Data and analyticsSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing