Skip to main content
Glama

stl_gtfs_departures

Read-onlyIdempotent

Retrieve scheduled departures for a stop within a time window, correctly attributing overnight trips to their service date. Schedule only, no realtime.

Instructions

Scheduled departures at a stop for a time window. Schedule only, no realtime.

Correctly attributes departures encoded past 24:00:00 to the previous service date, and resolves service_ids through both calendar.txt and calendar_dates.txt. Each result carries its service_date and raw gtfs_time alongside the resolved local time, so a wrong service-date attribution is visible rather than hidden.

Args: stop: stop_code (number on the sign) or stop_id. at: ISO-8601 instant. Naive values are read as America/Chicago local time. Defaults to now. window_minutes: how far ahead to look. route: optional route_id or route_short_name filter.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
atNo
stopYes
limitNo
routeNo
snapshotNo
window_minutesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

The annotations provide readOnlyHint, idempotentHint, and destructiveHint=false, which already cover safety. The description adds valuable context about how times are attributed across service days and how calendar files are resolved, increasing transparency about behavior beyond the annotations.

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?

The description is concise and well-structured, with a clear opening sentence and additional detail in a second paragraph. It avoids unnecessary words and reads efficiently.

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

Completeness3/5

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

The description covers the core behavior and most parameters, but omits explanation of limit and snapshot, which could be important for advanced usage (e.g., limiting results or querying historical snapshots). Given the output schema is present, return values are not explained, but the missing parameter context limits completeness.

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?

The description explains stop (code or id), at (ISO-8601 with timezone handling), window_minutes (lookahead), and route (filter), providing useful semantics. However, it does not mention limit or snapshot parameters that are present in the schema, leaving some parameter meanings undocumented.

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?

The description clearly states that the tool returns scheduled departures at a stop for a time window, and explicitly distinguishes it from realtime data. This is a specific and unambiguous purpose that differentiates it from likely sibling tools.

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

Usage Guidelines3/5

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

The description says 'Schedule only, no realtime' which hints at when to use this tool versus realtime alternatives like stl_rt_stop_arrivals, but it does not explicitly name alternatives or provide explicit conditionals. The guidance is implied rather than explicit.

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