Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

NYC Subway Status

v1.0.0

Check real-time NYC subway arrivals, track trains, and find stations. Use when user asks about subway times, train status, MTA arrivals, or NYC transit.

0· 299· 1 versions· 0 current· 0 all-time· Updated 10h ago· MIT-0
byMax Shaw@mxs2019

Install

openclaw skills install nyc-subway-status

NYC Subway Status

Real-time NYC subway arrival times. No API key required.

Setup

Before making any API calls, fetch the full API reference:

GET https://nyc-subway-status.com/llms.txt

This returns a plain-text guide with all endpoints, slug formats, response schemas, and tips. Read it once per session to understand the API surface.

Base URL: https://nyc-subway-status.com

Core Workflow

Always search first — never guess station or route slugs.

  1. Search: GET /api/search?q={query} to find station slugs and route slugs
  2. Use the returned slugs to call the appropriate endpoint

Use Cases

1. Next train at a station

User asks: "when is the next Q at 72nd st"

GET /api/search?q=72+st+q

The response includes an arrivals_url when both station and route match. Use it:

GET /api/stops/72-st-n-q-r/lines/q

Present the minutes_away values from arrivals.uptown and arrivals.downtown. Example output:

Q at 72 St (N/Q/R) Uptown: 3 min, 8 min, 15 min Downtown: 1 min, 6 min, 12 min

2. All arrivals at a station

User asks: "what trains are coming to Union Square"

GET /api/search?q=union+square
GET /api/stops/14-st-union-sq

Use the by_route field to group arrivals by line. Show each route with its next few trains in both directions.

3. Is a line running?

User asks: "is the G train running"

GET /api/lines/g

Returns next arrival at every station on the route. If most stations have next_uptown or next_downtown values, the line is running. If many are null, service may be disrupted. Summarize the overall status.

4. Track a specific train

User asks for details on a specific trip (usually after seeing a trip_id from an arrivals response):

GET /api/trips/{tripId}?route={routeSlug}

Returns every stop on the trip with status ("passed" or "upcoming") and minutes_away. Show the train's current position and upcoming stops.

5. Find a station

User asks: "find subway stations near Times Square"

GET /api/search?q=times+square

List matching stations with their routes. Offer to check arrivals at any of them.

6. Compare routes at a station

User asks: "should I take the N or Q at 72nd"

GET /api/stops/72-st-n-q-r

Use the by_route field to compare the next arrivals for each route in the user's direction. Recommend the sooner train.

Response Format

All responses follow this envelope:

{
  "ok": true,
  "data": { ... },
  "_meta": { "timestamp": "...", "endpoint": "...", "realtime": true }
}

Errors return "ok": false with an error object containing code and message.

Key Details

  • Directions: "uptown" = northbound, "downtown" = southbound
  • minutes_away is pre-computed server-side — no client math needed
  • Arrival times include both Unix timestamps and ISO 8601 strings
  • Route slugs are lowercase: a, q, 7, si, gs
  • Station slugs are hyphenated lowercase: 14-st-union-sq, times-sq-42-st

MCP Server (Alternative)

For agents that support Model Context Protocol, connect directly:

{
  "mcpServers": {
    "nyc-subway": { "url": "https://nyc-subway-status.com/mcp" }
  }
}

Tools: search_subway, get_arrivals, get_station_arrivals, list_stations, list_routes, get_trip

Version tags

latestvk9730rwbea863nzppnrg0sc3y9829am8