Skip to main content
Glama

get_cameras

Read-only

See live Caltrans camera images near a point or along a highway route to check road conditions like fog, snow, or traffic before you drive.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
routeNo
centerNo
radius_kmNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.82.1

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description adds valuable behavior: ~3,000 in-service cameras, offline cameras are filtered out, every returned image_url was verified live moments ago, snapshots refresh roughly every minute, stream_url is HLS, and results sort nearest-first when a center is given. This is rich, non-obvious context that helps an agent trust and use the results directly.

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?

Every sentence earns its place. Purpose is front-loaded, followed by data freshness, filtering, result ordering, and a concrete use case. There is no fluff or repetition.

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, the description still covers output fields (image_url, stream_url), refresh behavior, offline filtering, filter semantics, and sort order. It provides enough for an agent to call the tool correctly and decide when it is appropriate, without needing to inspect the schema.

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 description coverage is 0%, so the description carries the burden. It explains center as 'lat,lon', states it is required unless route is given, gives route examples ('I-80', '50'), and mentions radius_km. 'limit' is the one parameter not explicitly described, though its name and default make its purpose reasonably inferable.

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 opens with a specific resource: 'Live Caltrans roadside camera snapshots near a point or on a route.' It clearly differentiates from sibling tools like get_incidents, get_chain_controls, and get_road_signs by being explicitly about visual camera imagery, not status or incident data.

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 gives clear usage context: cameras are for letting the user SEE conditions such as fog, snow, or traffic density. It also explains filter semantics ('center required unless route is given', 'route narrows to that highway'). It does not explicitly name alternatives like check_route or get_incidents, but the use case is clear enough that an agent can route correctly.

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