Skip to main content

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):

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

Claude Code

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

From source (development)

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

Parameter Type Default Description
query string required Station name (e.g. "Wien Hbf")
max_results int 10 Maximum results

station_board

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

Parameter Type Default Description
station_id string — OeBB station ID (e.g. "1190100")
station_name string — Station name (auto-resolved)
board_type string "DEP" "DEP" for departures, "ARR" for arrivals
max_journeys int 10 Maximum journeys

trip_search

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

Parameter Type Default Description
from_station_id string — Departure station ID
from_station_name string — Departure station name
to_station_id string — Arrival station ID
to_station_name string — Arrival station name
max_connections int 5 Maximum connections
time string now ISO 8601 time (e.g. "2026-04-15T08:00:00")
time_mode string "departure" "departure" or "arrival"
direct_only bool false Only direct connections

service_alerts

Fetch current OeBB service alerts and disruptions.

Parameter Type Default Description
max_alerts int 20 Maximum alerts
product_filter int 65535 Product 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

# Install dependencies
uv sync

# Lint & format
ruff check .
ruff format .

# Run unit tests
pytest tests/ -v -m "not integration"

# Run integration tests (hits real OeBB API)
pytest tests/ -v -m integration

License

MIT

Metadata

Release files for oebb-mcp-server 0.2.6

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

Source distribution (sdist)

Source distribution for oebb-mcp-server 0.2.6
File Size Uploaded
oebb_mcp_server-0.2.6.tar.gz 118.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for oebb-mcp-server 0.2.6
File Interpreter ABI Platform
oebb_mcp_server-0.2.6-py3-none-any.whl Python 3 none any Details

Total release size: 129.1 kB

Release files / oebb_mcp_server-0.2.6.tar.gz

Download URL oebb_mcp_server-0.2.6.tar.gz
Size 118.1 kB
Tags Source
SHA-256 checksum
How to use checksums
35a15532f6d7701526aaa093adf95ed18acf3dba3a67e982a20c78b6590afb36
BLAKE2b-256 checksum
How to use checksums
7ac9c2f77599b02cffcad090aea1bacbe65eb4ee151eb52f4da1421f644554c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 9, 2026.

Transparency log

Release files / oebb_mcp_server-0.2.6-py3-none-any.whl

Download URL oebb_mcp_server-0.2.6-py3-none-any.whl
Size 11.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b3180189d7682f052d38754eb56d0fe10d971d8d7aa90fdadfe3c944d28f6343
BLAKE2b-256 checksum
How to use checksums
3583aa1c56d4247f6221d24d694a2a02280e99b8a2213c811f00f982c5b6a4d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 9, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.8

2 release files

0.2.7

2 release files

This release

0.2.6 This release

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

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