Skip to content

Transit MCP changelog

com.transitmcp/transit-mcp

3 changes recorded. MCP Harbor re-reads this listing from the official registry every six hours and asks the live server what it exposes, and keeps what changed between one look and the next.

  • llms.txt +24 −6

    https://transitmcp.com/llms.txt

    − > Transit MCP is a free, anonymous, read-only Model Context Protocol (MCP) server for real-time DC Metro, NYC Subway, and San Francisco Bay Area transit information. Transit MCP was formerly Metro MCP; it is the same server.− - Arrivals: real-time arrivals for DC Metro and NYC Subway stations, DC Metrobus stops, and Bay Area stations (`get_station_predictions`, `get_bus_predictions`, `get_sfbay_station_predictions`).− - Bay Area: regional station search, routes, service alerts, and vehicle positions (`search_sfbay_stations`, `get_sfbay_routes`, `get_sfbay_incidents`, `get_vehicle_positions`).− - Live positions: DC Metro train positions, Metrobus vehicles, and Bay Area transit vehicles (`get_train_positions`, `get_bus_positions`, `get_vehicle_positions`).− Data comes from official WMATA (DC Metro and Metrobus), MTA (NYC Subway), and 511 SF Bay feeds. Bay Area results include 511 SF Bay attribution and freshness information.− - [Source code on GitHub](https://github.com/Aarekaz/metro-mcp): MIT licensed.+ > Transit MCP is a free, anonymous, read-only Model Context Protocol (MCP) server for transit in New York (`nyc`: subway, LIRR, Metro-North, buses), Washington DC (`dc`: Metrorail, Metrobus) and the SF Bay Area (`sfbay`: every 511 operator, including BART, Muni, Caltrain and the ferries; departures, alerts and vehicle locations come from 511 SF Bay). It plans trips across every mode, buses included, lists departures, reports service alerts and elevator outages, and shows where trains and buses a+ - Arrivals: real-time arrivals for DC Metro and NYC Subway stations and DC Metrobus stops (`get_station_predictions`, `get_bus_predictions`).+ - Live positions: DC Metro train positions and Metrobus vehicles (`get_train_positions`, `get_bus_positions`).+ - Global capabilities: `find_transit`, `plan_trip`, `get_departures`, `get_service_status`, `get_vehicle_status`. These five tools are registered alongside the 13 compatible tools. DC, NYC and SF Bay are available. `plan_trip` searches every line of a coverage, buses included, and also plans along lines you name (`routes`).+ - Pass `coverage` as `dc`, `nyc` or `sfbay` (region names such as SF or Washington DC also work) whenever you know the region; leave it out only when a place could be in several.+ - `find_transit` with no arguments (or only `coverage`) lists the regions and what each supports. Without `coverage`, a name is searched in every region. Riders' everyday names work ("King Street", "42nd St Times Square", DC's "Chinatown" or "Convention Center"), as do small misspellings. When nothing matches, `suggestions` are the closest names, not matches: confirm one, or retry with the official name or coordinates.+ - `find_transit` lists candidates best first: exact names and well-known place names (SFO, Union Square, Penn Station, Grand Central, Dulles), then stations, then rail before bus. Each stop carries `stopType` (`station`, `platform`, `stop` for a street stop), `modes` and `routeNames`, so choose the one the rider means rather than the first name that matches.+ - To get from A to B, call `plan_trip` with the rider's own place names. A name for one place plans from or to all its stations. A name for different places ("Broadway") returns the best trip from each, labelled in `reading` and explained in `notice`: use the one the conversation points to, or ask the rider. No form is ever shown to the user.+ - If `plan_trip` returns no itinerary (`PLANNING_UNAVAILABLE`, `SCOPE_LIMIT_EXCEEDED`, or nothing found), it returns `routeHints`: the lines near each end, and `direct` lines serving both. Choose the lines you would ride (your own knowledge of the network helps, e.g. BART from SFO, then Muni) and call `plan_trip` again with `routes` (up to four route refs). The server finds the actual trips, boarding stops, transfers and walks on those lines and validates them. Present only returned itineraries + - For "the next train from A to B", call `get_departures` with `toStop` (or `toStopRef`): rows list only trips that stop at B after A, each with `arrival` (stop, scheduled and predicted time).+ - For "when is the next train at X", call `get_departures` with `stop` (a station name) and `coverage` in one step. A name for one place covers all its stations: a station complex such as Times Sq-42 St, stations a short walk apart, or a well-known place such as Penn Station or SFO. Its stations in other networks are listed in `otherStations` (the LIRR at Penn Station). A name for different places returns `ENTITY_AMBIGUOUS` with a question to ask the rider and one candidate per place. Rows carry+ - NYC departures can include observed trains: `scheduleMatch` is `unscheduled_call` (a reroute) or `unmatched_trip` (not in the timetable). These have a predicted time and no scheduled time. Report them as running, not as scheduled service.+ - For a wheelchair user, someone with a stroller or anyone avoiding stairs, call `plan_trip` with `accessibility: "step_free"`. It refuses with `ACCESSIBILITY_UNAVAILABLE` (no current elevator report) or `ENDPOINT_NOT_STEP_FREE` (that station has no step-free platform now); then call `get_service_status` for the station and relay `equipment.outages`, including `alternativeRoute`. Departure rows and station details carry `stepFree` (`accessible`, `partial`, `not_accessible`, `unknown`); `partial`+ - The `nyc` coverage holds the subway, the Long Island Rail Road, Metro-North and NYC buses (every borough and MTA Bus Company); `dc` holds Metrorail and Metrobus. `plan_trip` plans with every mode, buses included, changing between them on foot (Penn Station, Grand Central, Atlantic Terminal, Jamaica). For a single bus ride `get_departures` with `toStop` gives the next buses and their arrival times. LIRR and Metro-North departures carry the track in `platform` when the railroad publishes it. Met+ - For "where is my train" or "what trains are at X", call `get_vehicle_status` with a line `ref`, a dated `tripInstanceRef` (from `get_departures` or a `plan_trip` leg), or a station (`stop` name with `coverage`). Each train has `trainId`, `stopStatus` (`stopped_at`, `incoming_at`, `in_transit_to`), `stopName`, `previousStopName` and `headsign`. An NYC `trainId` such as `1A 1023 207/FAR` reads as line A, scheduled out at 10:23, 207 St to Far Rockaway; `find_transit` with `train <trainId>` finds + - Use `find_transit` to inspect coverage availability and its planning capability; the open `plan_trip` search needs its planning capability, while `routes` works wherever schedules are available. When global coverage is unavailable, use `search_stations`, `get_station_predictions` and `get_incidents` for DC/NYC departure or service questions. These legacy tools do not provide a full journey planner. Never present a route pieced together from departure boards as confirmed; have `plan_trip` check+ - DC-only: bus tools, `get_train_positions` and `get_elevator_incidents`. NYC-only: `get_route_info` and `get_station_transfers`. A null `minutesAway` means unknown, not zero; retain the returned arrival status.+ - Discovery preserves material exact alternatives up to 50 candidates or places per query or endpoint. Larger ambiguous sets return `SCOPE_LIMIT_EXCEEDED` with no partial choices; narrow the query or supply an exact reference. Non-material fuzzy results honor `limit`.+ - Names may carry their operator ("16th St Mission BART", "Penn Station LIRR", "Dupont Circle Metro"), where they are ("14 St, Manhattan", "Metro Center DC") or their line ("Canal St on the 6", "Pentagon on the Blue Line"). `get_service_status` takes a line by name with `coverage` (`ref: "L"`, `"Red Line"`).+ - To keep a rider posted, recheck a planned trip shortly before they leave: `get_service_status` with `itinerary` set to the trip exactly as `plan_trip` returned it reports `journeyValid`, `legChecks` and `transferChecks`, judged on current times (a late train that still makes every change keeps the trip valid; a missed change is `MISSED_CONNECTION`); if it no longer holds, plan again. During the ride, `get_vehicle_status` with the ride's `tripInstanceRef` shows where the train is.+ - The first call after a quiet spell can take several seconds while the timetable loads; retry a timeout once before reporting the service as down.+ Public results come from official WMATA (DC Metro and Metrobus) and MTA (NYC Subway, Long Island Rail Road, Metro-North and NYC buses, including MTA Bus Time) feeds. SF Bay results come from 511 SF Bay regional feeds, with attribution to 511 SF Bay and participating operators.+ - [Agent skill (SKILL.md)](https://github.com/Aarekaz/transit-mcp/blob/main/skills/transit-mcp/SKILL.md): which tool answers which question, ambiguous names, and rechecking a trip.+ - [Source code on GitHub](https://github.com/Aarekaz/transit-mcp): MIT licensed.

  • server.json 3 fields changed
    description
    Real-time DC Metro and NYC Subway arrivals, alerts, stations, and DC buses. Read-only, no login. Trips, departures, alerts and vehicles for NYC, DC and the SF Bay Area.
    repository_url
    https://github.com/Aarekaz/metro-mcp https://github.com/Aarekaz/transit-mcp
    version
    6.0.0 6.1.0
  • Tools +5
    • + find_transit
    • + plan_trip
    • + get_departures
    • + get_service_status
    • + get_vehicle_status