Estonian Transport MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| server_versionA | Return the version of this MCP server. |
| search_stopsB | Search for Estonian public transport stops by name. Args: name: Stop name to search for (e.g. 'Viru', 'Balti jaam', 'Tartu') |
| get_departuresA | Get upcoming departures from a specific stop. Args: stop_id: GTFS stop ID (e.g. '1:4173'). Use search_stops to find IDs. limit: Number of departures to return (default 15, max 50) date: Date to get departures for, YYYY-MM-DD (default: today) time: Time to get departures from, HH:MM (default: now) |
| plan_tripA | Plan a public transport trip between two locations in Estonia. Args: from_place: Origin — stop name (e.g. 'Viru', 'Balti jaam') or coordinates ('59.437,24.745') to_place: Destination — stop name or coordinates date: Travel date YYYY-MM-DD (default: today) time: Travel time HH:MM (default: now) arrive_by: If true, time is desired arrival time num_results: Number of itinerary options (default 3) max_walk_distance: Maximum walking distance in meters (default: ~2000) max_transfers: Maximum number of transfers (default: no limit) transfer_penalty: Penalty per transfer in seconds — higher values prefer fewer transfers (default: 0) |
| nearby_stopsB | Find public transport stops near a given location. Args: lat: Latitude lon: Longitude radius: Search radius in meters (default 500, max 2000) |
| get_routeB | Get details about a transport route including its stops. Args: route_id: GTFS route ID (e.g. '1:1'). Find these from stop search results. |
| get_trip_stopsA | Get the full schedule of a specific trip — all stops with arrival/departure times. Use this to trace a bus/tram/train along its route and see when it arrives at each stop. Trip IDs can be found in get_departures output. Args: trip_id: GTFS trip ID (e.g. '1:155_20250329_1_1'). Found in get_departures results. |
| tallinn_vehiclesA | Get real-time GPS positions of Tallinn public transport vehicles. Args: vehicle_type: Filter by type: 'bus', 'tram', or 'trolleybus' (default: all) line: Filter by line/route number (e.g. '2', '17', '42A') |
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 8 tools
Most tools have clearly distinct purposes (stop search vs. departure lookup vs. trip planning). However, search_stops and nearby_stops both return stops, and get_departures and get_trip_stops both return schedule data, which could cause occasional confusion.
Names consistently use snake_case and mostly follow a verb_noun pattern (search_stops, get_departures, plan_trip). Two tools (nearby_stops, tallinn_vehicles) and server_version use noun phrases, a minor deviation.
8 tools is well within the ideal 3–15 range for a public transport data server. Each tool covers a distinct capability without redundancy.
The surface covers stop discovery, departures, trip planning, route/trip details, and real-time vehicles. Missing a direct route search/list tool and service alerts, but core workflows are achievable.