amtrak.io

A little clarity before your next train.

On time Some delays Major delays No trains running
Hover or tap a route to see how it's running.

THE NEXT DEPARTURE

Find your station.

Amtrak + Brightline

Loading stations…

Stations and their next departures within 12 hours
StationStateNext train
Finding your next stop…
Next 12 hours · live estimates + schedules

Use it from your AI agent

Add this MCP server URL to any MCP-capable client. No sign-up or key needed.

https://amtrak.io/mcp

Claude

Settings → Connectors → Add custom connector, then paste the URL above.

ChatGPT

Settings → Apps & Connectors → add a custom connector with the URL above (no authentication).

Other apps

Most MCP-capable apps accept the URL directly, or a config like:

{
  "mcpServers": {
    "amtrak": { "url": "https://amtrak.io/mcp" }
  }
}

Tools

JSON API

Read-only, no key, CORS enabled. Every response is { ok, data, meta, error }; meta says how fresh the live data is.

GET /api/trainsAll trains in the live feed
GET /api/trains/:numberOne train's run(s) with every stop. Optional ?origin_date=YYYY-MM-DD&operator=amtrak|brightline
GET /api/stationsAll stations, or search with ?q=boston
GET /api/stations/:codeOne station and its routes
GET /api/stations/:code/boardUpcoming trains. ?hours=3&type=departures|arrivals|both
GET /api/routesAll routes with live status. Optional ?station=NYP
GET /api/routes/:idOne route, its stations and live trains
GET /api/routes.geojsonRoute lines as GeoJSON
GET /api/statusData freshness and source health

Example: /api/trains/5 · /api/stations/NYP/board

Live data refreshes about every 5 minutes. A train missing from the feed doesn't mean it's cancelled.