tfnsw_trip_plan
Pack: transport-nsw · Endpoint: https://gateway.pipeworx.io/transport-nsw/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/tfnsw_trip_plan for the schema, then POST the same URL with its arguments for the data.
Plan a public-transport journey anywhere in New South Wales — door to door, multi-leg, with every change, walking leg, line and departure/arrival time. AUTHORITATIVE for “how do I get from A to B on Sydney transport”; uses the same engine as the official TfNSW trip planner.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
origin | string | yes | Origin — a stop id (e.g. “200060”), or a “longitude:latitude:EPSG:4326” coordinate. |
destination | string | yes | Destination, in the same form as origin. |
when | string | no | Optional ISO date-time of departure (e.g. “2026-09-18T08:30”). Defaults to now. |
arrive_by | boolean | no | Treat when as the desired ARRIVAL time instead of departure. |
origin_type | string | no | ’stop’ (default), ‘coord’, ‘any’ — how to read origin. |
destination_type | string | no | ’stop’ (default), ‘coord’, ‘any’. |
_apiKey | string | no | Transport for NSW API key. Free from ${SIGNUP}. |
Example call
Arguments
{
"origin": "200060",
"destination": "200070"
}
curl
curl -X POST https://gateway.pipeworx.io/transport-nsw/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"tfnsw_trip_plan","arguments":{"origin":"200060","destination":"200070"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('tfnsw_trip_plan', {
"origin": "200060",
"destination": "200070"
});
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"transport-nsw": {
"url": "https://gateway.pipeworx.io/transport-nsw/mcp"
}
}
}
See Getting Started for client-specific install steps.