nhtsa-vehicle-safety-mcp-server

Decode VINs, search recalls, complaints, crash ratings, and investigations.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
93%
Integridad del esquema
94%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'nhtsa_decode_vin' description lacks action verben nhtsa_decode_vin

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~8,423Tokens (definiciones de herramientas)
~15.5 KBTamaño de respuesta típico
Impacto significativo en la atención (6.58% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "nhtsa-vehicle-safety-mcp-server": {
      "command": "bun",
      "args": [
        "@cyanheads/nhtsa-vehicle-safety-mcp-server"
      ]
    }
  }
}

Paquetes ejecutables

npm@cyanheads/nhtsa-vehicle-safety-mcp-server0.9.6streamable-http

Puntos de conexión remotos

https://nhtsa.caseyjhand.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (7)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢nhtsa_get_vehicle_safety(make, model, modelYear)

Get a comprehensive safety profile for a vehicle. Combines NCAP crash test ratings, recalls, and complaint summary into a single response. Use as the default when asked about vehicle safety, reliability, or purchase decisions.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "make": {
      "type": "string",
      "description": "Vehicle manufacturer (e.g., \"Toyota\", \"Ford\"). Case-insensitive."
    },
    "model": {
      "type": "string",
      "description": "Vehicle model (e.g., \"Camry\", \"F-150\"). Case-insensitive."
    },
    "modelYear": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Model year, a whole number (e.g., 2020)."
    }
  },
  "required": [
    "make",
    "model",
    "modelYear"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "safetyRatings": {
      "description": "Crash test ratings per vehicle variant (e.g., FWD vs AWD)",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "vehicleId": {
            "type": "number",
            "description": "NCAP vehicle ID for follow-up queries"
          },
          "vehicleDescription": {
            "description": "Vehicle variant description",
            "type": "string"
          },
          "overallRating": {
            "description": "Overall safety rating (1-5 stars or \"Not Rated\")",
            "type": "string"
          },
          "frontalCrash": {
            "type": "object",
            "properties": {
              "overall": {
                "description": "Overall frontal crash rating",
                "type": "string"
              },
              "driverSide": {
                "description": "Driver-side frontal crash rating",
                "type": "string"
              },
              "passengerSide": {
                "description": "Passenger-side frontal crash rating",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "description": "Frontal crash test ratings"
          },
          "sideCrash": {
            "type": "object",
            "properties": {
              "overall": {
                "description": "Overall side crash rating",
                "type": "string"
              },
              "driverSide": {
                "description": "Driver-side rating",
                "type": "string"
              },
              "passengerSide": {
                "description": "Passenger-side rating",
                "type": "string"
              },
              "combinedBarrierPoleFront": {
                "description": "Combined barrier/pole front rating",
                "type": "string"
              },
              "combinedBarrierPoleRear": {
                "description": "Combined barrier/pole rear rating",
                "type": "string"
              },
              "barrierOverall": {
                "description": "Side barrier overall rating",
                "type": "string"
              },
              "pole": {
                "description": "Side pole crash rating",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "description": "Side crash test ratings"
          },
          "rollover": {
            "type": "object",
            "properties": {
              "rating": {
                "description": "Rollover resistance rating",
                "type": "string"
              },
              "probability": {
                "description": "Rollover probability (0-1 scale)",
                "type": "number"
              },
              "dynamicTipResult": {
                "description": "Dynamic tip test result",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "description": "Rollover risk assessment"
          },
          "adasFeatures": {
            "type": "object",
            "properties": {
              "electronicStabilityControl": {
                "description": "ESC availability",
                "type": "string"
              },
              "forwardCollisionWarning": {
                "description": "FCW availability",
                "type": "string"
              },
              "laneDepartureWarning": {
                "description": "LDW availability",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "description": "Advanced driver assistance features"
          }
        },
        "required": [
          "vehicleId",
          "frontalCrash",
          "sideCrash",
          "rollover",
          "adasFeatures"
        ],
        "additionalProperties": false,
        "description": "Safety ratings for a single vehicle variant"
      }
    },
    "recalls": {
      "description": "All recalls for this vehicle when available",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "campaignNumber": {
            "type": "string",
            "description": "NHTSA campaign number"
          },
          "manufacturer": {
            "type": "string",
            "description": "Vehicle/equipment manufacturer"
          },
          "component": {
            "type": "string",
            "description": "Affected component"
          },
          "summary": {
            "type": "string",
            "description": "Recall summary"
          },
          "consequence": {
            "type": "string",
            "description": "Safety consequence"
          },
          "remedy": {
            "type": "string",
            "description": "Corrective action"
          },
          "reportReceivedDate": {
            "type": "string",
            "description": "Date recall was reported"
          },
          "parkIt": {
            "description": "Do-not-drive advisory when provided by NHTSA",
            "type": "boolean"
          },
          "parkOutSide": {
            "description": "Park-outside advisory when provided by NHTSA",
            "type": "boolean"
          },
          "overTheAirUpdate": {
            "description": "OTA update availability when provided by NHTSA",
            "type": "boolean"
          }
        },
        "required": [
          "campaignNumber",
          "manufacturer",
          "component",
          "summary",
          "consequence",
          "remedy",
          "reportReceivedDate"
        ],
        "additionalProperties": false,
        "description": "A single recall campaign"
      }
    },
    "complaintSummary": {
      "description": "Summary of consumer complaints",
      "type": "object",
      "properties": {
        "totalCount": {
          "type": "number",
          "description": "Total complaints filed"
        },
        "componentBreakdown": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "component": {
                "type": "string",
                "description": "Component name"
              },
              "count": {
                "type": "number",
                "description": "Number of complaints"
              },
              "crashCount": {
                "type": "number",
                "description": "Complaints involving crashes"
              },
              "fireCount": {
                "type": "number",
                "description": "Complaints involving fires"
              },
              "injuryCount": {
                "type": "number",
                "description": "Total injuries reported"
              },
              "deathCount": {
                "type": "number",
                "description": "Total deaths reported"
              }
            },
            "required": [
              "component",
              "count",
              "crashCount",
              "fireCount",
              "injuryCount",
              "deathCount"
            ],
            "additionalProperties": false,
            "description": "Complaint counts for a single component"
          },
          "description": "Complaints grouped by component"
        },
        "crashCount": {
          "type": "number",
          "description": "Total complaints involving crashes"
        },
        "fireCount": {
          "type": "number",
          "description": "Total complaints involving fires"
        },
        "injuryCount": {
          "type": "number",
          "description": "Total injuries across all complaints"
        },
        "deathCount": {
          "type": "number",
          "description": "Total deaths across all complaints"
        }
      },
      "required": [
        "totalCount",
        "componentBreakdown",
        "crashCount",
        "fireCount",
        "injuryCount",
        "deathCount"
      ],
      "additionalProperties": false
    },
    "sectionStatus": {
      "type": "object",
      "properties": {
        "safetyRatings": {
          "type": "string",
          "enum": [
            "available",
            "partial",
            "unavailable"
          ],
          "description": "Availability of NCAP safety ratings in this response"
        },
        "recalls": {
          "type": "string",
          "enum": [
            "available",
            "partial",
            "unavailable"
          ],
          "description": "Availability of recall data in this response"
        },
        "complaints": {
          "type": "string",
          "enum": [
            "available",
            "partial",
            "unavailable"
          ],
          "description": "Availability of complaint data in this response"
        }
      },
      "required": [
        "safetyRatings",
        "recalls",
        "complaints"
      ],
      "additionalProperties": false,
      "description": "Availability of each data section in this response"
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Warnings about sections that could not be loaded from NHTSA"
    },
    "effectiveQuery": {
      "type": "string",
      "description": "The vehicle queried, as \"make model modelYear\"."
    },
    "notice": {
      "description": "Guidance when no NHTSA records matched the vehicle — e.g. how to verify make/model/year spelling.",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode."
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "sectionStatus",
        "warnings",
        "effectiveQuery"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢nhtsa_search_recalls(campaignNumber, make, model, modelYear, dateRange)

Search recall campaigns by vehicle or campaign number. Use for specific recall lookups, recall history for a vehicle, or looking up a known campaign number.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "campaignNumber": {
      "description": "NHTSA campaign number (e.g., \"20V682000\"). When provided, returns the campaign detail plus every vehicle it covers. Mutually exclusive with make/model/modelYear.",
      "type": "string"
    },
    "make": {
      "description": "Vehicle manufacturer. Required with model and modelYear when not using campaignNumber.",
      "type": "string"
    },
    "model": {
      "description": "Vehicle model. Required with make and modelYear.",
      "type": "string"
    },
    "modelYear": {
      "description": "Model year, a whole number. Required with make and model.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "dateRange": {
      "description": "Filter recalls by received date. Applied locally since the API lacks native date filtering.",
      "type": "object",
      "properties": {
        "after": {
          "description": "Only recalls received after this date (ISO 8601, e.g., \"2025-01-01\").",
          "type": "string"
        },
        "before": {
          "description": "Only recalls received before this date (ISO 8601, e.g., \"2026-01-01\").",
          "type": "string"
        }
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "recalls": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "campaignNumber": {
            "type": "string",
            "description": "NHTSA campaign number"
          },
          "manufacturer": {
            "type": "string",
            "description": "Vehicle/equipment manufacturer"
          },
          "component": {
            "description": "Affected component (vehicle-scoped queries)",
            "type": "string"
          },
          "summary": {
            "type": "string",
            "description": "Recall summary"
          },
          "consequence": {
            "type": "string",
            "description": "Safety consequence"
          },
          "remedy": {
            "type": "string",
            "description": "Corrective action"
          },
          "reportReceivedDate": {
            "type": "string",
            "description": "Date received by NHTSA (ISO YYYY-MM-DD)"
          },
          "potentialUnitsAffected": {
            "description": "Units affected (campaign queries)",
            "type": "number"
          },
          "affectedVehicles": {
            "description": "Every distinct make/model the campaign covers (campaign queries). Equipment and tire campaigns name the part here — make is the brand, model is the part — and carry no model year.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "make": {
                  "description": "Vehicle make",
                  "type": "string"
                },
                "model": {
                  "description": "Vehicle model",
                  "type": "string"
                },
                "modelYear": {
                  "description": "Model year",
                  "type": "number"
                }
              },
              "additionalProperties": false,
              "description": "One vehicle covered by the campaign"
            }
          },
          "investigationId": {
            "description": "ODI investigation that preceded this campaign, when NHTSA links one (campaign queries) — pass it as nhtsaId to nhtsa_search_investigations for the full record.",
            "type": "string"
          },
          "parkIt": {
            "description": "Do-not-drive advisory when provided by NHTSA",
            "type": "boolean"
          },
          "parkOutSide": {
            "description": "Park-outside advisory when provided by NHTSA",
            "type": "boolean"
          },
          "overTheAirUpdate": {
            "description": "OTA update availability when provided by NHTSA",
            "type": "boolean"
          }
        },
        "required": [
          "campaignNumber",
          "manufacturer",
          "summary",
          "consequence",
          "remedy",
          "reportReceivedDate"
        ],
        "additionalProperties": false,
        "description": "A single recall campaign"
      },
      "description": "Matching recall campaigns"
    },
    "totalCount": {
      "type": "number",
      "description": "Total recalls matching criteria"
    },
    "effectiveQuery": {
      "type": "string",
      "description": "The search key used: campaign number, or \"make model modelYear\" for vehicle queries."
    },
    "notice": {
      "description": "Guidance when no recalls are found — e.g. how to verify make/model/year spelling.",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `mode_conflict`: Both campaignNumber and vehicle params were provided. `missing_required_combo`: Neither campaignNumber nor a complete vehicle triple was supplied. `campaign_not_found`: The campaignNumber did not match any NHTSA recall. `invalid_date`: A dateRange bound could not be parsed as a date. Other values are possible when a failure originates below the handler.",
              "examples": [
                "mode_conflict",
                "missing_required_combo",
                "campaign_not_found",
                "invalid_date"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "recalls",
        "totalCount",
        "effectiveQuery"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢nhtsa_search_complaints(make, model, modelYear, component, limit, ...)

Search consumer safety complaints filed with NHTSA for a specific vehicle. Returns a component breakdown over all matching complaints plus a paginated slice of the most recent complaints. Use for common problems, failure patterns, or owner-reported issues.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "make": {
      "type": "string",
      "description": "Vehicle manufacturer."
    },
    "model": {
      "type": "string",
      "description": "Vehicle model."
    },
    "modelYear": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Model year, a whole number."
    },
    "component": {
      "description": "Filter to a specific component (uppercase, e.g., \"ENGINE\", \"AIR BAGS\", \"ELECTRICAL SYSTEM\"). Matches within comma-separated component lists. Omit to see all.",
      "type": "string"
    },
    "limit": {
      "description": "Max complaint narratives to return. Defaults to 20; max 50. componentBreakdown always reflects all matching complaints.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "description": "Pagination offset into the filing-date-descending complaint list. Defaults to 0. componentBreakdown is unaffected by pagination.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "make",
    "model",
    "modelYear"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "totalCount": {
      "type": "number",
      "description": "Total complaints matching criteria"
    },
    "returned": {
      "type": "number",
      "description": "Number of complaints in this page"
    },
    "offset": {
      "type": "number",
      "description": "Pagination offset used for this page"
    },
    "limit": {
      "type": "number",
      "description": "Pagination limit used for this page"
    },
    "componentBreakdown": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "component": {
            "type": "string",
            "description": "Component name"
          },
          "count": {
            "type": "number",
            "description": "Number of complaints"
          },
          "crashCount": {
            "type": "number",
            "description": "Complaints involving crashes"
          },
          "fireCount": {
            "type": "number",
            "description": "Complaints involving fires"
          },
          "injuryCount": {
            "type": "number",
            "description": "Total injuries reported"
          },
          "deathCount": {
            "type": "number",
            "description": "Total deaths reported"
          }
        },
        "required": [
          "component",
          "count",
          "crashCount",
          "fireCount",
          "injuryCount",
          "deathCount"
        ],
        "additionalProperties": false,
        "description": "Complaint counts for a single component"
      },
      "description": "Complaints grouped by component, sorted by frequency"
    },
    "complaints": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "odiNumber": {
            "description": "NHTSA complaint ID",
            "type": "number"
          },
          "dateOfIncident": {
            "description": "Date the incident occurred (ISO YYYY-MM-DD)",
            "type": "string"
          },
          "unreliableIncidentDate": {
            "description": "An incident date NHTSA reported that this complaint's own filing date or model year rules out — report it as contradicted, never as when the incident happened. Appears in place of dateOfIncident, never alongside it; both absent means NHTSA reported no incident date at all.",
            "type": "object",
            "properties": {
              "reported": {
                "type": "string",
                "description": "The incident date NHTSA reported, ISO YYYY-MM-DD"
              },
              "reason": {
                "type": "string",
                "enum": [
                  "postdates_filing",
                  "predates_model_year"
                ],
                "description": "What the reported date contradicts: \"postdates_filing\" — it falls after this complaint was filed; \"predates_model_year\" — it falls before a vehicle of this model year existed."
              }
            },
            "required": [
              "reported",
              "reason"
            ],
            "additionalProperties": false
          },
          "dateComplaintFiled": {
            "description": "Date complaint was filed (ISO YYYY-MM-DD)",
            "type": "string"
          },
          "components": {
            "description": "Affected components (comma-separated)",
            "type": "string"
          },
          "summary": {
            "description": "Consumer-reported description",
            "type": "string"
          },
          "crash": {
            "description": "Involved a crash",
            "type": "boolean"
          },
          "fire": {
            "description": "Involved a fire",
            "type": "boolean"
          },
          "numberOfInjuries": {
            "description": "Number of injuries",
            "type": "number"
          },
          "numberOfDeaths": {
            "description": "Number of deaths",
            "type": "number"
          },
          "vin": {
            "description": "VIN prefix (partial)",
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "A single consumer complaint"
      },
      "description": "Paginated slice of the most recent complaints, date-descending"
    },
    "effectiveQuery": {
      "type": "string",
      "description": "\"make model modelYear\" with optional component filter applied, as the server used it."
    },
    "notice": {
      "description": "Guidance when no complaints match the vehicle, or when the requested page overshoots the result set.",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode."
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "totalCount",
        "returned",
        "offset",
        "limit",
        "componentBreakdown",
        "complaints",
        "effectiveQuery"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢nhtsa_get_safety_ratings(make, model, modelYear, vehicleId)

Get NCAP crash test ratings and ADAS feature availability for a vehicle. Use when the user specifically wants crash test stars, rollover risk, or wants to compare safety features across vehicles. NCAP data available from 1990+, best coverage for 2011+.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "make": {
      "description": "Vehicle manufacturer. Required with model and modelYear when vehicleId is omitted.",
      "type": "string"
    },
    "model": {
      "description": "Vehicle model. Required with make and modelYear when vehicleId is omitted.",
      "type": "string"
    },
    "modelYear": {
      "description": "Model year, a whole number. Required with make and model when vehicleId is omitted. NCAP coverage increases significantly for 2011+.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "vehicleId": {
      "description": "Specific NCAP vehicle ID (from prior results). Skips the year/make/model lookup.",
      "type": "number"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "ratings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "vehicleId": {
            "type": "number",
            "description": "NCAP vehicle ID"
          },
          "vehicleDescription": {
            "description": "Vehicle variant description",
            "type": "string"
          },
          "overallRating": {
            "description": "Overall safety rating (1-5 stars or \"Not Rated\")",
            "type": "string"
          },
          "frontalCrash": {
            "type": "object",
            "properties": {
              "overall": {
                "description": "Overall frontal crash rating",
                "type": "string"
              },
              "driverSide": {
                "description": "Driver-side rating",
                "type": "string"
              },
              "passengerSide": {
                "description": "Passenger-side rating",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "description": "Frontal crash test results"
          },
          "sideCrash": {
            "type": "object",
            "properties": {
              "overall": {
                "description": "Overall side crash rating",
                "type": "string"
              },
              "driverSide": {
                "description": "Driver-side rating",
                "type": "string"
              },
              "passengerSide": {
                "description": "Passenger-side rating",
                "type": "string"
              },
              "combinedBarrierPoleFront": {
                "description": "Combined barrier/pole front rating",
                "type": "string"
              },
              "combinedBarrierPoleRear": {
                "description": "Combined barrier/pole rear rating",
                "type": "string"
              },
              "barrierOverall": {
                "description": "Side barrier overall rating",
                "type": "string"
              },
              "pole": {
                "description": "Side pole crash rating",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "description": "Side crash test results"
          },
          "rollover": {
            "type": "object",
            "properties": {
              "rating": {
                "description": "Rollover resistance rating",
                "type": "string"
              },
              "probability": {
                "description": "Rollover probability (0-1 scale)",
                "type": "number"
              },
              "dynamicTipResult": {
                "description": "Dynamic tip test result",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "description": "Rollover risk assessment"
          },
          "adasFeatures": {
            "type": "object",
            "properties": {
              "electronicStabilityControl": {
                "description": "\"Standard\", \"Optional\", or \"Not Available\"",
                "type": "string"
              },
              "forwardCollisionWarning": {
                "description": "Forward collision warning availability",
                "type": "string"
              },
              "laneDepartureWarning": {
                "description": "Lane departure warning availability",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "description": "Advanced driver assistance features"
          },
          "complaintsCount": {
            "description": "Complaints linked by NHTSA to this specific NCAP record. Variant-scoped — for vehicle-level totals call nhtsa_search_complaints.",
            "type": "number"
          },
          "recallsCount": {
            "description": "Recalls linked by NHTSA to this specific NCAP record. Variant-scoped — for vehicle-level totals call nhtsa_search_recalls.",
            "type": "number"
          },
          "investigationCount": {
            "description": "Investigations linked by NHTSA to this specific NCAP record. Variant-scoped — for vehicle-level totals call nhtsa_search_investigations.",
            "type": "number"
          }
        },
        "required": [
          "vehicleId",
          "frontalCrash",
          "sideCrash",
          "rollover",
          "adasFeatures"
        ],
        "additionalProperties": false,
        "description": "Safety ratings for a single vehicle variant"
      },
      "description": "Safety ratings per vehicle variant"
    },
    "notice": {
      "description": "Guidance when no NCAP ratings are found — e.g. coverage notes or adjacent year suggestion.",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `missing_required_combo`: Neither vehicleId nor a complete vehicle triple was supplied. Other values are possible when a failure originates below the handler.",
              "examples": [
                "missing_required_combo"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "ratings"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢nhtsa_decode_vin(vin, modelYear)

Decode a Vehicle Identification Number to extract make, model, year, body type, engine, safety equipment, and manufacturing details. Pass a single 17-character VIN string, or an array of up to 50 VINs for batch decode. Partial VINs accepted — use * for unknown positions.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "vin": {
      "anyOf": [
        {
          "type": "string",
          "description": "A single VIN string (up to 17 characters, * for unknown positions)"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An array of up to 50 VINs for batch decode"
        }
      ],
      "description": "A single 17-character VIN (e.g., \"1HGCM82633A004352\") or an array of up to 50 VINs for batch decode. Partial VINs accepted — use * for unknown positions."
    },
    "modelYear": {
      "description": "Model year, a whole number. Helps resolve ambiguity for pre-1980 or partial VINs.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "vin"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "vehicles": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "vin": {
            "type": "string",
            "description": "The decoded VIN, echoed back from the request"
          },
          "make": {
            "description": "Vehicle manufacturer when provided by VPIC",
            "type": "string"
          },
          "model": {
            "description": "Vehicle model when provided by VPIC",
            "type": "string"
          },
          "modelYear": {
            "description": "Model year when provided by VPIC",
            "type": "string"
          },
          "bodyClass": {
            "description": "Body class (e.g., \"Sedan/Saloon\", \"SUV\")",
            "type": "string"
          },
          "vehicleType": {
            "description": "Vehicle type (e.g., \"PASSENGER CAR\")",
            "type": "string"
          },
          "driveType": {
            "description": "Drive type (e.g., \"FWD\", \"AWD\")",
            "type": "string"
          },
          "engineCylinders": {
            "description": "Number of engine cylinders",
            "type": "string"
          },
          "engineDisplacementL": {
            "description": "Engine displacement in liters",
            "type": "string"
          },
          "engineHP": {
            "description": "Engine horsepower",
            "type": "string"
          },
          "fuelType": {
            "description": "Primary fuel type",
            "type": "string"
          },
          "trim": {
            "description": "Trim level",
            "type": "string"
          },
          "manufacturer": {
            "description": "Full manufacturer name",
            "type": "string"
          },
          "plantCity": {
            "description": "Manufacturing plant city",
            "type": "string"
          },
          "plantState": {
            "description": "Manufacturing plant state",
            "type": "string"
          },
          "plantCountry": {
            "description": "Manufacturing plant country",
            "type": "string"
          },
          "airBagLocFront": {
            "description": "Front airbag locations",
            "type": "string"
          },
          "airBagLocSide": {
            "description": "Side airbag locations",
            "type": "string"
          },
          "airBagLocCurtain": {
            "description": "Curtain airbag info",
            "type": "string"
          },
          "airBagLocKnee": {
            "description": "Knee airbag info",
            "type": "string"
          },
          "electronicStabilityControl": {
            "description": "ESC availability",
            "type": "string"
          },
          "abs": {
            "description": "ABS availability",
            "type": "string"
          },
          "tractionControl": {
            "description": "Traction control availability",
            "type": "string"
          },
          "errorCode": {
            "description": "VPIC error code (0 = no error)",
            "type": "string"
          },
          "errorText": {
            "description": "VPIC error or warning text",
            "type": "string"
          }
        },
        "required": [
          "vin"
        ],
        "additionalProperties": false,
        "description": "Decoded details for a single VIN"
      },
      "description": "Decoded vehicle information per VIN"
    },
    "effectiveQuery": {
      "type": "string",
      "description": "Number of VINs decoded and the path taken (single or batch)."
    },
    "notice": {
      "description": "Present when one or more VINs decoded with VPIC warnings (errorCode != 0) — check errorCode/errorText per vehicle.",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `empty_vin_list`: No non-empty VIN strings supplied. `batch_too_large`: VIN array exceeds the batch limit. Other values are possible when a failure originates below the handler.",
              "examples": [
                "empty_vin_list",
                "batch_too_large"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "vehicles",
        "effectiveQuery"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢nhtsa_search_investigations(nhtsaId, query, make, model, component, ...)

Search NHTSA defect investigations from the ODI flat file — covering Preliminary Evaluations (PE), Engineering Analyses (EA), Defect Petitions (DP), Recall Queries (RQ), Audit Queries (AQ), and additional ODI types. make, model, and component are structured filters against the investigation record's vehicle associations. All filters are ANDed. Use nhtsaId to fetch one investigation by its exact ID — including the investigationId nhtsa_search_recalls returns for a campaign. Investigations may link to a resulting recall campaign via recallCampaign.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "nhtsaId": {
      "description": "Exact NHTSA investigation ID (e.g. \"EA23003\"), case-insensitive. Fetches that one record — mutually exclusive with every other filter.",
      "type": "string"
    },
    "query": {
      "description": "Free-text search across investigation ID, subject, and summary.",
      "type": "string"
    },
    "make": {
      "description": "Structured filter — matches against the investigation's associated vehicle makes (e.g., \"TOYOTA\"). ANDed with other filters.",
      "type": "string"
    },
    "model": {
      "description": "Structured filter — matches against the investigation's associated vehicle models. ANDed with other filters.",
      "type": "string"
    },
    "component": {
      "description": "Structured filter — matches against the investigation's affected components (e.g., \"STEERING\"). ANDed with other filters.",
      "type": "string"
    },
    "investigationType": {
      "description": "Filter by ODI investigation type code (the leading letters of the NHTSA ID). Named types: \"PE\" (Preliminary Evaluation), \"EA\" (Engineering Analysis), \"DP\" (Defect Petition), \"RQ\" (Recall Query), \"AQ\" (Audit Query). Additional valid codes present in the dataset: \"SQ\", \"EQ\", \"RP\", \"ID\", \"TA\", \"C\". Pass any code exactly as it appears in the investigation ID prefix.",
      "type": "string"
    },
    "status": {
      "description": "Filter by status: \"O\" (Open) or \"C\" (Closed). Omit to include both.",
      "type": "string",
      "enum": [
        "O",
        "C"
      ]
    },
    "limit": {
      "description": "Max investigations to return. Defaults to 20; max 25. The cap is lower than the other paginated tools because a single investigation summary can run several thousand characters and is rendered in full.",
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    },
    "offset": {
      "description": "Pagination offset into the matching investigations. Defaults to 0.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "totalCount": {
      "type": "number",
      "description": "Total matching investigations"
    },
    "returned": {
      "type": "number",
      "description": "Number of investigations in this page"
    },
    "offset": {
      "type": "number",
      "description": "Pagination offset used for this page"
    },
    "limit": {
      "type": "number",
      "description": "Pagination limit used for this page"
    },
    "investigations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "nhtsaId": {
            "description": "NHTSA investigation ID",
            "type": "string"
          },
          "investigationType": {
            "description": "Investigation type code",
            "type": "string"
          },
          "investigationTypeName": {
            "description": "Investigation type name",
            "type": "string"
          },
          "status": {
            "description": "Status code (O=Open, C=Closed)",
            "type": "string"
          },
          "statusName": {
            "description": "Status name",
            "type": "string"
          },
          "makes": {
            "description": "Associated vehicle makes",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "models": {
            "description": "Associated vehicle models",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "years": {
            "description": "Associated model years",
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "components": {
            "description": "Affected components",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "manufacturer": {
            "description": "Manufacturer name",
            "type": "string"
          },
          "subject": {
            "description": "Investigation subject",
            "type": "string"
          },
          "summary": {
            "description": "Investigation summary",
            "type": "string"
          },
          "openDate": {
            "description": "Date investigation opened (YYYY-MM-DD)",
            "type": "string"
          },
          "closeDate": {
            "description": "Date investigation closed (YYYY-MM-DD), if closed",
            "type": "string"
          },
          "recallCampaign": {
            "description": "Linked recall campaign number (if any) — use with nhtsa_search_recalls",
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "A single NHTSA investigation"
      },
      "description": "Matching investigations"
    },
    "effectiveQuery": {
      "type": "string",
      "description": "Applied filters as a readable string, e.g. make=\"Ford\" status=\"O\"."
    },
    "notice": {
      "description": "Guidance when no investigations match the filters, or when the requested page overshoots the result set.",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `mode_conflict`: nhtsaId was combined with another filter. Other values are possible when a failure originates below the handler.",
              "examples": [
                "mode_conflict"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "totalCount",
        "returned",
        "offset",
        "limit",
        "investigations",
        "effectiveQuery"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢nhtsa_lookup_vehicles(operation, make, modelYear, manufacturer, limit, ...)

Look up valid makes, models, and vehicle types in NHTSA's database. Use to resolve ambiguous vehicle names, find correct make/model spelling, or discover what models a manufacturer produces.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "operation": {
      "type": "string",
      "enum": [
        "makes",
        "models",
        "vehicle_types",
        "manufacturer"
      ],
      "description": "\"makes\" (all NHTSA makes), \"models\" (models for a make), \"vehicle_types\" (types for a make), \"manufacturer\" (manufacturer details)."
    },
    "make": {
      "description": "Make name (required for \"models\" and \"vehicle_types\"). Partial match supported.",
      "type": "string"
    },
    "modelYear": {
      "description": "Filter models to a specific year, a whole number. Only for \"models\" operation.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "manufacturer": {
      "description": "Manufacturer name or ID (for \"manufacturer\" operation). Partial match supported.",
      "type": "string"
    },
    "limit": {
      "description": "Max results in the returned slice. Defaults to 100; max 200.",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    },
    "offset": {
      "description": "Pagination offset into the full result list. Defaults to 0.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "operation"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "operation": {
      "type": "string",
      "description": "The operation that was performed"
    },
    "totalCount": {
      "type": "number",
      "description": "Results retrieved before pagination. For \"manufacturer\" this is capped — check the truncated field, since VPIC reports no match total."
    },
    "returned": {
      "type": "number",
      "description": "Number of results in the returned slice"
    },
    "offset": {
      "type": "number",
      "description": "Pagination offset used for this response"
    },
    "limit": {
      "type": "number",
      "description": "Pagination limit used for this response"
    },
    "makes": {
      "description": "Results for \"makes\" operation",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "makeId": {
            "type": "number",
            "description": "VPIC make ID"
          },
          "makeName": {
            "type": "string",
            "description": "Make name"
          }
        },
        "required": [
          "makeId",
          "makeName"
        ],
        "additionalProperties": false,
        "description": "A single make entry"
      }
    },
    "models": {
      "description": "Results for \"models\" operation",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "modelId": {
            "type": "number",
            "description": "VPIC model ID"
          },
          "modelName": {
            "type": "string",
            "description": "Model name"
          },
          "makeId": {
            "type": "number",
            "description": "VPIC make ID"
          },
          "makeName": {
            "type": "string",
            "description": "Make name"
          }
        },
        "required": [
          "modelId",
          "modelName",
          "makeId",
          "makeName"
        ],
        "additionalProperties": false,
        "description": "A single model entry"
      }
    },
    "vehicleTypes": {
      "description": "Results for \"vehicle_types\" operation",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "vehicleTypeId": {
            "type": "number",
            "description": "Vehicle type ID"
          },
          "vehicleTypeName": {
            "type": "string",
            "description": "Vehicle type name"
          }
        },
        "required": [
          "vehicleTypeId",
          "vehicleTypeName"
        ],
        "additionalProperties": false,
        "description": "A single vehicle-type entry"
      }
    },
    "manufacturers": {
      "description": "Results for \"manufacturer\" operation",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "manufacturerId": {
            "type": "number",
            "description": "Manufacturer ID"
          },
          "manufacturerName": {
            "type": "string",
            "description": "Manufacturer name"
          },
          "country": {
            "description": "Country of origin when provided",
            "type": "string"
          },
          "vehicleTypes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "description": "Vehicle type ID",
                  "type": "number"
                },
                "name": {
                  "type": "string",
                  "description": "Vehicle type name"
                }
              },
              "required": [
                "name"
              ],
              "additionalProperties": false,
              "description": "A single vehicle-type entry produced by this manufacturer"
            },
            "description": "Vehicle types produced"
          }
        },
        "required": [
          "manufacturerId",
          "manufacturerName",
          "vehicleTypes"
        ],
        "additionalProperties": false,
        "description": "A single manufacturer entry"
      }
    },
    "effectiveQuery": {
      "type": "string",
      "description": "The operation with key args, e.g. \"models make=Toyota year=2020\"."
    },
    "notice": {
      "description": "Guidance when the result set is empty or the page is out of bounds.",
      "type": "string"
    },
    "truncated": {
      "description": "True when the \"manufacturer\" lookup stopped at its retrieval cap and further matches may exist upstream.",
      "type": "boolean"
    },
    "shown": {
      "description": "Manufacturer records retrieved before pagination, when the cap was reached.",
      "type": "number"
    },
    "cap": {
      "description": "Maximum manufacturer records a single lookup retrieves.",
      "type": "number"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `missing_operation_arg`: A required argument for the chosen operation was not provided. Other values are possible when a failure originates below the handler.",
              "examples": [
                "missing_operation_arg"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "operation",
        "totalCount",
        "returned",
        "offset",
        "limit",
        "effectiveQuery"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada7 herramientas
verificadoversión no registrada7 herramientas