Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
NYC MTA transit — real-time subway arrivals, bus predictions, service alerts, and route info for the New York City subway and bus system. Use when the user a...
NYC MTA transit — real-time subway arrivals, bus predictions, service alerts, and route info for the New York City subway and bus system. Use when the user a...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Real-time New York City MTA transit data — subway arrivals (GTFS-RT protobuf), bus predictions (SIRI JSON API), service alerts, and route information. Subway and alerts work with zero config; bus data requires a free API key.
User asks about NYC subway, MTA, the train, or specific lines (1/2/3, A/C/E, N/Q/R/W, etc.) User asks "when is the next train" in a New York City context User mentions specific NYC stations (Times Square, Penn Station, Grand Central, Union Square, etc.) User asks about NYC bus routes (M1, B52, Bx12, Q44, S79, etc.) User asks about MTA service alerts, delays, planned work, weekend service changes User asks about MTA fares, MetroCard, OMNY User asks about subway status or weekend service changes User asks about nearby subway stops or bus stops in NYC
NYC MTA is multiple transit agencies with different data formats:
Feeds are grouped by line division. Each returns protobuf binary with NYCT extensions (direction, track info). FeedLinesURL1234567/GS1, 2, 3, 4, 5, 6, 7, Grand Central Shuttlehttps://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfsACEA, C, E, Rockaway Shuttle, Franklin Shuttlehttps://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-aceBDFMB, D, F, Mhttps://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-bdfmGGhttps://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-gJZJ, Zhttps://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-jzLLhttps://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-lNQRWN, Q, R, Whttps://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-nqrwSIRStaten Island Railwayhttps://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-si Feeds update every ~30 seconds. No API key required.
Get a free key at: https://register.developer.obanyc.com/ EndpointDescriptionSIRI StopMonitoringArrivals at a specific bus stopSIRI VehicleMonitoringAll vehicles on a bus routeOneBusAway Stop InfoStop details and nearby stopsOneBusAway RoutesRoute discovery Rate limit: 1 request per 30 seconds.
FeedURLSubway Alertshttps://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/camsys/subway-alertsBus Alertshttps://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/camsys/bus-alertsAll Alertshttps://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/camsys/all-alerts
FeedURLSubwayhttp://web.mta.info/developers/data/nyct/subway/google_transit.zip
Main entry point. Supports these commands: # Subway arrivals node scripts/mta.mjs arrivals --stop-search "times square" node scripts/mta.mjs arrivals --stop-search "penn station" --line A node scripts/mta.mjs arrivals --stop 127N node scripts/mta.mjs arrivals --station "Grand Central" # Bus arrivals (requires MTA_BUS_API_KEY) node scripts/mta.mjs bus-arrivals --stop MTA_308209 node scripts/mta.mjs bus-arrivals --stop MTA_308209 --route M1 # Vehicle tracking node scripts/mta.mjs vehicles --line 1 node scripts/mta.mjs bus-vehicles --route B52 # Service alerts node scripts/mta.mjs alerts node scripts/mta.mjs alerts --subway node scripts/mta.mjs alerts --bus node scripts/mta.mjs alerts --line A # Routes and stops node scripts/mta.mjs routes node scripts/mta.mjs bus-routes node scripts/mta.mjs stops --search "grand central" node scripts/mta.mjs stops --near 40.7484,-73.9856 node scripts/mta.mjs bus-stops --near 40.7484,-73.9856 node scripts/mta.mjs bus-stops --route M1 node scripts/mta.mjs route-info --line A # Maintenance node scripts/mta.mjs refresh-gtfs
Subway and alert commands work with zero configuration. For bus commands: Get a free key at https://register.developer.obanyc.com/ Set environment variable: MTA_BUS_API_KEY
On first use, run node scripts/mta.mjs refresh-gtfs to download subway stop/route data to ~/.mta/gtfs/. Refresh periodically (data updates hourly).
LineColorRouteTerminals1Red7th Ave LocalVan Cortlandt Park-242 St ↔ South Ferry2Red7th Ave ExpressWakefield-241 St ↔ Flatbush Ave-Brooklyn College3Red7th Ave ExpressHarlem-148 St ↔ New Lots Ave4GreenLexington Ave ExpressWoodlawn ↔ Crown Heights-Utica Ave5GreenLexington Ave ExpressEastchester-Dyre Ave ↔ Flatbush Ave-Brooklyn College6GreenLexington Ave LocalPelham Bay Park ↔ Brooklyn Bridge-City Hall7PurpleFlushingFlushing-Main St ↔ 34 St-Hudson YardsABlue8th Ave ExpressInwood-207 St ↔ Far Rockaway / Ozone Park-Lefferts BlvdCBlue8th Ave Local168 St ↔ Euclid AveEBlue8th Ave LocalJamaica Center ↔ World Trade CenterBOrange6th Ave ExpressBedford Park Blvd ↔ Brighton BeachDOrange6th Ave ExpressNorwood-205 St ↔ Coney Island-Stillwell AveFOrange6th Ave LocalJamaica-179 St ↔ Coney Island-Stillwell AveMOrange6th Ave LocalMiddle Village-Metropolitan Ave ↔ Forest Hills-71 AveGLight GreenBrooklyn-Queens CrosstownCourt Sq ↔ Church AveJBrownNassau StJamaica Center ↔ Broad StZBrownNassau St ExpressJamaica Center ↔ Broad St (Peak only)LGray14th St-Canarsie8 Ave ↔ Canarsie-Rockaway PkwyNYellowBroadway ExpressAstoria-Ditmars Blvd ↔ Coney Island-Stillwell AveQYellowBroadway Express96 St ↔ Coney Island-Stillwell AveRYellowBroadway LocalForest Hills-71 Ave ↔ Bay Ridge-95 StWYellowBroadway LocalAstoria-Ditmars Blvd ↔ Whitehall St-South FerrySGray42nd St ShuttleTimes Sq-42 St ↔ Grand Central-42 StSGrayFranklin Ave ShuttleFranklin Ave ↔ Prospect ParkSGrayRockaway Park ShuttleBroad Channel ↔ Rockaway Park-Beach 116 StSIRBlueStaten Island RailwaySt George ↔ Tottenville
RouteNameBoroughM15th Ave / Madison AveManhattanM151st Ave / 2nd AveManhattanM3434th Street CrosstownManhattanM4242nd Street CrosstownManhattanM60LaGuardia Airport LinkManhattan/QueensB44Nostrand AveBrooklynB52Gates Ave/Greene AveBrooklynBx12Fordham Road/Pelham PkwyBronxQ44Merrick Blvd/Cross IslandQueensS79Hylan BlvdStaten IslandX27Bay Ridge-Downtown Manhattan ExpressBrooklyn
Fare TypePriceSubway/Bus (OMNY tap or MetroCard)$2.90Bus-to-bus / subway-to-bus transferFree within 2 hoursExpress Bus$7.007-Day Unlimited$34.0030-Day Unlimited$132.00Single Ride (vending machine only)$3.25Reduced Fare$1.45 Payment via OMNY (contactless tap), MetroCard, or Ventra. Free transfers between subway and bus within 2 hours with OMNY.
Subway stop IDs end with N (northbound/uptown) or S (southbound/downtown). Example: 127N = Times Sq northbound Subway works with zero config — no API key needed for any subway command Bus requires a free API key — get one at https://register.developer.obanyc.com/ Alerts always work — no key needed Multiple subway feeds exist; the skill automatically fetches the right one(s) for the line requested Use --stop-search for fuzzy name matching, --stop for exact stop IDs
If MTA_BUS_API_KEY is not set, bus commands print a helpful message with the signup URL; subway commands still work Invalid station/stop searches show "No matching station found" Network errors and API error responses produce friendly messages If a subway feed returns empty data, note that real-time data may be temporarily unavailable
When presenting transit info to the user: Lead with the most actionable info (next arrival time, active alerts) Show line letter/number + direction (e.g., "A train toward Far Rockaway, arriving 3 min") For subway: show "Approaching" for trains at the station, minutes for upcoming Show track info when available (actual vs scheduled track) Always mention active service alerts for the line being queried For buses: show route + destination + minutes/stops away Times in 12-hour format with AM/PM
EndpointData SentData Receivedapi-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs*None (GET only)Subway positions/arrivals (Protobuf)api-endpoint.mta.info/Dataservice/mtagtfsfeeds/camsys/*-alertsNone (GET only)Service alerts (Protobuf)bustime.mta.info/api/siri/*API key (query param)Bus arrivals/positions (JSON)bustime.mta.info/api/where/*API key (query param)Stop/route discovery (JSON)web.mta.info/developers/data/nyct/subway/*None (GET only)GTFS static data (ZIP) Subway and alert endpoints are open access with no authentication. Bus endpoints require a free API key passed as a query parameter.
Subway: No credentials required — subway and alert feeds are open access, no API keys or tokens Bus: Free API key required — passed as a URL query parameter to MTA's official BusTime API No user data transmitted — requests contain only API keys and route/stop identifiers, no personal information Local storage only — GTFS static data is cached locally at ~/.mta/gtfs/; no data is written elsewhere No telemetry — this skill does not phone home or collect usage data Input handling — stop names and route IDs from user input are used only for local filtering, never interpolated into shell commands
This skill reads publicly available transit data from MTA's official feeds and APIs. The bus API key is used only for MTA BusTime API authentication. The skill does not access, store, or transmit any personal information beyond the API key configured by the user.
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.