{
  "markdown": "# mcp-septa\n\nSEPTA MCP — Philadelphia SEPTA real-time transit (www3.septa.org/api, keyless)\n\nPart of [Pipeworx](https://pipeworx.io) — an MCP gateway connecting AI agents to 1476+ live data sources.\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `septa_rail_arrivals` | Philadelphia SEPTA Regional Rail departures board for a station — the next trains leaving, grouped Northbound/Southbound with train number, line, destination, scheduled vs estimated departure time, live status (\"On Time\" or minutes late), and track. Station names are matched forgivingly (\"30th street\", \"ardmore\", \"suburban\" all work). Example: septa_rail_arrivals({ station: \"Suburban Station\", results: 8 }) |\n| `septa_next_to_arrive` | Next SEPTA Regional Rail trains from an origin station to a destination station in Philly — direct trains and connecting itineraries (with transfer station), departure/arrival times, and live delay status. Answers \"when is the next train from X to Y\" in Philadelphia. Example: septa_next_to_arrive({ orig: \"Suburban Station\", dest: \"Airport Terminal B\", n: 3 }) |\n| `septa_train_view` | Live positions of every SEPTA Regional Rail train currently running in the Philadelphia region — train number, line, destination, current and next stop, minutes late, and lat/lon. Answers \"is my train late\" and \"where is train 456\". Optionally filter to one line. Example: septa_train_view({ line: \"Paoli/Thorndale\" }) |\n| `septa_bus_positions` | Live SEPTA bus and trolley vehicle positions for a route in Philadelphia — each vehicle with direction, destination, next stop, minutes late, estimated seat availability (crowding), and lat/lon. Buses use route numbers (\"23\", \"47\"); trolleys use SEPTA Metro codes T1-T5, G1 (Girard), D1/D2 (Media/Sharon Hill) — legacy trolley numbers like \"10\" are auto-translated to T1. Example: septa_bus_positions({ route: \"23\" }) |\n| `septa_alerts` | SEPTA service alerts, advisories, detours, and suspensions for Philadelphia transit. Pass a route to check one line: a bus number (\"23\"), a trolley (\"T1\" or legacy \"10\"), a Regional Rail line name (\"Paoli/Thorndale\", \"West Trenton\", \"Airport\"), a subway (\"Broad Street Line\", \"Market-Frankford Line\", \"NHSL\"), or a raw route_id (\"bus_route_23\", \"trolley_route_10\", \"rr_route_pao\"). Omit route to list every route with an active alert system-wide. Example: septa_alerts({ route: \"Paoli/Thorndale\" }) |\n\n## Quick Start\n\nAdd to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):\n\n```json\n{\n  \"mcpServers\": {\n    \"septa\": {\n      \"url\": \"https://gateway.pipeworx.io/septa/mcp\"\n    }\n  }\n}\n```\n\n### What this endpoint actually serves\n\n`tools/list` at `https://gateway.pipeworx.io/septa/mcp` returns the tools in the table\nabove **plus the shared Pipeworx meta-tools** — `ask_pipeworx`,\n`discover_tools`, `search_within`, `remember`/`recall` and the rest of the\ngateway-wide set. So the tool count you see is larger than this table: a\nsingle-pack endpoint currently lists roughly 30 shared tools alongside the\npack's own. The connection's `initialize` response states its exact scope, and\nis the authoritative answer for a given day.\n\nThis is deliberate, not multiplexing by accident. The meta-tools are what let a\nscoped connection answer a question this pack does not cover — via\n`ask_pipeworx`, which routes across the whole catalog — without you adding a\nsecond MCP server. There is currently no way to mount a pack endpoint without\nthem; if the extra schemas cost you more context than the routing is worth,\nconnect to the full gateway once rather than to several pack endpoints.\n\nOr connect to the full Pipeworx gateway to get every pack's tools listed\ndirectly, instead of just this one's:\n\n```json\n{\n  \"mcpServers\": {\n    \"pipeworx\": {\n      \"url\": \"https://gateway.pipeworx.io/mcp\"\n    }\n  }\n}\n```\n\nBoth URLs reach the same gateway and the same 1476+ data sources. The\nonly difference is which pack's tools are listed **directly**; `ask_pipeworx`\nreaches all of them from either one.\n\n## Using with ask_pipeworx\n\nInstead of calling tools directly, you can ask questions in plain English —\nthis works on the pack endpoint above as well as on the full gateway:\n\n```\nask_pipeworx({ question: \"your question about Septa data\" })\n```\n\nThe gateway picks the right tool and fills the arguments automatically.\n\n## More\n\n- [Docs and guides](https://pipeworx.io/docs)\n- [pipeworx.io](https://pipeworx.io)\n\n## License\n\nMIT\n",
  "bytes": 4417,
  "sha": "659faeec1edd94201b125fd5b5011042ff13821883c8c44fc7c3488235c263c1",
  "repo_slug": "pipeworx-io/mcp-septa",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_pipeworx_io_septa_d31ba16d/readme"
}