Skip to main content
Glama

Get Stop Context

onebusaway_get_stop_context
Read-only

Everything happening at a stop in one call: the stop's details, its real-time arrivals, and full detail for every service alert on the stop or on any arrival in the window. Returns what onebusaway_get_stop, onebusaway_get_arrivals, and one onebusaway_get_alert call per alert would, from a single upstream request — arrivals in the onebusaway_get_arrivals shape, alerts in the onebusaway_get_alert shape. The stop omits its served-route list; use onebusaway_get_stop for routeIds. Stop IDs use agency-prefixed format: {agencyId}_{localId} (e.g. "1_75403").

Input Schema

NameRequiredDescriptionDefault
stopIdYesAgency-prefixed stop ID (e.g. "1_75403" for Metro Transit stop 75403). Use onebusaway_find_stops or onebusaway_search_stops to discover IDs.
minutesAfterNoInclude arrivals expected within the next N minutes — an integer from 0 to 240. Defaults to 35. For a longer horizon, use onebusaway_get_schedule_for_stop.
minutesBeforeNoInclude arrivals that departed up to this many minutes ago — an integer from 0 to 60. Defaults to 5.

Output Schema

NameRequiredDescriptionDefault
stopNoThe queried stop, without its served-route list (use onebusaway_get_stop for routeIds). Null when the upstream response omitted the stop.
errorNoPresent when the call failed. Absent on success.
alertsNoService alerts on this stop or on any arrival in the window, each listed once — including alerts whose affected arrivals fall outside the window.
noticeNoWhat the response is missing and where to get it — no arrivals in the window, stop details absent, or referenced alerts absent.
arrivalsNoArrivals and departures at this stop within the requested time window.
timezoneNoValidated timezone of the queried stop agency, or UTC when unavailable or invalid.
currentTimeNoServer time as Unix milliseconds, for computing countdown timers.
queriedStopNoStop ID queried.
windowMinutesNoTime window used for the arrivals query.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "not": {
      -      "required": [
      -        "error"
      -      ]
      -    },
      -    "required": [
      -      "stop",
      -      "currentTime",
      -      "arrivals",
      -      "alerts",
      -      "queriedStop",
      -      "windowMinutes"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "error"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "required": [
      +      "timezone",
      +      "stop",
      +      "currentTime",
      +      "arrivals",
      +      "alerts",
      +      "queriedStop",
      +      "windowMinutes"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "error"
      +    ]
      +  }
      +]
    • addedOutput schema / properties / alerts / items / properties / timezone
      Added value: +{
      +  "description": "Validated IANA timezone shared by every affected scope, or UTC when unresolved, invalid, absent, or conflicting.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / alerts / items / required
      Previous value: -[
      -  "id",
      -  "summary",
      -  "description",
      -  "reason",
      -  "severity",
      -  "consequenceMessage",
      -  "affects",
      -  "consequences",
      -  "activeWindows",
      -  "url"
      -]New value: +[
      +  "timezone",
      +  "id",
      +  "summary",
      +  "description",
      +  "reason",
      +  "severity",
      +  "consequenceMessage",
      +  "affects",
      +  "consequences",
      +  "activeWindows",
      +  "url"
      +]
    • addedOutput schema / properties / timezone
      Added value: +{
      +  "description": "Validated timezone of the queried stop agency, or UTC when unavailable or invalid.",
      +  "type": "string"
      +}
  2. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint, so the description carries meaningful extra burden and does: it discloses that everything comes from a single upstream request, that results mirror specific sibling output shapes, and that one field (routeIds) is deliberately omitted. No contradiction with readOnlyHint. Minor gap: no rate-limit or ordering/failure-mode notes.

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?

Three dense sentences, front-loaded with the aggregation value proposition before the caveats. Slightly over-explains the output-shape equivalence, which duplicates information available via the output schema.

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

Completeness5/5

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

An output schema covers the return values, and the description adds what the schema cannot: the composite nature of the response, which sibling shapes it matches, and the one deliberate omission. Complete for an agent to call it correctly.

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 description coverage is 100%, so the baseline of 3 applies. The description restates the agency-prefixed ID format with the same example already present in the schema, adding little beyond it, and says nothing about the two arrival-window parameters.

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 and resource — aggregates stop details, real-time arrivals, and full alert detail in one call — and explicitly contrasts with the three sibling tools it replaces (onebusaway_get_stop, onebusaway_get_arrivals, onebusaway_get_alert). An agent can distinguish it without inspecting any schema.

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

Usage Guidelines4/5

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

Clearly explains the aggregating use case and routes the agent away where appropriate: 'The stop omits its served-route list; use onebusaway_get_stop for routeIds.' Plus a longer-horizon alternative in the schema. However there is no explicit statement of when to prefer the individual calls over this composite one (e.g. cost/latency tradeoff).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.