Skip to main content

swiss-public-transport-mcp

MCP server for Swiss public transport — connections, stationboards, real-time delays, and direct booking links for SBB.

Wraps transport.opendata.chfree, 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

Tool Purpose
search_locations Resolve a station/stop/POI by name or coordinates
plan_journey Plan A → B with via, transport-type filters, arrival-time mode
get_stationboard Live departures or arrivals from any stop
get_booking_link Build an SBB.ch URL for a journey so the user can buy a ticket

Install

No install needed — run directly with uvx:

uvx swiss-public-transport-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "swiss-public-transport": {
      "command": "uvx",
      "args": ["swiss-public-transport-mcp"]
    }
  }
}

Config file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Development

git clone https://github.com/tpjnorton/swiss-public-transport-mcp.git
cd swiss-public-transport-mcp
uv sync
uv run swiss-public-transport-mcp

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.

this server malkreide/swiss-transport-mcp
Data source transport.opendata.ch opentransportdata.swiss (official)
API key none required (free signup)
Tools 4 (journey planning + booking links) 11 (planning + disruptions + occupancy + fares + formation)
Setup one command per-API key configuration
Best for quick journey planning, fast LLM responses, ticket purchase flow rich operational data, official feeds

The two servers cover overlapping but distinct use cases — you can install both side by side.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swiss_public_transport_mcp-0.1.10.tar.gz (30.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swiss_public_transport_mcp-0.1.10-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file swiss_public_transport_mcp-0.1.10.tar.gz.

File metadata

File hashes

Hashes for swiss_public_transport_mcp-0.1.10.tar.gz
Algorithm Hash digest
SHA256 8e271f41c5a54e6354b62fba893b9b8252feee51aaa5a5b5e719cce86d2e05cd
MD5 10acf585eeb4e0b338ec651fd657ad3e
BLAKE2b-256 f192a5417deeb1e507d279e2584e060e3b869811f336203b89e3217a95c1aa45

See more details on using hashes here.

Provenance

The following attestation bundles were made for swiss_public_transport_mcp-0.1.10.tar.gz:

Publisher: release.yml on tpjnorton/swiss-public-transport-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file swiss_public_transport_mcp-0.1.10-py3-none-any.whl.

File metadata

File hashes

Hashes for swiss_public_transport_mcp-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 7f355a404ac96b7666a3ef5f985a7f16b9951502b0642a441ff285befefe90dc
MD5 c35f48326d6e4a56196f40731482de7e
BLAKE2b-256 16562233b1a43b6174f0dca98fb4f969efc05298ccce80eb14904f7b442dee14

See more details on using hashes here.

Provenance

The following attestation bundles were made for swiss_public_transport_mcp-0.1.10-py3-none-any.whl:

Publisher: release.yml on tpjnorton/swiss-public-transport-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.10 This release

2 files

0.1.9

2 files

0.1.7

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page