Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OASA_BASE_URLNoOverride the origin entirely.https://telematics.oasa.gr
OASA_CACHE_DIRNoWhere to persist cached reference data.$XDG_CACHE_HOME/oasa-mcp
OASA_ENDPOINTSNoComma-separated addresses to try when DNS fails.OASA's /29
OASA_LOG_LEVELNoLog level: debug, info, warn, error, or silent.info
OASA_TIMEOUT_MSNoPer-request timeout.9000
OASA_NO_FAILOVERNoTrust DNS only.off
OASA_NO_DISK_CACHENoKeep the cache in memory only.off
OASA_PREWARM_INDEXNoBuild the stop-name index at startup.off
OASA_MAX_CONCURRENCYNoIn-flight upstream requests.4

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
find_stopsA

Find OASA stops by name or by coordinate. Names may be in Greek or Latin characters ("Syntagma", "ΣΥΝΤΑΓΜΑ", "syntagma"); accents, case and common English spellings such as "Piraeus" all work. Passing lat and lon is the fastest and most reliable route and returns true straight-line distances in metres. If a name matches several stops, the candidates are returned rather than one being guessed, because Athens stop names repeat across the city. Covers Attica (greater Athens) only: OASA buses, trolleys, metro and tram.

stop_arrivalsA

Live next-vehicle arrivals for one OASA stop, in minutes, with each vehicle joined to its line number and destination. Accepts a stop name in Greek or Latin characters ("Syntagma", "ΣΥΝΤΑΓΜΑ") or an exact stop_code. If a name matches several stops the candidates are returned instead of one being guessed. An empty result is normal and not an error — outside roughly 05:00-00:30 Europe/Athens most lines are not running. Minutes are OASA's own live estimates, not timetable times; use line_schedule for scheduled departures. Covers Attica (greater Athens) only: OASA buses, trolleys, metro and tram.

routes_at_stopA

Which OASA lines and routes call at a given stop — the "what can I catch from here" question. Accepts a stop name in either script or an exact stop_code. This is scheduled network data, not live: use stop_arrivals for actual waiting times. Covers Attica (greater Athens) only: OASA buses, trolleys, metro and tram.

list_linesA

List or search OASA lines. Match by the rider-facing number ("040", "Α1", "X95", matched exactly) or by name in Greek or Latin characters. There are around 470 lines, so always pass a query unless you genuinely need a sample; the total is reported so you can tell whether to narrow. Covers Attica (greater Athens) only: OASA buses, trolleys, metro and tram.

line_routesA

The direction variants (routes) of one OASA line, with destination and length. A line usually has an outbound and a return route, and often extra variants for night service, weekends or diversions. Other tools need the route_code from here. Covers Attica (greater Athens) only: OASA buses, trolleys, metro and tram.

route_stopsA

The ordered list of stops along one OASA route, with coordinates. Needs a route_code from line_routes — a line has several routes and each has its own stop sequence. Long routes have 90+ stops, so results are paged. Covers Attica (greater Athens) only: OASA buses, trolleys, metro and tram.

vehicle_positionsA

Current GPS positions of OASA vehicles on a route or line, with heading and the age of each report. Positions are typically seconds old, but a vehicle that has stopped reporting is flagged stale — check age_seconds before presenting a position as current. An empty result outside service hours is normal. Covers Attica (greater Athens) only: OASA buses, trolleys, metro and tram.

route_shapeA

The geographic path of one OASA route. Defaults to a summary (length, bounding box, endpoints) because raw shapes run to hundreds of points; request "coords" or "geojson" only when the geometry itself is needed, and it will be simplified to the requested point budget with endpoints preserved. Covers Attica (greater Athens) only: OASA buses, trolleys, metro and tram.

line_scheduleA

Scheduled departure times for one OASA line, by direction and service day — the tool for "when is the first/last bus". Defaults to the service day matching today in Athens. Departures after midnight are flagged next_day and sorted after the late-evening ones. Circular lines have only one direction. These are timetable times, not live estimates; use stop_arrivals for what is actually coming. Covers Attica (greater Athens) only: OASA buses, trolleys, metro and tram.

line_service_daysA

The timetable variants (service days) published for one OASA line, such as weekday, Saturday and Sunday. These codes are seasonal — the current set is the winter one — so they must be read rather than assumed. Feed a schedule_day_code from here into line_schedule for an exact timetable. Covers Attica (greater Athens) only: OASA buses, trolleys, metro and tram.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct transit resource or action: stop lookup, live arrivals, routes at a stop, line search, line route variants, route stop sequence, vehicle GPS, route geometry, scheduled departures, and service-day variants. Overlaps such as live arrivals versus scheduled departures are explicitly clarified in descriptions, and route/line/stop concepts are separable by task.

Naming Consistency4/5

All names use consistent snake_case and are readable, but the set mixes verb-first names (find_stops, list_lines) with noun-first names (stop_arrivals, route_stops, line_schedule). This is a minor deviation rather than a chaotic mix, so the pattern is mostly predictable.

Tool Count5/5

Ten tools are well-scoped for a transit-data server, covering stop search, real-time arrivals, network topology, schedules, and vehicle positions without obvious filler. Each tool has a clear role in the core workflow.

Completeness4/5

The surface covers the main OASA query lifecycle: finding stops, checking arrivals, exploring lines/routes, route geometry, vehicle positions, and schedules. Minor gaps remain around journey planning, service alerts/disruptions, and fare information, but core transit lookup workflows are complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues