Swiss Transport
liveTransportTravelEuropeSearch Swiss public transport stations, get connections, and view live departure boards via Transport Open Data
3tools
0msauth
free tier50 calls/day
Tools
search_stationsrequired: querySearch for Swiss public transport stations (train, bus, tram) by name query.
Parameters
NameTypeDescription
queryreqstringStation name to search for (e.g., "Zurich HB", "Bern", "Geneva").Try it
Response
get_connectionsrequired: from, toGet public transport connections between two Swiss locations. Returns up to the requested number of next departures.
Parameters
NameTypeDescription
fromreqstringDeparture station name or ID.toreqstringArrival station name or ID.limitoptnumberMaximum number of connections to return. Defaults to 4.Try it
Response
get_stationboardrequired: stationGet the live departure board for a Swiss public transport station.
Parameters
NameTypeDescription
stationreqstringStation name or ID to get the departure board for.limitoptnumberMaximum number of departures to return. Defaults to 10.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/swisstransport/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/swisstransport/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_stations","arguments":{"query": "hello"}}}'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_stations", {"query":"example"});ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("search swiss public transport stations, get connections, and view live departure boards via transport open data");