mta
NYC MTA 交通 — 纽约市地铁和公交系统的实时地铁到达、公交车预测、服务警报以及路线信息。当用户询问纽约市公共交通、地铁时间、MTA 巴士到达、服务提醒或附近车站时使用。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw skills install shop:totalclaw:totalclaw~brianleach-mtacURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~brianleach-mta/file -o brianleach-mta.md## 概述(中文) NYC MTA 交通 — 纽约市地铁和公交系统的实时地铁到达、公交车预测、服务警报以及路线信息。当用户询问纽约市公共交通、地铁时间、MTA 巴士到达、服务提醒或附近车站时使用。 ## 原文 # NYC MTA Transit 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. ## When to Use - 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 ## Data Sources NYC MTA is multiple transit agencies with different data formats: ### Subway Real-Time Feeds (GTFS-RT Protobuf, NO key required) Feeds are grouped by line division. Each returns protobuf binary with NYCT extensions (direction, track info). | Feed | Lines | URL | |------|-------|-----| | 1234567/GS | 1, 2, 3, 4, 5, 6, 7, Grand Central Shuttle | `https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs` | | ACE | A, C, E, Rockaway Shuttle, Franklin Shuttle | `https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-ace` | | BDFM | B, D, F, M | `https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-bdfm` | | G | G | `https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-g` | | JZ | J, Z | `https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-jz` | | L | L | `https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-l` | | NQRW | N, Q, R, W | `https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-nqrw` | | SIR | Staten Island Railway | `https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/nyct/gtfs-si` | Feeds update every ~30 seconds. No API key required. ### Bus Real-Time (SIRI JSON API, requires `MTA_BUS_API_KEY`) Get a free key at: https://register.developer.obanyc.com/ | Endpoint | Description | |----------|-------------| | SIRI StopMonitoring | Arrivals at a specific bus stop | | SIRI VehicleMonitoring | All vehicles on a bus route | | OneBusAway Stop Info | Stop details and nearby stops | | OneBusAway Routes | Route discovery | Rate limit: 1 request per 30 seconds. ### Service Alerts (GTFS-RT Protobuf, NO key required) | Feed | URL | |------|-----| | Subway Alerts | `https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/camsys/subway-alerts` | | Bus Alerts | `https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/camsys/bus-alerts` | | All Alerts | `https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/camsys/all-alerts` | ### GTFS Static Feed | Feed | URL | |------|-----| | Subway | `http://web.mta.info/developers/data/nyct/subway/google_transit.zip` | ## Implementation ### Script: `scripts/mta.mjs` Main entry point. Supports these commands: ```bash # 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 ``` ### Setup: Bus API Key Subway and alert commands work with zero configuration. For bus commands: 1. Get a free key at https://register.developer.obanyc.com/ 2. Set environment variable: `MTA_BUS_API_KEY` ### Setup: GTFS Static Data On first use, run `node scripts/mta.mjs refresh-gtfs` to download subway stop/route data to `~/.mta/gtfs/`. Refresh periodically (data updates hourly). ### NYC Subway Lines Reference | Line | Color | Route | Terminals | |------|-------|-------|-----------| | 1 | Red | 7th Ave Local | Van Cortlandt Park-242 St ↔ South Ferry | | 2 | Red | 7th Ave Express | Wakefield-241 St ↔ Flatbush Ave-Brooklyn College | | 3 | Red | 7th Ave Express | Harlem-148 St ↔ New Lots Ave | | 4 | Green | Lexington Ave Express | Woodlawn ↔ Crown Heights-Utica Ave | | 5 | Green | Lexington Ave Express | Eastchester-Dyre Ave ↔ Flatbush Ave-Brooklyn College | | 6 | Green | Lexington Ave Local | Pelham Bay Park ↔ Brooklyn Bridge-City Hall | | 7 | Purple | Flushing | Flushing-Main St ↔ 34 St-Hudson Yards | | A | Blue | 8th Ave Express | Inwood-207 St ↔ Far Rockaway / Ozone Park-Lefferts Blvd | | C | Blue | 8th Ave Local | 168 St ↔ Euclid Ave | | E | Blue | 8th Ave Local | Jamaica Center ↔ World Trade Center | | B | Orange | 6th Ave Express | Bedford Park Blvd ↔ Brighton Beach | | D | Orange | 6th Ave Express | Norwood-205 St ↔ Coney Island-Stillwell Ave | | F | Orange | 6th Ave Local | Jamaica-179 St ↔ Coney Island-Stillwell Ave | | M | Orange | 6th Ave Local | Middle Village-Metropolitan Ave ↔ Forest Hills-71 Ave | | G | Light Green | Brooklyn-Queens Crosstown | Court Sq ↔ Church Ave | | J | Brown | Nassau St | Jamaica Center ↔ Broad St | | Z | Brown | Nassau St Express | Jamaica Center ↔ Broad St (Peak only) | | L | Gray | 14th St-Canarsie | 8 Ave ↔ Canarsie-Rockaway Pkwy | | N | Yellow | Broadway Express | Astoria-Ditmars Blvd ↔ Coney Island-Stillwell Ave | | Q | Yellow | Broadway Express | 96 St ↔ Coney Island-Stillwell Ave | | R | Yellow | Broadway Local | Forest Hills-71 Ave ↔ Bay Ridge-95 St | | W | Yellow | Broadway Local | Astoria-Ditmars Blvd ↔ Whitehall St-South Ferry | | S | Gray | 42nd St Shuttle | Times Sq-42 St ↔ Grand Central-42 St | | S | Gray | Franklin Ave Shuttle | Franklin Ave ↔ Prospect Park | | S | Gray | Rockaway Park Shuttle | Broad Channel ↔ Rockaway Park-Beach 116 St | | SIR | Blue | Staten Island Railway | St George ↔ Tottenville | ### Key Bus Routes Reference | Route | Name | Borough | |-------|------|---------| | M1 | 5th Ave / Madison Ave | Manhattan | | M15 | 1st Ave / 2nd Ave | Manhattan | | M34 | 34th Street Crosstown | Manhattan | | M42 | 42nd Street Crosstown | Manhattan | | M60 | LaGuardia Airport Link | Manhattan/Queens | | B44 | Nostrand Ave | Brooklyn | | B52 | Gates Ave/Greene Ave | Brooklyn | | Bx12 | Fordham Road/Pelham Pkwy | Bronx | | Q44 | Merrick Blvd/Cross Island | Queens | | S79 | Hylan Blvd | Staten Island | | X27 | Bay Ridge-Downtown Manhattan Express | Brooklyn | ### MTA Fares Reference (2025) | Fare Type | Price | |-----------|-------| | Subway/Bus (OMNY tap or MetroCard) | $2.90 | | Bus-to-bus / subway-to-bus transfer | Free within 2 hours | | Express Bus | $7.00 | | 7-Day Unlimited | $34.00 | | 30-Day Unlimited | $132.00 | | Single Ride (vending machine only) | $3.25 | | Reduced Fare | $1.45 | Payment via OMNY (contactless tap), MetroCard, or Ventra. Free transfers between subway and bus within 2 hours with OMNY. ### Tips for Users - **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 a