Skip to main content
Glama

Fmcsa Safety Snapshot

fmcsa_safety_snapshot
Read-onlyIdempotent

Get the FMCSA safety profile for a US motor carrier by USDOT number: safety rating (Satisfactory/Conditional/Unsatisfactory) with rating and review dates, USDOT operating status, driver/vehicle/hazmat inspection counts and out-of-service (OOS) rates vs national averages, and 24-month crash counts (fatal/injury/tow). Keyless via the FMCSA SAFER Company Snapshot. Pass an FMCSA QCMobile webKey via _apiKey to also get SMS BASIC categories (Unsafe Driving, HOS, Vehicle Maintenance, ...) with violation counts and percentiles.

Input Schema

NameRequiredDescriptionDefault
dot_numberYesThe carrier USDOT number, e.g. "76830".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "_apiKey": "your-fmcsa-api-key",
      -    "dot_number": "76830"
      -  }
      -]New value: +[
      +  {
      +    "dot_number": "54283"
      +  }
      +]
    • removedInput schema / properties / _apiKey
      Removed value: -{
      -  "description": "FMCSA webKey (injected by the gateway).",
      -  "type": "string"
      -}
    • changedInput schema / properties / dot_number / type
      Previous value: -"string"New value: +[
      +  "number",
      +  "string"
      +]
  2. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "_apiKey": "your-fmcsa-api-key",
      +    "dot_number": "76830"
      +  }
      +]
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already mark the tool as read-only and non-destructive. The description adds context beyond annotations by specifying the data source (FMCSA SAFER Company Snapshot), noting that it is 'Keyless' by default, and explaining that an optional FMCSA QCMobile webKey via _apiKey unlocks additional SMS BASIC categories with violation counts and percentiles. This is useful behavioral disclosure about authentication and data scope.

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?

The description is a two-sentence paragraph that packs a high density of useful information without fluff. The first sentence enumerates exactly what data will be returned, and the second explains the optional key and its benefits. Every clause adds value, making it appropriately sized for the tool's complexity.

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?

The description is remarkably complete: it lists all major output fields (safety rating, dates, status, inspection counts, OOS rates, crash counts, BASIC categories), explains the default keyless behavior and optional enhanced mode, and identifies the data source. With a single required parameter and no output schema, this description gives an agent sufficient context to select and invoke the tool correctly.

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?

The schema covers dot_number with a description, and the tool description reinforces its meaning (USDOT number). The description adds meaning by introducing an optional _apiKey parameter not present in the schema, explaining its purpose and the additional data it yields. This goes beyond the schema's coverage, though the undocumented parameter is a minor concern.

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?

The description clearly states the tool gets the FMCSA safety profile for a US motor carrier by USDOT number, with a detailed list of included data (safety rating, inspection counts, OOS rates, crash counts). The verb 'Get' and the resource 'safety profile' are specific, and the listing of distinct data fields distinguishes it from sibling tools like fmcsa_carrier_lookup or fmcsa_search_carriers.

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 provides clear context by enumerating the exact safety-related data returned, implying this is the tool for carrier safety snapshots. However, it does not explicitly state when not to use it (e.g., for operating authority or search) or name alternatives, so it falls short of a 5 but is above a 3.

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.