mcpbeat Sign in

Transit MCP Server

by transitmcp Your server? Claim it
answering

Transit MCP is answering right now. Last checked 5 min ago. It exposes 18 tools. Last commit 25 Oct 2026.

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

Uptime history 9 days of history
9 days agonow
100.0%
Uptime 24h
91 of 91 checks
18
Tools
read from the server
595 ms
Response time
average over 24h
5
Stars
last commit 25 Oct 2026

What changed 44

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 19 October 2026. No other catalogue keeps this.

23 Oct 2 tools changed the parameters they ask for get_service_status, plan_trip
22 Oct 5 tools changed the parameters they ask for7 times that day find_transit, get_departures, get_service_status and 2 more
22 Oct 2 tool descriptions were rewritten get_departures, plan_trip
21 Oct 2 tool descriptions were rewritten3 times that day find_transit, plan_trip
21 Oct 2 tools changed the parameters they ask for find_transit, get_bus_predictions
20 Oct 4 tool descriptions were rewritten6 times that day find_transit, get_departures, get_service_status and 1 more
20 Oct 3 tools changed the parameters they ask for4 times that day get_departures, get_service_status, plan_trip
19 Oct 5 tools appeared find_transit, get_departures, get_service_status and 2 more
19 Oct 4 tool descriptions were rewritten5 times that day find_transit, get_departures, get_vehicle_status and 1 more
19 Oct 5 tools disappeared get_sfbay_incidents, get_sfbay_routes, get_sfbay_station_predictions and 2 more
and 10 more, back to 19 October 2026

What the code does

We read the source, 3 h ago · tools taken from the live server · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Page executes code built at runtime media/og-video/launch.html:258
  el.innerHTML = s.parts.map(([text, cls]) => text.split(/(\s+)/).map(w => word(w, cls)).join('')).join('<br>');

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 5 min ago.

run in your terminal
claude mcp add transit-mcp --transport http https://transitmcp.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://transitmcp.com/mcp
~/.codex/config.toml
[mcp_servers.transit-mcp]
url = "https://transitmcp.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "transit-mcp": {
      "url": "https://transitmcp.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "transit-mcp": {
      "type": "http",
      "url": "https://transitmcp.com/mcp"
    }
  }
}

Available tools 18

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

bus
get_bus_positions
Get real-time positions of DC Metro buses, optionally filtered by route.
get_bus_predictions
Get real-time bus arrival predictions for a DC Metro bus stop.
get_bus_routes
Get all DC Metro bus routes with route IDs and descriptions.
get_bus_stops
Get DC Metro bus stops. Returns all stops or filters by lat/lon/radius.
station
get_station_predictions
Get 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.
get_station_transfers
Get transfer connections and nearby stations from a transit station. NYC Subway only.
stations
get_stations_by_line
Get all stations on a specific transit line. Supports DC Metro and NYC Subway.
search_stations
Search for transit stations by name or code. Supports DC Metro and NYC Subway.
all
get_all_stations
Get 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.
departures
get_departures
Find 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.
elevator
get_elevator_incidents
Get current elevator and escalator outages. DC Metro only.
incidents
get_incidents
Get current transit incidents and service advisories for DC Metro or NYC Subway.
plan
plan_trip
Plan 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.
route
get_route_info
Get detailed information about a transit route including service patterns. NYC Subway only.
service
get_service_status
Check 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.
train
get_train_positions
Get real-time positions of all trains on the DC Metro system.
transit
find_transit
Call 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.
vehicle
get_vehicle_status
Where 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.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

get_sfbay_incidents
removed 19 Oct 2026
get_sfbay_routes
removed 19 Oct 2026
get_sfbay_station_predictions
removed 19 Oct 2026
get_vehicle_positions
removed 19 Oct 2026
search_sfbay_stations
removed 19 Oct 2026

Endpoints

URLTransportStateLatencyChecked
https://transitmcp.com/mcp streamable-http answering 401 ms 5 min ago

Alternatives to Transit MCP

same job, measured the same way
511 Sf Bay
by pipeworx-io

511 SF Bay Transit MCP — live departures, vehicle positions and service alerts for every transit…

46 tools answering
SF Muni Real-Time Transit
by srivastsh

Real-time SF Muni departures, routes, alerts, vehicle positions, and schedules.

11 tools answering
Transport Nsw
by pipeworx-io

Transport for NSW MCP — journey planning, live departures, service alerts

46 tools answering
Datto RMM
by wyre-ai

MCP server for Datto RMM — devices, alerts, sites, jobs, and audit data.

local only
Datto RMM
by wyre-technology

MCP server for Datto RMM — devices, alerts, sites, jobs, and audit data.

local only
NSW Transport
by fisher98kim

NSW public transport: trip planning, real-time departures, service alerts, Park&Ride car parks.

1 339 installs/wk local only
NinjaOne
by wyre-technology

MCP server for NinjaOne RMM — devices, organizations, alerts, and tickets.

local only
NinjaOne
by wyre-ai

MCP server for NinjaOne RMM — devices, organizations, alerts, and tickets.

local only

Transit MCP — questions

Answers built from our own checks of this server.

What can Transit MCP do?
It exposes 18 tools, read directly from the server on our last check. Among them: find_transit, get_all_stations, get_bus_positions, get_bus_predictions, get_bus_routes, get_bus_stops and 12 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Transit MCP mostly used for?
Its tools cluster around bus, station and stations. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Transit MCP working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 595 ms. The bar chart above shows every period we have measured.
Did Transit MCP ever remove tools?
Yes. get_sfbay_incidents, get_sfbay_routes, get_sfbay_station_predictions, get_vehicle_positions and 1 more are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect Transit MCP?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Transit MCP need an API key?
No. Transit MCP completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 18 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Transit MCP?
It answers our handshake in 595 ms on average, which is faster than 21% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Transit MCP open source?
The code is open source: it is published under the MIT licence, written in TypeScript and 5 stars on GitHub. The licence covers the code in the repository, not the hosted service at transitmcp.com, which runs on its operator's own terms.