mcp-sbb-transport logo

mcp-sbb-transport

McCullonas/mcp-sbb-transport
0 starsUpdated 2026-03-14Community

Is this your server?

Add your score badge to your README and get your server in front of 45k+ builders a month.

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables querying Swiss public transport (trains, buses, trams, boats) for stations, connections, and station boards via the opendata.ch API.

README.md

mcp-sbb-transport

MCP server for Swiss public transport queries via the opendata.ch Transport API. Covers trains, buses, trams, and boats across Switzerland — no API key required.

Status: Ready

---

Prerequisites

  • Bun runtime (curl -fsSL https://bun.sh/install | bash)
  • No API keys needed — uses the public opendata.ch transport API

---

Install

git clone git@github.com:McCullonas/mcp-sbb-transport.git
cd mcp-sbb-transport
bun install

---

Available Tools

sbb_search_stations

Search for Swiss public transport stations by name.

Parameters:

  • query — Station name (e.g. "Zürich HB", "Bern", "Luzern")
  • limit (optional) — Max results (default 10)

Returns: station ID, name, and coordinates.

sbb_get_connections

Get train/public transport connections between two Swiss stations.

Parameters:

  • from — Origin station name or ID
  • to — Destination station name or ID
  • date (optional) — Date as YYYY-MM-DD (default: today)
  • time (optional) — Time as HH:MM (default: now)
  • isArrivalTime (optional) — If true, time is the desired arrival time
  • limit (optional) — Number of connections to return (default 4)

Returns: departure/arrival times, duration, number of transfers, platform numbers, journey sections.

sbb_get_stationboard

Get the departure or arrival board for a Swiss station.

Parameters:

  • station — Station name or ID
  • datetime (optional) — ISO 8601 datetime (default: now)
  • type (optional)"departure" or "arrival" (default: departure)
  • limit (optional) — Number of entries (default 10)

Returns: transport category (IC, IR, S, Bus, etc.), line number, destination/origin, scheduled time, platform.

---

MCP Client Configuration

Add to your settings.json:

{
  "mcpServers": {
    "sbb-transport": {
      "command": "bun",
      "args": ["run", "/path/to/mcp-sbb-transport/src/index.ts"]
    }
  }
}

No environment variables required.

---

Development

bun run src/index.ts
bun build src/index.ts --outdir dist --target node

---

Data Source

Uses the opendata.ch Swiss Transport API, a community-run open data service. Free to use, no registration required. Data comes from SBB, PostBus, cantonal operators, and other Swiss public transport providers.

---

Licence

MIT

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Other servers.