The Machine Record
Server Details
Verified robot and AV incidents, first report to court outcome, plus the NHTSA SGO crash file
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool targets a distinct entity or operation: case detail, company detail, company listing, aggregate stats, verified case search, and raw NHTSA filing search. The only potential confusion is between search_cases and search_nhtsa_sgo, but the descriptions explicitly distinguish verified cases from unverified operator filings.
Five of six tools follow a clean verb_noun snake_case pattern (get_case, get_company, list_companies, search_cases, search_nhtsa_sgo). register_totals is the sole deviation, using a noun-as-verb construction, but it remains readable and consistent in casing.
Six tools is well-scoped for a niche read-only incident register, with each tool covering a distinct facet (search, detail, aggregation, filing data). Nothing feels redundant or missing at the count level.
The surface covers the core read-only lifecycle: find cases, inspect a case's timeline and sources, explore companies, and view aggregate stats, plus raw NHTSA filings. Minor gaps exist, such as no direct way to browse or search sources/archives independently or filter cases by incident type beyond free-text search, but agents can work around this via get_case.
Available Tools
6 toolsget_caseGet one caseAInspect
Full record of one case by its reference (TMR-0123) or URL slug: summary, machine, dated timeline of what each source established, the sources with their tier and archive copy, and any linked NHTSA Standing General Order report.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Case reference like TMR-0123, a slug, or the case URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden; it does convey that this is a single-record retrieval returning a summary, machine details, dated timeline, sources with tier/archive copy, and linked NHTSA SGO report. It says nothing about permissions, not-found behavior, or size/latency of the response, leaving real gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence, front-loaded with the core action and then a scannable enumeration of returned components. No filler or repetition of the tool title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description's enumeration of the returned record (summary, machine, timeline, sources with tier and archive, SGO report) does the necessary work of explaining return values. Adding guidance on unknown-id behavior would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter's schema description already covers 100% of its semantics, including the TMR-0123, slug, and URL forms. The description repeats the reference example but adds no additional meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Full record of one case") and enumerates the exact contents returned, which is far more informative than the title. It implicitly contrasts with search_cases by specifying a single case looked up by reference, but never names the sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent infers it should call this after obtaining an id from search_cases, since the description requires a reference or slug. There is no explicit statement of when to prefer this over search_cases, nor any note about what happens for unknown references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_companyCompany profileBInspect
One company's cases with harm and escalation counts, breakdown by incident type, and the category average for comparison.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Company slug, e.g. waymo, cruise, starship-technologies |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the return shape reasonably well: cases, harm and escalation counts, incident-type breakdown, and a category benchmark. It says nothing about behavior for an unknown slug, whether the case list is paginated or truncated, or what time window counts cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with no filler, and the most important fact (one company) is front-loaded. It is a fragment rather than a sentence and omits an action verb, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry the return semantics, and it does so at a high level. It still leaves gaps an agent would want: how many cases come back, whether individual case detail requires get_case, and what the 'category average' is computed over.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the slug parameter is documented with examples (waymo, cruise, starship-technologies). The description adds no parameter detail at all, which meets the baseline-3 bar when the schema fully documents the single argument.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase that makes clear this returns a single company's dataset — its cases, harm/escalation counts, incident-type breakdown, and category average. 'One company's' implicitly contrasts with a multi-company listing, but no sibling is named explicitly and there is no verb, so the operation must be inferred from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus list_companies, search_cases, or get_case. The phrase 'for comparison' hints at a benchmarking use case but never states a trigger or exclusion, leaving the agent to infer routing from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_companiesCompanies in the registerAInspect
Every company with at least one published case: number of cases, how many went beyond the first report, and the share. Not a safety ranking: the register counts reported incidents, not incidents per machine.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the return content and, valuably, warns against misreading the figures as a safety metric — a real behavioral caveat beyond the name. It says nothing about result size, pagination, ordering, or freshness of the register, which matters for an unpaginated list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with scope before the caveat: scope first, then the anti-misinterpretation warning. Dense and waste-free, though 'how many went beyond the first report' is slightly elliptical phrasing for a returned field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param list tool with no output schema, the description names the fields returned and cautions on interpretation, which is most of what an agent needs. Missing only practical details like result-set size or ordering, which the schema and annotations also do not supply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing to disambiguate; baseline 4 applies. The description correctly implies the tool takes no filters by framing it as an unfiltered 'every company' listing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: 'Every company with at least one published case', plus the three values returned (case count, count beyond first report, share). It is clearly distinct from get_company (single-company detail) and search_cases, though it does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the scope statement — an agent can infer this is the roster/enumeration entry point before drilling into get_company — but there is no explicit when-to-use or when-not-to-use guidance versus register_totals or get_company. The one explicit boundary given is interpretive ('not a safety ranking'), not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_totalsRegister totalsAInspect
Headline numbers: cases, cases that reached a regulator, recall or court, archived sources, companies, earliest year, last update, cases by country, and totals of the NHTSA Standing General Order file.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the metric categories and temporal context such as earliest year and last update. However, it does not explicitly state that the operation is read-only, whether results are cached, or any authentication or rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that begins with the key concept "Headline numbers" and then lists relevant metrics without preamble or repetition. Every item maps to a meaningful output category, so the length is justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only source for return-value semantics; it lists the metrics but does not describe the response shape, field names, nesting, or value formats. For a simple zero-parameter aggregate tool this is adequate but leaves gaps an agent would need to resolve by calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics for the description to explain. The schema already implies a no-input call, and the description appropriately focuses on output content instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description makes clear this tool returns aggregate headline metrics rather than individual records, and it enumerates the specific metrics covered. That distinguishes it implicitly from the entity- and search-oriented siblings, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "Headline numbers" implies a summary/overview use case, but the description gives no explicit when-to-use guidance or comparison with search_cases, list_companies, or other siblings. The usage context is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_casesSearch the registerAInspect
Search verified incidents involving commercial robots and autonomous vehicles (robotaxis, delivery robots, humanoids, industrial arms, surgical and consumer robots). Every case has at least two independent sources and is followed from first report to investigation, recall, fine, lawsuit or settlement. Returns case summaries with permanent URLs; use get_case for the timeline and sources.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Year of the incident | |
| limit | No | Rows to return, default 25 | |
| query | No | Free text matched against title, summary, location, company and robot model | |
| stage | No | How far the case has gone after the first report | |
| company | No | Company slug (e.g. waymo) or part of its name | |
| category | No | Kind of machine | |
| severity | No | Worst outcome recorded for the case |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and delivers real behavior: inclusion criteria (at least two independent sources), lifecycle coverage from first report through recall, fine, lawsuit or settlement, and the return shape (case summaries with permanent URLs). It omits ordering, pagination behavior beyond the schema default, and any auth or rate-limit context, keeping it out of the top band.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, scope and verification rule front-loaded, routing hint last where the agent needs it after understanding the result. The parenthetical robot-type list is slightly long but earns its place by defining coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All seven parameters are optional and fully documented in the schema, and the description states what comes back plus where to go for depth, so an agent can call it correctly. Missing only secondary details such as result ordering or whether results are paginated beyond the limit parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with three enums documented, so the baseline is 3. The description only implicitly maps to the stage filter by enumerating the lifecycle stages, and adds no format or combination guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource ("Search verified incidents involving commercial robots and autonomous vehicles") and constrains scope with the two-independent-source verification rule. It also names the sibling it is not (get_case), so an agent can distinguish search from detail lookup without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to get_case when the timeline and sources are needed, which is the main ambiguity for a search/detail pair. It does not state exclusions or contrast with other siblings like search_nhtsa_sgo, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_nhtsa_sgoSearch NHTSA SGO crash reportsAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Text in narrative, city, report ID, make or model | |
| page | No | ||
| year | No | ||
| crash | No | What the vehicle crashed with, e.g. Passenger Car, Pedestrian, Cyclist | |
| grain | No | Default report | |
| state | No | US state code | |
| entity | No | Reporting entity exactly as filed, e.g. Waymo LLC, Tesla, Zoox | |
| program | No | ADS = driverless, ADAS = Level 2 driver assistance | |
| severity | No | Highest injury severity alleged, e.g. Fatality, Serious, Minor, No Injuries Reported, Unknown |
TDQS
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.
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.
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.
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.
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.
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
get_case - First observed
get_company - First observed
list_companies - First observed
register_totals - First observed
search_cases - First observed
search_nhtsa_sgo
Related MCP Connectors
Aviation accident narratives from 128 official authorities, plus FAA wildlife, laser and drone data
Sourced, dated data on consumer robots and physical AI: specs, prices, availability, evidence.
Vehicle safety recalls, complaints, and crash data from NHTSA
Exploited vulnerabilities, critical CVEs, breaches and AI security incidents, with primary sources.
Related MCP Servers
- AlicenseAqualityAmaintenancePublic-record corpus of AI litigation, regulation, and enforcement, anchored to EveryAILaw.839 npmMIT
- FlicenseNot gradedqualityBmaintenanceAuditable AGI-2027 evidence: eight graded Situational Awareness predictions with pre-registered flip conditions, a 0-100 Thesis Tracker with full score history, and a public market-call ledger where misses stay published. Free, no auth, CC BY 4.0.-
- AlicenseNot gradedqualityDmaintenanceWorld-first unified MCP gateway + Control Barrier Function (CBF-QP) safety engine for agentic robotics, enabling LLMs to control physical robots with mathematically proven safety.MIT
- AlicenseNot gradedqualityCmaintenanceDeterministic AI liability attribution engine. Scores fault across AI supply-chain participants (deployer, developer, vendor) with tamper-evident certificates and weekly cryptographic anchoring.’8 npm2Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.