Skip to main content
Glama

Timetable for a line

line_schedule
Read-only

Get scheduled departure times for an OASA line by direction and service day, including first and last bus. Use for timetable planning, not live arrivals.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lineYesLine number ("040"), line_code, or line name.
languageNoWhich name language to show. 'both' pairs the Greek name with the English.both
directionNogo = outbound, come = return.both
service_dayNoWhich timetable to read. "today" uses the current day in Athens.today
schedule_day_codeNoAn exact code from line_service_days; overrides service_day.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint and openWorldHint, and the description adds genuinely useful behavior: defaulting to today's service day in Athens, next_day flagging with sort ordering after late-evening departures, and single-direction behavior for circular lines. It does not describe pagination or response shape, but no output schema exists to cover that either.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and routing before the behavioral details; every sentence carries information. Slightly dense in the middle with the next_day/sorting and circular-line details, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only timetable tool with no output schema, the description covers defaults, the next_day flag semantics, sort order, and the Attica/OASA coverage boundary — enough for correct invocation. It could say more about the response shape for direction='both', which is the only real gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and all five parameters — including enum meanings for direction, language and service_day — are documented in the schema itself. The description adds only marginal meaning (Athens-local default for 'today'), so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Scheduled departure times for one OASA line, by direction and service day.' It names the primary use case ('when is the first/last bus') and clearly distinguishes itself from sibling stop_arrivals and from live-tracking tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: use stop_arrivals for live estimates rather than timetable times, and points to line_service_days as the source of schedule_day_code. Both a when-to-use and a when-to-use-something-else are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.