Look up U.S. motor carriers right inside Claude. Search by name/DOT/MC, check CSA safety scores, see real insurance carrier names + policy detail, review inspections and crashes, and save carriers to your FlitIQ pipeline. Requires a Pro or Team subscription.
FlitIQ demonstrates solid tool design with clear naming conventions (verb_noun pattern), comprehensive descriptions (avg 180 chars), and proper JSON Schema definitions. All 7 tools have input schemas with type constraints and descriptions. Tool annotations (readOnlyHint/destructiveHint/openWorldHint) are correctly applied. Key gaps: output schemas are not formally documented in the tool definitions (only inferred from descriptions), error handling lacks recovery guidance, and parameter descriptions could be more prescriptive about constraints (e.g., DOT format, state code format). The search_carrier tool accepts flexible input (name/DOT/MC) but doesn't document the resolution strategy clearly.
Get the carrier's operating authority status: common, contract, and broker authority per docket (MC number). Surfaces whether each docket is Active, Revoked, Suspended, etc.
Get up to 50 most-recent FMCSA-reportable crashes for the carrier. Each row includes date, state/city, fatality count, injury count, tow-away flag, and hazmat-released flag.
Get up to 50 most-recent roadside inspections for the carrier. Each row includes date, state, inspection level, OOS counts (vehicle/driver/hazmat), and total violation count. Use this when the user wants to see recent inspection trends or OOS patterns.
Get the carrier's active and pending insurance policies from FMCSA's L&I database. Returns insurer name (e.g. "Liberty Mutual Fire Insurance Co."), policy number, coverage amount, effective date, and pending cancellation date for BIPD primary, BIPD excess, cargo, and trust-fund coverage. Use this whenever the user asks about insurance verification.
Get the carrier's safety profile: CSA BASIC scores (all 7 categories with percentiles + FMCSA intervention thresholds), out-of-service rates vs national averages, safety rating, total inspections, crash totals. The most important call for vetting.
Output schemas not formally documented. Tool descriptions mention return fields (e.g., 'CSA BASIC scores', 'insurer name, policy number') but no structured schema is provided in tool definitions. LLMs cannot reliably extract or chain results without explicit output type definitions.
Parameter format constraints not explicit. 'state' parameter accepts '2-letter US state code' but no enum or pattern constraint is declared. 'dot' accepts 'string|number' but valid format (1-8 digits, no leading zeros) is only documented in handler code, not schema. LLMs may pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Save a carrier to your FlitIQ pipeline for later review. Optionally attach notes. Returns the saved carrier ID and a message. Idempotent -- calling twice with the same DOT is safe.
Search FMCSA-registered motor carriers by name, DOT number, or MC number. Returns up to 20 results with identity, location, fleet size, and operating status. Use this when the user mentions a carrier by name and you need to find the right DOT to call other tools.
Error handling lacks recovery guidance. No tool description explains what to do if a DOT is not found, if insurance data is unavailable, or if the API rate limit is hit. Handlers call badInput() but error messages are not visible in tool definitions.
Result limits not documented. get_inspections and get_crashes mention 'up to 50' results but no pagination parameters (limit, offset, cursor) are exposed. If a carrier has >50 crashes, the agent cannot retrieve older records.
search_carrier accepts 'name, DOT, or MC number' but resolution strategy is undocumented. If a user passes 'ABC Trucking', does the tool search by name first, or try to parse as DOT? Ambiguity forces LLM to guess.