MCP server for OeBB (Austrian Federal Railways) train data
Project description
oebb-mcp-server
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oebb_mcp_server-0.1.2.tar.gz.
File metadata
- Download URL: oebb_mcp_server-0.1.2.tar.gz
- Upload date:
- Size: 104.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4e5c9d745602dd12d8f05ca607ab40094d9306a4e9686a55045a395f7e970ba
|
|
| MD5 |
8bada91d55954b819ad9fd0c9df08f8d
|
|
| BLAKE2b-256 |
de71d65d98854f63977a92ff05b76eb121a80e712b2f48ee6837728ed0522440
|
Provenance
The following attestation bundles were made for oebb_mcp_server-0.1.2.tar.gz:
Publisher:
release.yml on slettmayer/oebb-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oebb_mcp_server-0.1.2.tar.gz -
Subject digest:
e4e5c9d745602dd12d8f05ca607ab40094d9306a4e9686a55045a395f7e970ba - Sigstore transparency entry: 2081459108
- Sigstore integration time:
-
Permalink:
slettmayer/oebb-mcp-server@4b13c30668484a9e0f6d99c9aeddf5c2dd6110a4 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/slettmayer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4b13c30668484a9e0f6d99c9aeddf5c2dd6110a4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file oebb_mcp_server-0.1.2-py3-none-any.whl.
File metadata
- Download URL: oebb_mcp_server-0.1.2-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac11cf923eef58065e60e2af80b453f66dd99aacbfcf234cc4f827ebec50b9e5
|
|
| MD5 |
6e06066be3c07980a6d9642f3a47f61b
|
|
| BLAKE2b-256 |
20f53cf53a5b80de0a7752407f51506b79d54e4da42e0600d2af285db5946fe8
|
Provenance
The following attestation bundles were made for oebb_mcp_server-0.1.2-py3-none-any.whl:
Publisher:
release.yml on slettmayer/oebb-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oebb_mcp_server-0.1.2-py3-none-any.whl -
Subject digest:
ac11cf923eef58065e60e2af80b453f66dd99aacbfcf234cc4f827ebec50b9e5 - Sigstore transparency entry: 2081459188
- Sigstore integration time:
-
Permalink:
slettmayer/oebb-mcp-server@4b13c30668484a9e0f6d99c9aeddf5c2dd6110a4 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/slettmayer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4b13c30668484a9e0f6d99c9aeddf5c2dd6110a4 -
Trigger Event:
push
-
Statement type: