Skip to main content
Glama

Search NHTSA SGO crash reports

search_nhtsa_sgo

Crash reports filed under NHTSA's Standing General Order 2021-01 by automated driving system (ADS) and Level 2 driver assistance operators, 2021 to today, one row per report at its latest version, or one row per incident when grain is 'incident' (filings by several entities about one crash collapsed at the highest severity). Rows are the operators' own filings, not verified cases, and a filing does not establish fault.

Input Schema

NameRequiredDescriptionDefault
qNoText in narrative, city, report ID, make or model
pageNo
yearNo
crashNoWhat the vehicle crashed with, e.g. Passenger Car, Pedestrian, Cyclist
grainNoDefault report
stateNoUS state code
entityNoReporting entity exactly as filed, e.g. Waymo LLC, Tesla, Zoox
programNoADS = driverless, ADAS = Level 2 driver assistance
severityNoHighest injury severity alleged, e.g. Fatality, Serious, Minor, No Injuries Reported, Unknown

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it delivers important behavioral context: rows are the operators' own unverified filings, a filing does not establish fault, and results are deduplicated to the latest report version or collapsed by incident at highest severity. It omits pagination/ordering behavior and result-size limits, which matter for a search tool.

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?

Two sentences, front-loaded with the scope and grain rules, then a caveat about data provenance. Dense but every clause carries information. The first sentence is long with nested parentheticals, which slightly hurts scannability.

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 9-parameter, all-optional search tool with no output schema, the description covers dataset identity, deduplication grain, versioning, and data-quality caveats. Missing pagination guidance (the 'page' parameter has no description and an odd maximum) and result-ordering information keep it from a 5.

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 moderate (~78%), and the description fills the biggest gap by explaining the grain enum far beyond the schema's bare 'Default report' — including the collapsing-at-highest-severity rule. It adds versioning semantics ('latest version') that the schema does not express. It does not elaborate on q, year, state, entity, program, or severity beyond their schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

It names the specific resource — NHTSA Standing General Order 2021-01 crash reports filed by ADS and Level 2 operators — and states the time range and row grain. An agent can tell what dataset this searches. It stops short of naming how it differs from sibling search_cases/get_case, so sibling differentiation is left implicit.

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?

Usage is implied through the grain explanation ('one row per report at its latest version, or one row per incident when grain is incident'), which implicitly tells the agent to pick a grain. There is no explicit statement of when to prefer this over search_cases or get_case, and no exclusions or prerequisites.

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.

Resources