Transitland
liveTransportGlobal GTFS aggregator — ~3000 transit operators, ~50k feeds. Agencies, routes, stops, departures.
5tools
0msauth
free tier50 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",
"https://gateway.pipeworx.io/transit-land/mcp?_apiKey=your_key"
]
}
}
}Tools
search_agenciesSearch transit operators.
Parameters
NameTypeDescription
nameoptstring—agency_idoptstring—latoptnumber—lonoptnumber—radius_moptnumber—limitoptnumber—Try it
Response
search_routesSearch routes by name / type / agency / location.
Parameters
NameTypeDescription
nameoptstring—route_typeoptnumber—agency_idoptstring—operator_idoptstring—latoptnumber—lonoptnumber—radius_moptnumber—limitoptnumber—Try it
Response
search_stopsSearch stops/stations.
Parameters
NameTypeDescription
nameoptstring—stop_idoptstring—latoptnumber—lonoptnumber—radius_moptnumber—served_by_route_typeoptnumber—limitoptnumber—Try it
Response
departures_at_stoprequired: stop_idUpcoming departures from a stop.
Parameters
NameTypeDescription
stop_idreqstring—service_dateoptstring—start_timeoptstring—end_timeoptstring—Try it
Response
list_feedsAvailable GTFS feeds.
Parameters
NameTypeDescription
specoptstring—limitoptnumber—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");