
Swiss Public Transport
io.github.tpjnortonPublished by GitHub account tpjnortonv0.1.10Updated Oct 24, 2026
Swiss public transport — journey planning, live stationboards, delays, and SBB ticket links.
Overview
Local MCP server for Swiss public transport: plan journeys, check live stationboards and delays, and get SBB ticket links.
- What you can do
- Resolve stations, stops and points of interest by name or coordinates, with candidate lists for ambiguous names. Plan A-to-B journeys with via points, transport-type filters and arrival-time mode. Read live departures or arrivals from any stop. Build SBB.ch booking links for a planned journey so a ticket can be bought in one click.
- When to use it
- Useful when an assistant should answer Swiss travel questions: connections between places, next departures, real-time delays, or a link to buy a ticket. A lightweight, zero-configuration option for quick journey planning rather than official operational feeds.
- Requirements
- Runs locally over stdio, launched with uvx from the PyPI package, so a Python/uv runtime is needed. No account, API key or environment variables; it queries the free transport.opendata.ch service, so network access is required. Desktop client only.
Installation
In SourceWeft
- Open Swiss Public Transport in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
swiss-public-transport-mcp
MCP server for Swiss public transport — connections, stationboards, real-time delays, and direct booking links for SBB.
Wraps transport.opendata.ch — free, no API key, no signup. Covers the full Swiss network (SBB, Postauto, regional, trams, buses, ships, cableways).
Why this server
- Zero config. Install and go — no account, no token, no env vars.
- Booking links. Returns deep links into SBB.ch so the user can buy a ticket in one click.
- Disambiguation built in. Ambiguous station names return candidates instead of failing silently.
- Compact, model-friendly output. Formatted text designed for LLM context windows, not raw JSON dumps.
Tools
Install
No install needed — run directly with uvx:
Claude Desktop
Add to claude_desktop_config.json:
Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Development
Related project
If you need official opentransportdata.swiss data — SIRI-SX disruption alerts, occupancy forecasts, OJP Fare ticket prices, train formation — see malkreide/swiss-transport-mcp. It exposes ~11 tools across the official OJP 2.0 / SIRI / CKAN APIs and requires a (free) API key from the opentransportdata.swiss API Manager.
The two servers cover overlapping but distinct use cases — you can install both side by side.
Source: README.md at commit d356107
Tools
0Version history
1- v0.1.10LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts