Skip to main content
Glama

Server Details

Live California road conditions: CHP incidents, Caltrans closures, chain controls, and wildfires.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
nicglazkov/commutescout
GitHub Stars
3
Server Listing
CommuteScout

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.8/5 across 10 of 10 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct aspect of road conditions: region summary, route-specific, cameras, chains, incidents, closures, out-of-state, signs, wildfires, and ranking. Even related tools like check_region and check_route have clear, differentiated purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (check_region, check_route, get_cameras, etc.). The verbs 'check' and 'get' are used appropriately for different actions, maintaining predictability.

Tool Count5/5

With 10 tools, the server is well-scoped. Each tool provides a specific, non-redundant function for the domain of California road conditions, fitting perfectly within the ideal 3-15 range.

Completeness4/5

The tool set covers major aspects: incidents, closures, chains, wildfires, cameras, signs, and region/route summaries. Missing dedicated traffic flow/speed data or construction schedules, but overall robust for trip planning and condition awareness.

Available Tools

10 tools
check_regionA
Read-only
Inspect

Full current-conditions report for a California region.

Use this for area-scale questions ("how is the Bay Area?", "what's
happening in SoCal?") instead of stitching together point queries. It
sweeps every source over the whole region at once: CHP incidents
(severity-sorted, worst first), lane closures in place (full closures
called out), chain controls, and wildfires inside the region.

Regions: Bay Area, Sacramento metro, Tahoe/Sierra, Central Valley,
Southern California, San Diego, Central Coast, North State. An
unrecognized region name returns the list.

Large regions are capped to the most severe items; the counts are
always exact and the response says when a list was truncated.
Freshness: CHP ~1/min fetched live, everything else 5-minute cache.
ParametersJSON Schema
NameRequiredDescriptionDefault
regionYes
Behavior5/5

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

Adds significant behavioral context beyond annotations: sweeps all sources, severity-sorted incidents, full closure callouts, capping for large regions with exact counts and truncation notice, and freshness details (CHP live, others 5-min cache). Contradicts nothing in annotations.

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

Conciseness5/5

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

Concise, well-structured, and front-loaded. First sentence states core purpose. Subsequent lines list contents, regions, and edge cases. Every sentence earns its place with no redundancy.

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?

For a complex tool covering multiple data sources with truncation and caching, the description fully explains behavior, output contents, and limitations. No output schema needed as description covers return structure.

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

Parameters5/5

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

Only parameter 'region' is detailed with a list of recognized values (Bay Area, Sacramento metro, etc.) and behavior for unrecognized input. Schema says only type 'string', so description adds essential semantic meaning.

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?

Description clearly states it provides a full current-conditions report for a California region, differentiating it from point-query siblings like get_incidents or check_route. It specifies the verb 'check' and resource 'region', and explicitly contrasts with stitching together point queries.

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 tells when to use: for area-scale questions ('how is the Bay Area?', 'what's happening in SoCal?') and recommends it over multiple point queries. Also notes that an unrecognized region name returns the list, providing guidance on error handling.

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

check_routeA
Read-only
Inspect

Check current conditions along a major California highway corridor.

The flagship trip-check tool: give it a start and end place and it
returns everything active along that stretch right now - CHP incidents,
lane closures physically in place, chain controls, and wildfires within
~10 miles - ordered by miles from the start, plus a summary.

ALWAYS pass from_coords and to_coords ("lat,lon") when you know where
the places are - for landmarks, small towns, or anything not a major
city they are required for a good answer. Coordinates do two things:
they let unlisted places resolve to the nearest corridor (e.g. "Alice's
Restaurant" snaps to I-280 on the Peninsula), and they CLIP the route to
the span actually being driven, so a trip to a mid-corridor destination
doesn't report events beyond it.

Corridors covered: I-80 Sacramento-Reno, US-50 to South Lake Tahoe, I-5,
US-101, SR-17, SR-99, SR-1, I-15 to Vegas, Bay Area freeways, Tahoe-area
routes. This is NOT a general router: if nothing matches (even with
coordinates), the response lists the covered corridors; fall back to the
filtered tools with center= for anything else.

Freshness: CHP incidents refresh about once a minute; closures, chain
controls, and fires are on a 5-minute cache. Current conditions only -
this cannot forecast tomorrow's weather or closures.
ParametersJSON Schema
NameRequiredDescriptionDefault
to_placeYes
to_coordsNo
from_placeYes
from_coordsNo
Behavior5/5

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

Description adds value beyond annotations by providing freshness details (CHP incidents ~1 minute, others ~5 minutes), return format (events ordered by miles, plus summary), and behavioral constraints (coordinates clip the route, cannot forecast). No contradiction with readOnlyHint=true or openWorldHint=true.

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 well-structured with a clear opening, followed by coordinated guidance, corridor coverage, and freshness info. While every sentence adds value, it is somewhat lengthy; a bit more brevity could improve conciseness.

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?

For a complex tool with optional coordinates, multiple corridors, and freshness considerations, the description is complete. It covers when to use, how to use coordinates, what corridors are supported, data freshness, and limitations. No output schema exists, but the description states the return includes events and summary, which is sufficient.

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

Parameters5/5

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

Despite 0% schema coverage, the description explains the purpose of all four parameters: required from_place and to_place, optional from_coords and to_coords as 'lat,lon'. It details what coordinates do—resolving unlisted places and clipping the route—which is critical for effective use.

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 'checks current conditions along a major California highway corridor' using the specific verb 'check' and resource 'route conditions'. It distinguishes itself from sibling tools by calling itself the 'flagship trip-check tool' and later instructing to fall back to filtered tools for other corridors.

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?

Explicit instructions on when to use: 'give it a start and end place'. Provides guidance on passing coordinates ('ALWAYS pass from_coords and to_coords when you know where the places are') and explains the role of coordinates. States covered corridors and explicitly says 'This is NOT a general router', advising fallback to filtered tools.

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

get_camerasA
Read-only
Inspect

Live Caltrans roadside camera snapshots near a point or on a route.

Data: ~3,000 in-service Caltrans cameras statewide. Every returned
image_url was verified live moments ago (offline cameras that serve a
placeholder frame are filtered out), so images can be shown directly.
Snapshots refresh roughly every minute; stream_url (when present) is
an HLS video stream.

Filters: center "lat,lon" (required unless route is given) with
radius_km; route (e.g. "I-80", "50") narrows to that highway. Results
sort nearest-first when a center is given. Use a camera to let the
user SEE conditions: fog on the pass, snow on the pavement, traffic
density at an interchange.
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
routeNo
centerNo
radius_kmNo
Behavior4/5

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

Annotations already indicate readOnlyHint and openWorldHint, but the description adds valuable behavioral details: images are verified live, offline cameras are filtered out, refresh rate (~1 minute), and existence of HLS stream_url. No contradictions.

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

Conciseness5/5

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

The description is concise, well-structured into clear sections (data, filters, usage). Every sentence adds value, and the key information is front-loaded. No wasted words.

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 tool with 4 parameters and no output schema, the description covers essential behavior: data freshness, filtering, ordering, and purpose. It could mention rate limits or auth, but annotations don't hint at those. Overall complete.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate. It explains center (lat,lon), radius_km, route (with examples), and limit, plus adds ordering behavior (nearest-first when center given). This goes beyond schema structure.

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's purpose: returning live Caltrans roadside camera snapshots near a point or on a route. It differentiates itself from sibling tools by focusing on visual conditions (fog, snow, traffic) and data quality (verified live images).

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?

The description provides explicit usage guidance: 'Use a camera to let the user SEE conditions...' and explains when to use (visual assessment) and how filtering works. It doesn't explicitly state when not to use alternatives, but the context and sibling list make it clear.

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

get_chain_controlsA
Read-only
Inspect

Current chain-control requirements on California mountain highways.

Data: Caltrans chain-control status for fixed checkpoints on mountain
routes (I-80 Donner, US-50 Echo Summit, SR-88, SR-89, and others).
Levels: R-1 = chains OR snow tires required; R-2 = chains required
except 4WD/AWD with snow tires on all four; R-3 = chains on ALL vehicles
(rare, usually precedes closure). Refresh: 5-minute cache.

Filters: route (e.g. "80", "US-50", "SR-88"); center "lat,lon" with
radius_km for all checkpoints around a place (e.g. around Truckee),
whatever highway they are on.

Off-season (roughly May-October) there are usually no controls anywhere;
the response says so explicitly rather than returning an empty list.
Chain requirements can change hour to hour in storms - tell the user the
data_as_of time and to carry chains anyway when snow is possible.
ParametersJSON Schema
NameRequiredDescriptionDefault
routeNo
centerNo
radius_kmNo
Behavior5/5

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

Annotations already provide readOnlyHint and openWorldHint. Description adds value beyond: 5-minute cache, response format (explicitly says if no controls), data_as_of time. No contradiction with annotations.

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

Conciseness5/5

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

Description is well-structured: summary, data details, levels, refresh, filters, seasonal behavior, advisory. No fluff, every sentence adds value. Front-loaded with main purpose.

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?

Given complexity (multiple routes, levels, filters, dynamic data), description covers all: what it returns, filter usage, caching, seasonal behavior. No output schema, but explicitly mentions response includes data_as_of time and explicit statement when no controls, which is sufficient.

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

Parameters5/5

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

Schema has 3 params with 0% description coverage (only types). Description adds meaning: route examples ('80', 'US-50', 'SR-88'), center as 'lat,lon' with radius_km for filtering around a place. This fully compensates for lack of schema descriptions.

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 retrieves current chain-control requirements on California mountain highways, listing specific routes and data source (Caltrans). It distinguishes from sibling tools like check_route and get_incidents by focusing on chain controls.

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?

Provides explicit guidance: explains filter usage (route, center, radius_km), seasonal behavior (off-season usually no controls, response says so), and warns about hour-to-hour changes, advising to check data_as_of time and carry chains. This helps the agent decide when to use.

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

get_incidentsA
Read-only
Inspect

Live CHP traffic incidents statewide, optionally filtered.

Data: the California Highway Patrol statewide computer-aided dispatch
feed - collisions, traffic hazards, disabled vehicles, closures as CHP
logs them. Refreshes about once a minute; incidents disappear when CHP
closes the log. Fetched live on every call.

Filters (combinable):
- highway: a route like "I-80", "US 50", "17", "Hwy 99". Matches
  incidents whose location text mentions that route.
- center: "lat,lon" with radius_km - incidents within that circle. THIS
  IS THE RIGHT FILTER FOR A TOWN OR PLACE NAME: use your knowledge of
  where the place is (e.g. Coyote, CA -> "37.22,-121.74") with radius_km
  15-30. A circle catches every road around the place, not just one
  highway.
- area: substring match on the CHP dispatch-area name. These are CHP
  communication-center names ("Hollister Gilroy", "East Sac", "Golden
  Gate"), NOT town names - do not pass a town here. There is no county
  filter because CHP's feed carries no county field; for a county, use
  center on the county seat with a radius covering the county.

Limits: locations are free-text from dispatchers; a few incidents lack
usable coordinates and are omitted. No history - current logs only.
ParametersJSON Schema
NameRequiredDescriptionDefault
areaNo
centerNo
highwayNo
radius_kmNo
Behavior5/5

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

Adds rich behavioral context beyond annotations: refresh rate, incident lifecycle (disappear when CHP closes log), live fetching, no history, and data quality issues (free-text, missing coordinates). No contradiction with annotations.

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

Conciseness5/5

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

Well-organized with sections (summary, data source, filters, limits). Every sentence adds value; no fluff. Information-dense yet readable.

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?

Despite no output schema, description covers data type, freshness, filtering options, limitations, and usage cautions, making the tool fully understandable and usable.

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

Parameters5/5

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

Schema has 0% coverage, but description explains each parameter thoroughly: highway matches route in location text, center uses lat,lon with radius_km, area is substring on dispatch area. Includes examples and usage tips, compensating fully for missing schema descriptions.

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?

Clear verb 'get' with resource 'live CHP traffic incidents statewide, optionally filtered', and detailed data description distinguishes it from sibling tools like get_cameras or get_chain_controls.

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?

Provides explicit guidance on when to use each filter (e.g., center for a town, area for dispatch areas) and warns not to pass a town to area. Does not explicitly compare to siblings, but context makes usage clear.

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

get_lane_closuresA
Read-only
Inspect

Caltrans lane and road closures physically in place RIGHT NOW.

Data: the Caltrans Lane Closure System (LCS). Only closures that crews
have actually established (CHP code 1097) and not yet picked up are
returned - scheduled-but-not-started closures are excluded, so this is
"what is blocking lanes now", not a construction calendar.
Refresh: 5-minute cache over per-district Caltrans feeds.

Filters: route (e.g. "I-80", "US 101", "1"); district (Caltrans district
1-12, e.g. 3 = Sacramento/Tahoe, 4 = Bay Area, 7 = Los Angeles);
center "lat,lon" with radius_km - closures whose begin or end point is
inside the circle. For a town or place, center is the filter that
catches work on EVERY road around it, including small state routes.

Read closure_class on each record, it is what the closure means for
through traffic:
- "full-roadway": the road itself is closed in that direction. The only
  class that means "you can't drive through".
- "ramp": a ramp or connector is closed (even when the raw record says
  "Full", that means the ramp is fully closed, not the highway).
- "one-way-traffic": alternating single lane with flagging; passable
  with delays. Common on two-lane mountain roads.
- "alternating-lanes", "moving", "traffic-break": rolling or brief work;
  minor delays.
- "lane": some lanes closed; the lanes field says how many of how many.
estimated_delay_minutes is present when crews reported one.
Shoulder-only work is excluded entirely.
ParametersJSON Schema
NameRequiredDescriptionDefault
routeNo
centerNo
districtNo
radius_kmNo
Behavior5/5

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

Annotations indicate readOnlyHint and openWorldHint. Description adds refresh rate (5-minute cache), data source, exclusion of shoulder-only work, and detailed explanation of closure_class meanings. No contradictions. Provides rich behavioral context beyond 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?

Description is multi-paragraph but dense with information. Each sentence adds value. Could be slightly more structured (e.g., bullet points), but effectively communicates all necessary details without fluff.

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?

No output schema, so description explains output fields: closure_class, estimated_delay_minutes, lanes. Also covers refresh rate and data source. For a read-only tool with 4 parameters and no nested objects, this is comprehensive and leaves no major gaps.

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

Parameters5/5

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

Schema has 0% description coverage for parameters. Description fully compensates by explaining each parameter: route with examples, district with district numbers and regions, center as lat,lon string, radius_k with default 40 km. This adds significant meaning beyond the schema.

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?

Description clearly states tool returns physically in-place Caltrans lane closures right now. It specifies data source (LCS) and excludes scheduled closures, distinguishing it from a construction calendar. This differentiates it from sibling tools like get_incidents or get_road_signs.

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?

Provides explicit context: use for current closures only, not scheduled. Explains filters (route, district, center/radius) with examples and guidance (e.g., center catches all roads around a place). Does not explicitly state when not to use, but context is clear.

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

get_nearby_eventsA
Read-only
Inspect

Live road events near a point anywhere CommuteScout covers, not just California: 37 states today, growing.

Data: the same multi-state feeds the live map shows, normalized -
state DOT incidents, roadwork and closures, chain and traction
advisories, and nationwide wildfires. Every event names its
publishing agency in the source field. Coverage varies by state
(some publish roadwork only; docs/state-coverage.md has the
matrix); states added later appear here automatically.

For CALIFORNIA questions prefer the dedicated tools above (richer
detail: dispatch logs, lane counts, chain levels). Use THIS tool
for any location outside California, near a state border, or as a
supplement when a California tool comes back empty.

center is "lat,lon". kinds is a comma list from: incident, closure,
chain, fire, sign, rwis, camera, toll (toll adds live and fixed
toll prices where agencies publish them). radius_km caps at 160.
ParametersJSON Schema
NameRequiredDescriptionDefault
kindsNoincident,closure,chain,fire
centerYes
radius_kmNo
Behavior5/5

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

Annotations already mark readOnlyHint=true and openWorldHint=true. The description adds substantial behavioral context beyond these hints: it explains that data comes from multi-state feeds, is normalized, includes various event types (incidents, roadwork, closures, chain advisories, wildfires), that coverage varies by state, that states are added automatically, and that every event includes a source field. This goes far beyond what annotations alone convey, giving the agent a realistic picture of data variability and output expectations.

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

Conciseness5/5

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

The description is appropriately sized given the tool's complexity. It is front-loaded with the primary purpose in the first sentence, then logically proceeds through data scope, coverage caveats, usage guidance, and parameter explanations. Each sentence provides necessary information and none is redundant or filler. It is well-structured with clear paragraph breaks for readability.

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?

With no output schema and only read-only/open-world annotations, the description carries the responsibility of explaining what the agent will receive. It clarifies that events are normalized across state feeds, includes a source field with the publishing agency, and covers the event types and filtering options. It also addresses edge cases like state coverage variability and toll prices. This provides a complete context for using the tool effectively, even without an output schema.

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

Parameters5/5

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

The input schema provides only types, titles, defaults, and no descriptions (coverage 0%). The description fully compensates by defining the center format ('"lat,lon"'), explaining the kinds parameter as a comma-separated list with an explicit enumeration ('incident, closure, chain, fire, sign, rwis, camera, toll'), and noting the radius_km cap ('caps at 160'). This is essential semantic detail that the schema lacks.

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's purpose: 'Live road events near a point anywhere CommuteScout covers, not just California.' It uses a specific verb ('get' implied by name) and resource ('live road events'), and distinguishes itself from the California-specific siblings by explicitly directing users to prefer dedicated tools for California and to use this one for outside California or border areas.

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?

Provides explicit when-to-use guidance: 'For CALIFORNIA questions prefer the dedicated tools above... Use THIS tool for any location outside California, near a state border, or as a supplement when a California tool comes back empty.' This names the alternatives and gives clear conditions, which is exactly what this dimension requires.

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

get_road_signsA
Read-only
Inspect

What Caltrans changeable message signs are displaying right now.

Data: statewide CMS sign text, blank and out-of-service signs already
filtered - every record is a message a driver is physically seeing.
Signs carry the road's operational truth ("CHAINS REQUIRED 10 MI
AHEAD", "FULL CLOSURE HWY 96 DUE TO FIRE", "PREPARE TO STOP"), often
before the event shows up in any other feed. Refresh: ~2-minute cache.

Filters: route (e.g. "I-80") and/or center "lat,lon" with radius_km.
Quote sign text verbatim to the user - it is the most current and
most local signal this server has.
ParametersJSON Schema
NameRequiredDescriptionDefault
routeNo
centerNo
radius_kmNo
Behavior5/5

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

Annotations already set readOnlyHint and openWorldHint; description adds valuable behavioral context: blank/out-of-service signs filtered, 2-minute cache, and that data reflects road truths before other sources. No contradiction.

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

Conciseness5/5

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

Compact yet information-dense, organized into clear sections (Data, Refresh, Filters, Usage). Every sentence serves a purpose with no fluff.

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?

Fully explains data content, refresh cadence, and filtering parameters. Without output schema, it describes what users get (sign text). Could mention typical response size or pagination, but sufficient for the tool's simplicity.

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

Parameters5/5

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

With 0% schema description coverage, description fully compensates by explaining all three parameters: route (e.g., 'I-80'), center 'lat,lon', and radius_km with default value. Adds examples and usage context.

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?

Description clearly states the tool returns 'what Caltrans changeable message signs are displaying right now,' distinguishing it from siblings by emphasizing real-time operational truth before other feeds.

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?

Provides clear usage guidance: 'Quote sign text verbatim to the user - it is the most current and most local signal.' Implicitly contrasts with other feeds but does not explicitly list when not to use or name specific alternatives.

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

get_wildfiresA
Read-only
Inspect

Active California wildfires, flagged when close to a major highway.

Data: the interagency WFIGS current-wildfire feed (NIFC) - name, size in
acres, percent contained, discovery date. Points are each fire's ORIGIN,
not its perimeter: a large fire can affect roads far from this point.
Refresh: 5-minute cache; size/containment typically update once or twice
a day. Small, fast-moving local fires may appear in CHP incident logs
(get_incidents, type "FIRE-Report of Fire") before this feed has them.

Filters:
- near_route (e.g. "I-5", "101") - only fires within ~10 miles of that
  highway's corridor line.
- center "lat,lon" with radius_km - fires around a place, regardless of
  highway.
Without either, every active CA fire is returned, each carrying a
`near_highways` list of major corridors within ~10 miles (empty = not
near a covered major highway; it may still affect local roads).

This tool does NOT know about road closures caused by fires - cross-check
get_incidents and get_lane_closures for the affected area.
ParametersJSON Schema
NameRequiredDescriptionDefault
centerNo
radius_kmNo
near_routeNo
Behavior5/5

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

Beyond annotations (readOnlyHint, openWorldHint), description adds refresh rate (5-min cache), update frequency (once/twice daily), data limitations (origin vs perimeter, small fires may lag), and the near_highways attribute. No contradictions.

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

Conciseness5/5

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

Well-structured with clear sections: purpose, data details, filter options, and warnings. Every sentence adds value; no fluff. Front-loaded with essential information.

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?

For a read-only list tool with no output schema, the description covers data fields, geographic scope (California), filtering options, and limitations. Cross-references to sibling tools ensure the agent can make informed decisions.

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

Parameters5/5

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

Despite 0% schema description coverage, the description fully explains each parameter: near_route (highway name with ~10 mile radius), center (lat,lon with radius_km, default 50), and the behavior when neither is provided. This compensates entirely for the missing schema descriptions.

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 active California wildfires, with specific data source (WFIGS/NIFC) and fields (name, size, containment, discovery). It distinguishes from sibling tools like get_incidents by noting that small fires may appear there first.

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 describes when to use filters (near_route or center) and the behavior without filters (returns all active CA fires). Also explicitly states what the tool does not do (road closures) and recommends cross-checking with get_incidents and get_lane_closures.

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

rank_routesA
Read-only
Inspect

Which major corridors have the most going on right now.

Answers broad questions like "what are the busiest routes", "where is traffic worst", or "which highways should I avoid today" across all 17 tracked corridors. by="activity" ranks on live events (full closures weigh most, then incidents, lane closures, chain controls); by="congestion" ranks on measured speed vs free-flow at each corridor's midpoint and needs the traffic feed to be configured - if it is not, the ranking silently falls back to activity.

Each entry carries the counts and a one-line reason, so the answer can say WHY a corridor ranks where it does, not just list names.

ParametersJSON Schema
NameRequiredDescriptionDefault
byNoactivity
limitNo
Behavior5/5

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

The description discloses key behavioral traits: fallback to activity if traffic feed is unusable, weighting by event severity, and inclusion of reason in output. Annotations mark it as readOnly and openWorld, but the description adds valuable context beyond those hints.

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 structured into clear paragraphs: purpose, ranking criteria, fallback, and output format. It is slightly verbose but every sentence adds value. The main purpose is front-loaded.

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?

The description covers the tool's purpose, ranking logic, fallback behavior, and output format (counts and reason). Without an output schema, this provides sufficient context for an agent to understand what to expect.

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

Parameters4/5

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

The description explains the 'by' parameter's values ('activity' vs 'congestion') and their meanings. The 'limit' parameter is not explicitly described, but its default and role are implied by the output description. Given 0% schema coverage, the description compensates well but could be more explicit about 'limit'.

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 ranks major corridors by activity or congestion, answering broad traffic questions. It distinguishes itself from sibling tools like check_route or get_incidents by providing an aggregated overview across all 17 tracked corridors.

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?

The description provides clear context on when to use the tool (for broad questions like busiest routes) and implies not for specific details (handled by siblings). However, it does not explicitly state when not to use it or name alternative tools.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.