mcp-server-public-transport
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UK_TRANSPORT_APP_ID | No | Your UK Transport API app ID | |
| UK_TRANSPORT_API_KEY | No | Your UK Transport API key |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ch_search_connectionsA | Search for train connections in Switzerland between two stations. Uses transport.opendata.ch API to provide real-time connection data including departure times, duration, platforms, and transfers. |
| ch_search_stationsC | Search for Swiss train stations by name or location. |
| ch_get_departuresC | Get departure board for a Swiss train station with real-time information. |
| ch_nearby_stationsC | Find nearby Swiss train stations based on coordinates (latitude, longitude). |
| be_search_connectionsB | Search train connections in Belgium between two stations. Powered by iRail API for real-time routes and schedules. |
| be_search_stationsB | Search for Belgian train stations by name. |
| be_get_departuresB | Get live departure board for a Belgian train station. |
| be_get_vehicleA | Get details about a specific Belgian train vehicle by its ID. |
| no_search_placesC | Autocomplete search across stops/addresses/POIs in Norway via Entur Geocoder. |
| no_stop_departuresB | Upcoming departures for a StopPlace ID (e.g., 'NSR:StopPlace:58368'). |
| no_tripC | Door-to-door trip planning between two StopPlaces (NSR IDs). |
| no_nearest_stopsB | Find nearest StopPlaces for a coordinate (lat, lon) within a radius in meters. |
| uk_live_departuresA | Get live departure information for a UK train station using its CRS code (e.g., 'PAD' for London Paddington, 'MAN' for Manchester Piccadilly). Uses the TransportAPI station timetables endpoint with live data. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Tools are clearly distinguished by country prefix (be_, ch_, no_, uk_) and specific functions like departures, connections, stations, and trips, with minimal overlap. However, some tools like be_get_departures and uk_live_departures serve similar purposes across different regions, which could cause minor confusion if an agent doesn't prioritize the country prefix.
Naming follows a consistent pattern of country prefix + verb_noun (e.g., be_get_departures, ch_search_connections), with all tools using snake_case. Minor deviations include no_nearest_stops (using 'nearest' instead of 'search' or 'get') and no_trip (using a noun instead of verb_noun), but overall the convention is predictable and readable.
With 13 tools, the count is well-scoped for a public transport server covering multiple countries (Belgium, Switzerland, Norway, UK). Each tool earns its place by providing distinct functionality per region, such as departures, connections, station searches, and trip planning, without being overly bloated or sparse.
The toolset offers comprehensive coverage for public transport queries across four countries, including core operations like searching stations, getting departures, and planning connections. Minor gaps exist, such as no tool for vehicle details outside Belgium or real-time alerts, but agents can work around these with the available tools for most common use cases.