transit-mcp
Registry code: 30345144c487a06f
Live transit for the SF Bay Area (BART, Muni, Caltrain, every 511 operator), Washington DC (Metrorail, Metrobus) and New York (subway, LIRR, Metro-North, buses). Pass the rider's own place names; no lookup first. A to B: plan_trip. Next train or bus: get_departures. Delays, closures, elevators: get_service_status. Where a train is: get_vehicle_status. When a name means different places the result says so: choose by the conversation or ask the rider. Say whether times are realtime or scheduled_only.
For the next trips from A that reach B, call get_departures with toStop: rows list only trips…
- endpoint
- https://metro-mcp.anuragd.me/sse
- protocol
- http-sse ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is transit-mcp live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is transit-mcp free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does transit-mcp have?
- 18 tools: get_service_status, get_stations_by_line, get_route_info, get_bus_predictions, get_all_stations, get_incidents, get_departures, search_stations, ….
- Is transit-mcp safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 99.3%· all time 99.3%
last good check
of 18 tools
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- live → degraded· timeout after 20000ms
- unknown → live
- used for
- get real-time train arrivals at a station
- get bus arrival predictions
- get transit incidents and elevator outages
- search transit stations
- takes → gives
- text, data → data
- tools
- 13 reads
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
get_bus_routes reads open 8h ago
Get all DC Metro bus routes with route IDs and descriptions.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {} }arguments 5 linesfind_transit open 19h ago
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.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "ref": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Exact reference to inspect." }, "limit": { "type": "integer", "default": 20, "maximum": 50, "minimum": 1 }, "query": { "type": "string", "maxLength": 256, "minLength": 1, "description": "A name to search: station, stop, line, agency or train number." }, "context": { "type": "object", "properties": { "feed": { "type": "string", "maxLength": 256, "minLength": 1 }, "coverage": { "enum": [ "sfbay", "SF", "San Francisco", "Bay Area", "dc", "DC", "Washington DC", "Washington, DC", "WMATA", "DC Metro", "Metrobus", "nyc", "NYC", "New York", "New York City", "NYC Subway", "MTA Subway", "MTA", "LIRR", "Long Island Rail Road", "Metro-North", "Metro-North Railroad" ], "type": "string", "description": "Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several." }, "serviceDate": { "type": "string", "pattern": "^\\d{8}$" } }, "additionalProperties": false }, "coverage": { "enum": [ "sfbay", "SF", "San Francisco", "Bay Area", "dc", "DC", "Washington DC", "Washington, DC", "WMATA", "DC Metro", "Metrobus", "nyc", "NYC", "New York", "New York City", "NYC Subway", "MTA Subway", "MTA", "LIRR", "Long Island Rail Road", "Metro-North", "Metro-North Railroad" ], "type": "string", "description": "Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several." }, "latitude": { "type": "number", "maximum": 90, "minimum": -90, "description": "With longitude: stops near this point." }, "longitude": { "type": "number", "maximum": 180, "minimum": -180 } }, "additionalProperties": false }arguments 107 linesget_train_positions reads open 12h ago
Get real-time positions of all trains on the DC Metro system.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {} }arguments 5 linesget_bus_positions reads open 8h ago
Get real-time positions of DC Metro buses, optionally filtered by route.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "routeId": { "type": "string", "description": "Optional route ID filter (e.g., \"30N\"). Omit for all buses." } } }arguments 10 linesget_bus_stops reads open 8h ago
Get DC Metro bus stops. Returns all stops or filters by lat/lon/radius.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "radius": { "type": "number", "description": "Search radius in meters" }, "latitude": { "type": "number", "description": "Center latitude for geographic search" }, "longitude": { "type": "number", "description": "Center longitude for geographic search" } } }arguments 18 linesget_service_status unknown 19h ago
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.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "ref": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Agency, route, stop or dated trip reference; or a line's name (\"L\", \"Red Line\") with coverage." }, "stop": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Station name, e.g. \"Fulton St\", with coverage; a station covers its complex." }, "coverage": { "enum": [ "sfbay", "SF", "San Francisco", "Bay Area", "dc", "DC", "Washington DC", "Washington, DC", "WMATA", "DC Metro", "Metrobus", "nyc", "NYC", "New York", "New York City", "NYC Subway", "MTA Subway", "MTA", "LIRR", "Long Island Rail Road", "Metro-North", "Metro-North Railroad" ], "type": "string", "description": "Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several." }, "itinerary": { "type": "object", "description": "An itinerary exactly as plan_trip returned it; validated strictly against that contract.", "propertyNames": { "type": "string" }, "additionalProperties": {} } }, "additionalProperties": false }arguments 55 linesget_stations_by_line reads unknown 4h ago
Get all stations on a specific transit line. Supports DC Metro and NYC Subway.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "city", "lineCode" ], "properties": { "city": { "enum": [ "dc", "nyc" ], "type": "string" }, "lineCode": { "type": "string", "description": "Line code — DC: RD, BL, YL, OR, GR, SV | NYC: 1-7, A, C, E, B, D, F, M, N, Q, R, W, J, Z, L, G, SI" } } }arguments 21 linesget_route_info reads unknown 12h ago
Get detailed information about a transit route including service patterns. NYC Subway only.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "city", "routeId" ], "properties": { "city": { "enum": [ "nyc" ], "type": "string" }, "routeId": { "type": "string", "description": "Route identifier — NYC: A, B, C, D, E, F, M, G, J, Z, L, N, Q, R, W, 1, 2, 3, 4, 5, 6, 7, SI" } } }arguments 20 linesget_bus_predictions reads unknown 1h ago
Get real-time bus arrival predictions for a DC Metro bus stop.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "stopId" ], "properties": { "stopId": { "type": "string", "pattern": "^\\d{7}$", "description": "DC Metro 7-digit regional bus stop ID (e.g., \"1001195\")" } } }arguments 14 linesget_all_stations reads unknown 4h ago
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.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "city" ], "properties": { "city": { "enum": [ "dc", "nyc" ], "type": "string" } } }arguments 16 linesget_incidents reads unknown 15h ago
Get current transit incidents and service advisories for DC Metro or NYC Subway.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "city" ], "properties": { "city": { "enum": [ "dc", "nyc" ], "type": "string" } } }arguments 16 linesget_departures unknown 19h ago
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.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "at": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "stop": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Stop or station name, with coverage. Give this or stopRef." }, "limit": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1 }, "toStop": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Destination stop or station name, with coverage. Give this or toStopRef, or neither." }, "stopRef": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Exact stop or station reference. Give this or stop." }, "coverage": { "enum": [ "sfbay", "SF", "San Francisco", "Bay Area", "dc", "DC", "Washington DC", "Washington, DC", "WMATA", "DC Metro", "Metrobus", "nyc", "NYC", "New York", "New York City", "NYC Subway", "MTA Subway", "MTA", "LIRR", "Long Island Rail Road", "Metro-North", "Metro-North Railroad" ], "type": "string", "description": "Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several." }, "routeRefs": { "type": "array", "items": { "type": "string", "maxLength": 256, "minLength": 1 }, "maxItems": 20 }, "selection": { "enum": [ "first", "last" ], "type": "string", "default": "first" }, "toStopRef": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Destination stop or station: only trips that go on to stop there are listed, each with its arrival time there." }, "agencyRefs": { "type": "array", "items": { "type": "string", "maxLength": 256, "minLength": 1 }, "maxItems": 20 }, "windowSeconds": { "type": "integer", "default": 7200, "maximum": 9007199254740991, "minimum": -9007199254740991, "description": "Search window in seconds, 1 through 604800 (seven days)." } }, "additionalProperties": false }arguments 103 linessearch_stations reads unknown 1h ago
Search for transit stations by name or code. Supports DC Metro and NYC Subway.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "city", "query" ], "properties": { "city": { "enum": [ "dc", "nyc" ], "type": "string" }, "query": { "type": "string", "description": "Search query (station name or code)" } } }arguments 21 linesget_elevator_incidents reads unknown 15h ago
Get current elevator and escalator outages. DC Metro only.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "city" ], "properties": { "city": { "enum": [ "dc" ], "type": "string" } } }arguments 15 linesget_station_transfers reads unknown never probed
Get transfer connections and nearby stations from a transit station. NYC Subway only.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "city", "stationId" ], "properties": { "city": { "enum": [ "nyc" ], "type": "string" }, "stationId": { "type": "string", "description": "Station ID (e.g., \"127\" for Times Square)" } } }arguments 20 linesget_station_predictions reads unknown 4h ago
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.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "city", "stationName" ], "properties": { "city": { "enum": [ "dc", "nyc" ], "type": "string" }, "stationName": { "type": "string", "description": "Station name (e.g., \"Metro Center\", \"Times Square\") — auto-converted to station ID. DC accepts codes like \"A01\"." } } }arguments 21 linesget_vehicle_status unknown 12h ago
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.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "ref": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Route, dated trip or stop/station reference. Give this or stop." }, "stop": { "type": "string", "maxLength": 256, "minLength": 1, "description": "Station name, with coverage. Give this or ref." }, "limit": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1 }, "coverage": { "enum": [ "sfbay", "SF", "San Francisco", "Bay Area", "dc", "DC", "Washington DC", "Washington, DC", "WMATA", "DC Metro", "Metrobus", "nyc", "NYC", "New York", "New York City", "NYC Subway", "MTA Subway", "MTA", "LIRR", "Long Island Rail Road", "Metro-North", "Metro-North Railroad" ], "type": "string", "description": "Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several." } }, "additionalProperties": false }arguments 53 linesplan_trip unknown 1h ago
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.
{ "type": "object", "$schema": "https://json-schema.org/draft/2020-12/schema", "required": [ "origin", "destination" ], "properties": { "origin": { "anyOf": [ { "type": "object", "required": [ "ref" ], "properties": { "ref": { "type": "string", "maxLength": 256, "minLength": 1 } }, "additionalProperties": false }, { "type": "object", "required": [ "query" ], "properties": { "query": { "type": "string", "maxLength": 256, "minLength": 1 } }, "additionalProperties": false }, { "type": "object", "required": [ "latitude", "longitude" ], "properties": { "latitude": { "type": "number", "maximum": 90, "minimum": -90 }, "longitude": { "type": "number", "maximum": 180, "minimum": -180 } }, "additionalProperties": false } ] }, "routes": { "type": "array", "items": { "type": "string", "maxLength": 256, "minLength": 1 }, "maxItems": 4, "minItems": 1, "description": "Route refs (from find_transit) the journey may ride, e.g. the lines you would take: BART from SFO, then a Muni line. The server finds the actual trips, boarding stops, transfers and walks on only these routes and validates them. Works where full search is unavailable (SF Bay) and for buses." }, "coverage": { "enum": [ "sfbay", "SF", "San Francisco", "Bay Area", "dc", "DC", "Washington DC", "Washington, DC", "WMATA", "DC Metro", "Metrobus", "nyc", "NYC", "New York", "New York City", "NYC Subway", "MTA Subway", "MTA", "LIRR", "Long Island Rail Road", "Metro-North", "Metro-North Railroad" ], "type": "string", "description": "Region: sfbay (San Francisco Bay Area), dc (Washington DC Metro and Metrobus), nyc (New York City Subway, LIRR and Metro-North). Region names such as SF or Washington DC also work. Pick the region the place is in; where optional, leave it out only if the place could be in several." }, "departAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "destination": { "anyOf": [ { "type": "object", "required": [ "ref" ], "properties": { "ref": { "type": "string", "maxLength": 256, "minLength": 1 } }, "additionalProperties": false }, { "type": "object", "required": [ "query" ], "properties": { "query": { "type": "string", "maxLength": 256, "minLength": 1 } }, "additionalProperties": false }, { "type": "object", "required": [ "latitude", "longitude" ], "properties": { "latitude": { "type": "number", "maximum": 90, "minimum": -90 }, "longitude": { "type": "number", "maximum": 180, "minimum": -180 } }, "additionalProperties": false } ] }, "maxTransfers": { "type": "integer", "default": 3, "maximum": 4, "minimum": 0 }, "accessibility": { "enum": [ "no_preference", "step_free" ], "type": "string", "default": "no_preference", "description": "step_free: only platforms reachable without stairs, avoiding current elevator outages." }, "maxWalkMetres": { "type": "number", "default": 800, "minimum": 0, "description": "Walking allowed at each end and between rides; more than 800 is taken as 800." }, "windowSeconds": { "type": "integer", "default": 7200, "maximum": 604800, "minimum": 1 } }, "additionalProperties": false }arguments 186 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id30345144c487a06f.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/30345144c487a06f/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/30345144c487a06f?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.