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.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

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.

Metadata

Release files for swiss-public-transport-mcp 0.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for swiss-public-transport-mcp 0.1.10
File Size Uploaded
swiss_public_transport_mcp-0.1.10.tar.gz 30.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for swiss-public-transport-mcp 0.1.10
File Interpreter ABI Platform
swiss_public_transport_mcp-0.1.10-py3-none-any.whl Python 3 none any Details

Total release size: 46.6 kB

Release files / swiss_public_transport_mcp-0.1.10.tar.gz

Download URL swiss_public_transport_mcp-0.1.10.tar.gz
Size 30.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8e271f41c5a54e6354b62fba893b9b8252feee51aaa5a5b5e719cce86d2e05cd
BLAKE2b-256 checksum
How to use checksums
f192a5417deeb1e507d279e2584e060e3b869811f336203b89e3217a95c1aa45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 15, 2026.

Transparency log

Release files / swiss_public_transport_mcp-0.1.10-py3-none-any.whl

Download URL swiss_public_transport_mcp-0.1.10-py3-none-any.whl
Size 16.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7f355a404ac96b7666a3ef5f985a7f16b9951502b0642a441ff285befefe90dc
BLAKE2b-256 checksum
How to use checksums
16562233b1a43b6174f0dca98fb4f969efc05298ccce80eb14904f7b442dee14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.10 This release

2 release files

0.1.9

2 release files

0.1.7

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page