OeBB (Austrian Railways)

io.github.slettmayerPublished by GitHub account slettmayerv0.2.8Updated Oct 25, 2026

OeBB (Austrian Railways) train data: stations, departures, connections, service alerts.

Overview

AI-generated overview

Local MCP server that gives an assistant Austrian Federal Railways (OeBB) train data: station search, live departure and arrival boards, connections and service

What you can do
Search OeBB stations by name and get IDs, coordinates and types back, with a configurable result limit. Fetch live departures or arrivals for a station, given by ID or name, with a configurable number of journeys. Search train connections between two stations with departure or arrival time planning, a connection limit and a direct-only filter. Fetch current OeBB service alerts and disruptions, limited by count and filtered by a product bitmask covering train, S-Bahn, bus, tram, U-Bahn, ferry and private operators.
When to use it
Useful when you want an assistant to plan or answer questions about rail travel in Austria: looking up stations, checking what leaves next, comparing connections at a given time, or checking for disruptions before a trip.
Requirements
Runs as a local process over stdio, launched with uvx from the PyPI package oebb-mcp-server, so a Python environment with uv/uvx is needed. No accounts, API keys, environment variables or headers are declared. It queries the live OeBB API, so network access is required.
Before you install
Read-only lookups, but all data comes from the live OeBB API, so results depend on that service's availability and accuracy. Queries, including station names and travel times, are sent to OeBB's servers. No credentials are requested, so no secrets need to be configured.

Installation

In SourceWeft

  1. Open OeBB (Austrian Railways) in the dashboard and add it to a workspace.
  2. 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

oebb-mcp-server

[PyPI] [Python] [License: MIT]

MCP server for OeBB (Austrian Federal Railways) train data. Query Austrian train stations, departures, connections, and service alerts directly from LLMs via the Model Context Protocol.

Installation

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

json
{  "mcpServers": {    "oebb": {      "command": "uvx",      "args": ["oebb-mcp-server"]    }  }}

Claude Code

bash
claude mcp add oebb -- uvx oebb-mcp-server

From source (development)

json
{  "mcpServers": {    "oebb": {      "command": "uvx",      "args": ["--from", "/path/to/oebb-mcp-server", "oebb-mcp-server"]    }  }}

Tools

search_station

Search OeBB stations by name. Returns matching stations with IDs, coordinates, and types.

ParameterTypeDefaultDescription
querystringrequiredStation name (e.g. "Wien Hbf")
max_resultsint10Maximum results

station_board

Fetch live departures or arrivals at a station. Provide either station_id or station_name.

ParameterTypeDefaultDescription
station_idstring—OeBB station ID (e.g. "1190100")
station_namestring—Station name (auto-resolved)
board_typestring"DEP""DEP" for departures, "ARR" for arrivals
max_journeysint10Maximum journeys

trip_search

Search train connections between two stations. Supports time planning and direct-only filtering.

ParameterTypeDefaultDescription
from_station_idstring—Departure station ID
from_station_namestring—Departure station name
to_station_idstring—Arrival station ID
to_station_namestring—Arrival station name
max_connectionsint5Maximum connections
timestringnowISO 8601 time (e.g. "2026-04-15T08:00:00")
time_modestring"departure""departure" or "arrival"
direct_onlyboolfalseOnly direct connections

service_alerts

Fetch current OeBB service alerts and disruptions.

ParameterTypeDefaultDescription
max_alertsint20Maximum alerts
product_filterint65535Product bitmask (1=ICE/RJX, 2=IC/EC, 4=NJ, 8=D/EN, 16=REX/R, 32=S-Bahn, 64=Bus, 128=Ferry, 256=U-Bahn, 512=Tram, 4096=private operators like Westbahn/RegioJet, 65535=all)

Development

bash
# Install dependenciesuv sync
# Lint & formatruff check .ruff format .
# Run unit testspytest tests/ -v -m "not integration"
# Run integration tests (hits real OeBB API)pytest tests/ -v -m integration

License

MIT

Source: README.md at commit 7df5719

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

3
  1. v0.2.8LatestSep 22, 2026
  2. v0.2.7Sep 18, 2026
  3. v0.2.6Sep 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