Transitland
live TransportTransitGlobal GTFS aggregator — ~3000 transit operators, ~50k feeds. Agencies, routes, stops, departures.
5 tools
0ms auth
free tier 50 calls/day
Authentication
Platform key handled by Pipeworx. Or BYO: ?_apiKey=<key>.
Config with credentials
{
"mcpServers": {
"pipeworx-transit-land": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://gateway.pipeworx.io/transit-land/mcp?_apiKey=your_key"
]
}
}
} Tools
search_agencies Search transit operators.
Parameters
Name Type Description
name opt string — agency_id opt string — lat opt number — lon opt number — radius_m opt number — limit opt number — Try it
Response
search_routes Search routes by name / type / agency / location.
Parameters
Name Type Description
name opt string — route_type opt number — agency_id opt string — operator_id opt string — lat opt number — lon opt number — radius_m opt number — limit opt number — Try it
Response
search_stops Search stops/stations.
Parameters
Name Type Description
name opt string — stop_id opt string — lat opt number — lon opt number — radius_m opt number — served_by_route_type opt number — limit opt number — Try it
Response
departures_at_stop
required: stop_id Upcoming departures from a stop.
Parameters
Name Type Description
stop_id req string — service_date opt string — start_time opt string — end_time opt string — Try it
Response
list_feeds Available GTFS feeds.
Parameters
Name Type Description
spec opt string — limit opt number — Try it
Response
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
List available tools
bash
curl -X POST https://gateway.pipeworx.io/transit-land/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' Call a tool
bash
curl -X POST https://gateway.pipeworx.io/transit-land/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_agencies","arguments":{}}}' Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search_agencies", {}); ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("global gtfs aggregator — ~3000 transit operators, ~50k feeds");