US motor-carrier registry: DOT/MC/name lookup, operating authority, safety — keyless
Four well-named tools with strong descriptions (150 - 250 chars each) and complete input schemas. All parameters are typed and described. Tool names follow verb_noun pattern (lookup, search, operating_authority, safety_snapshot). Descriptions clearly state what each tool does, when to use it, and dependencies between tools. However, output schemas are not documented, LLMs cannot see what fields to expect from responses. Error handling is present but minimal (no recovery guidance or categorization). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all being read-only operations.
Look up a US motor carrier (trucking/bus company) in the FMCSA census by USDOT number, MC/docket number, or company name. Keyless. Returns legal & DBA name, physical address, active/inactive status, interstate/intrastate operation, hazmat flag, fleet size (power units, trucks), driver counts, and cargo types carried. Set `by` to "dot", "mc", or "name" with the value in `value`. For carrier authority (broker status) use fmcsa_operating_authority; for safety scores use fmcsa_safety_snapshot.
Look up a US motor carrier's operating authority by MC/docket number. Keyless. Returns docket number, DOT number, carrier name, authority status (Active/Inactive/Pending/Revoked), operation type (Interstate/Intrastate), and cargo types authorized. For full carrier detail use fmcsa_carrier_lookup; for safety scores use fmcsa_safety_snapshot.
Fetch a US motor carrier's safety snapshot from FMCSA QCMobile: SMS BASIC scores (percentile, violations, inspections), out-of-service (OOS) status, and crash detail. Requires a free FMCSA webKey (set PLATFORM_FMCSA_KEY or pass _apiKey). Lookup by USDOT number, MC/docket number, or company name. For carrier registry detail use fmcsa_carrier_lookup; for authority use fmcsa_operating_authority.
Search US motor carriers by company name (partial, case-insensitive) in the FMCSA census, ranked by fleet size. Keyless. Returns USDOT number, legal/DBA name, city/state, power units, drivers, and status. Optionally filter by 2-letter state. Use fmcsa_carrier_lookup for full detail on a returned USDOT number.
Output schemas not documented. LLMs cannot see what fields responses contain (e.g., shapeCensus returns dot_number, legal_name, address, cargo_carried, etc.). Without documented output structure, agents cannot plan downstream tool calls or extract required data.
No tool annotations despite all tools being read-only. Adding readOnlyHint=true to all four tools would signal to agents that these calls are safe to retry and have no side effects.
Error messages lack recovery guidance. Errors like 'upstream_down' or 'upstream_throttled' tell the LLM the call failed but not what to do next (retry? ask user? try a different tool?). Should categorize errors as retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
fmcsa_safety_snapshot accepts _apiKey as a parameter. Credentials should never be tool parameters, use server-side secret injection via environment variables (PLATFORM_FMCSA_KEY) only. Passing secrets as params risks logging them in traces.
No pagination support documented. fmcsa_search_carriers returns results ranked by fleet size but does not expose limit, offset, or total_count. Large result sets could blow context windows. Should add limit (default 20, max 100) and offset parameters.