Skip to main content
Glama
dukarev

rail-interop-mcp

by dukarev

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
resolve_operational_pointA

Find operational points (stations, junctions, border points) by name in Poland or Czechia.

Call this first to turn a place name from the user into an op_id for find_route. Diacritics
are ignored. An empty candidate list is a valid answer (the place was not found), not an error.
find_routeA

Compute a route between two operational points over the ERA RINF infrastructure graph.

Call resolve_operational_point first to get valid op_id values. Call this before
check_train_compatibility or assess_weather_risk: both need the route this returns.
check_train_compatibilityA

Check whether a train fits the infrastructure of a route (gauge, axle load, clearance, length).

Call find_route first and pass its route as `route`, or pass `section_ids` to check a specific
segment (e.g. after adjusting a route). Exactly one of the two is required.
assess_weather_riskA

Turn a weather forecast at points along a route into a structured risk assessment.

Call find_route first (for `route` or its section_ids) and the existing OpenWeather MCP
server's `weather` tool for forecasts at find_route's waypoints, before calling this.
Exactly one of `route` or `section_ids` is required, same as check_train_compatibility.
plan_tractionA

Assign locomotives from a fleet to a route's runs, greedily minimising changes.

Call find_route first and pass its route as `route`, or pass `section_ids`, same as
check_train_compatibility. Give at least one locomotive via `fleet_ids` (ids from
data/locomotives.yaml) or `custom_locomotives`. A run with no locomotive able to cover
it (unknown/non-electrified energy system, or unmatched signalling) is uncovered, not
an error.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dukarev/rail-interop-planner'

If you have feedback or need assistance with the MCP directory API, please join our Discord server