Skip to main content
Glama

Get Travel Times

wsdot_get_travel_times
Read-only

Returns current vs. average travel times for named WA highway corridors (I-5, I-90, SR 520, SR 99, I-405, SR 167, etc.). Use for "how congested is I-5?" or commute time estimates. The route filter matches two ways: a route designation ("I-5", "5", "SR 520") returns every corridor measured on that route, and any text also matches corridor names ("Everett"). When current time exceeds average, the corridor is congested. Results are paged — pass offset/limit to page through the full set (the notice reports the next offset).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum corridors to return in this page (1–500). Defaults to 50.
routeNoOptional filter. A route designation — "I-5", "5", "005", "SR 520", "520" — matches every corridor whose start or end point is on that route, whichever form the feed reports. Any text also matches the corridor name as a case-insensitive substring, so "Everett" finds the Seattle-Everett corridors. Omit to return all corridors.
offsetNoZero-based index of the first corridor to return, for paging. Defaults to 0.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
noticeNoInformational note about the page window, or guidance when no corridors matched the route filter or the offset ran past the end.
hasMoreNoTrue when more corridors remain beyond the current page.
corridorsNoTravel time corridors matching the filter.
nextOffsetNoOffset to pass to retrieve the next page, or null when this is the last page.
totalCountNoTotal corridors matching the filter across all pages (not just this page).
routeFilterNoThe route name filter applied (lowercased), or absent if no filter was used.

TDQS

A4.1/5.0
Behavior4/5

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

The readOnlyHint=true annotation already signals a safe read operation, so the description does not need to restate that. However, it adds valuable behavioral context: the two-way route filter match, paging behavior with offset/limit and next offset notice, and the congestion criterion (current time > average). This goes beyond annotations and helps an agent use paging correctly.

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 three sentences, each serving a purpose: what it returns, when to use it, and how filtering/paging work. It is front-loaded with the primary purpose and uses examples efficiently. Slightly dense but not verbose, and it avoids repeating schema details.

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?

Given an output schema exists (so return format need not be described) and annotations cover read-only behavior, the description covers all key operational aspects: filtering behavior, paging mechanics, and the congestion definition. No critical information is missing for an agent to correctly call this tool.

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% — every parameter (limit, route, offset) has a thorough description that already explains the route matching modes and paging semantics. The description adds little beyond what the schema already documents, so the baseline of 3 is appropriate; it does not need to compensate for gaps.

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 the tool returns current vs. average travel times for named WA highway corridors and provides specific route examples (I-5, I-90, SR 520). It uses a specific verb ('returns') and resource, and the scope is unambiguous, easily distinguishing it from sibling tools that handle ferries, borders, or cameras.

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?

Explicit use cases are given ('how congested is I-5?' or commute time estimates), which clearly indicate when to invoke this tool. It does not explicitly state when not to use it or name alternatives, but the purpose statement is specific enough that an agent can infer the right context, and sibling names make alternative tools obvious.

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.

TDQS

A4.5/5.0
Disambiguation5/5

Every tool targets a distinct resource and action: border waits, ferry routes/schedules/alerts/terminals/space/vessel positions, mountain passes, toll rates, travel times, highway alerts, and cameras. No two tools overlap in purpose; even the two alert tools (ferry vs highway) are clearly separated by domain.

Naming Consistency5/5

All tools follow the wsdot_verb_noun pattern with snake_case. Most use 'get' (get_ferry_routes, get_border_waits, get_mountain_passes) and two use 'search' (search_alerts, search_cameras), which is appropriate for filtering operations. The single deviation (get_terminal_space instead of get_ferry_terminal_space) is minor and does not harm predictability.

Tool Count5/5

12 tools cover a broad but well-scoped domain of WSDOT transportation data. The ferry subsystem alone has 6 focused tools (routes, schedule, alerts, terminals, space, vessel locations), and other areas each have a dedicated tool. The count feels neither inflated nor sparse for the server's purpose.

Completeness5/5

The tool surface covers the full lifecycle of WSDOT information needs: real-time border waits, ferry operations (routes, schedule, alerts, terminal IDs, space, vessel tracking), road conditions (mountain passes, travel times, toll rates), safety alerts, and camera feeds. No obvious dead ends—every query type has a corresponding tool.