# The Used Car Index

> Free NHTSA recalls, complaints and investigations per vehicle, recall alerts, dealer listing events.

- name: com.theusedcarindex/feed
- version: 1.2.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 80/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.theusedcarindex%2Ffeed
- tools: https://api.protogrid.dev/v1/servers/com.theusedcarindex%2Ffeed/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "feed": {
      "type": "http",
      "url": "https://api.theusedcarindex.com/mcp",
      "headers": {
        "Authorization": "Bearer ${api_key}"
      }
    }
  }
}
```

Placeholders to fill: `${api_key}`.

## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-98% +updated-12d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 80/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 4 of 4 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,162 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 50 (weight 15)

- pass `stability.changes`: 5 tool changes in 30 days
- fail `stability.rug_pull`: 1 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 4, about 1,162 tokens to load them all
- tool set hash: 8657756f8c92178f04ff2dc21b273452
- tools last changed: 2026-10-09T02:26:55.399Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.theusedcarindex/feed.svg)](https://protogrid.dev/servers/com.theusedcarindex/feed)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-09 `recall_changes` added
  - List new and updated NHTSA recalls, investigations and complaint-count changes that this service recorded from the daily NHTSA bulk-file comparison, newest first, filtered by make, model, model year, type (recall, investigation, complaint_count) or observed date. Each change has the NHTSA campaign or action number, the record date, a short summary and a source link. These are published records, not a prediction, safety rating or advice. The free tier returns at most 10 changes per call with no paging, paid plans up to 200 with cursors and a vehicle watchlist.
- 2026-10-08 `listing_changes` changed (title, description, annotations)
  - before: Returns paginated observations of listing changes with VIN, price, mileage, dates, source and link, filtered by vehicle, event type or date. Collector status distinguishes an inactive feed from observed events. There are no photos or dealer-written text; a delisted event means only that the listing was no longer observed and does not establish a completed transaction.
  - after: List observed dealer listing changes (new, price drop, relisted, delisted) with VIN, price, mileage, dates, source and link, filtered by vehicle, event type or date. Collector status separates an inactive feed from observed events. No photos or dealer-written text; delisted only means the listing was no longer observed, not that a sale completed. The free tier returns at most 10 events per call with no paging, paid plans up to 200 with cursors.
- 2026-10-08 `compare_vehicles` changed (title, description, annotations)
  - before: Returns compact recorded facts for two to five vehicles and factual orderings by complaints, recalls and available verified complaints-per-100k-sold rates. Unknown vehicles include database suggestions; unrated vehicles remain explicitly unrated. Counts reflect source coverage and a sales proxy where available; the comparison makes no recommendation, verdict or safety ranking.
  - after: Compare recorded facts for several vehicles side by side, with factual orderings by complaints, recalls and available verified complaints-per-100k-sold rates. Unknown vehicles come back with database suggestions and unrated vehicles stay explicitly unrated. Counts reflect source coverage; no recommendation, verdict or safety ranking. The free tier compares up to 2 vehicles per call, paid plans up to 5.
- 2026-10-08 `vehicle_risk` changed (title, description, annotations) **meaning changed**
  - before: Returns recorded NHTSA complaint flags, distinct-record system and subsystem counts, recalls, investigations, manufacturer communications, source coverage, an optional verified sales-denominator rate, and separately labeled Jev model tags for one make, model and year. Jev tags exist for model years 2012 and newer; model year 2012 is only partly tagged and earlier model years carry no tags. tagged_share gives each vehicle's tagged fraction; about 43 percent of all complaints are tagged. model_tags includes model/schema provenance, tagged_complaints, complaints_total, tagged_share and per-label counts, shares, mean_confidence and high/low confidence counts. Confidence is the model probability for its chosen label (0 to 1), not accuracy. NHTSA flags stay in complaints. Absent tags are null with model_tags_null_reason. Spellings resolve through stored spellings, rule aliases and the exact family key. manufacturer_communications.by_system rows carry subsystem as an empty string, meaning all subsystems of this system; by_subsystem holds up to 25 non-empty subsystem rows. matched_models lists the vehicle's own NHTSA labels that carry complaints, or all of its own labels with count 0 when the vehicle has no complaints; other_names lists zero-count own labels of a vehicle that has complaints and alternate NHTSA labels, including lookup-only aliases. A zero is confirmed only when coverage_complete is true; data.notes gives generated reasons for unconfirmed zeros and explains requested alternate labels. These are observed records, not a prediction, safety rating, verdict, repair advice or an individual vehicle history.
  - after: Look up the recorded risk facts for one make, model and model year: NHTSA complaint counts by system and subsystem, recalls, investigations, manufacturer communications, an optional verified complaints-per-100k-sold rate and source coverage. Separately labeled Jev model tags (model years 2012 and newer; about 43 percent of all complaints are tagged) carry per-label counts, shares and model confidence, which is not accuracy. Spellings and aliases resolve to the stored vehicle. A zero is confirmed only when coverage_complete is true. These are observed records, not a prediction, safety rating, verdict, repair advice or an individual vehicle history.
- 2026-10-08 `vehicle_risk` changed (description)
  - before: Returns recorded NHTSA complaint flags, component counts, recalls, investigations, manufacturer communications, source coverage, an optional verified sales-denominator rate, and separately labeled Jev model tags for one make, model and year. Tags cover model years 2012 and newer, about 43 percent of complaints overall. model_tags includes model/schema provenance, tagged_complaints, complaints_total, tagged_share and per-label counts, shares, mean_confidence and high/low confidence counts. Confidence is the model probability for its chosen label (0 to 1), not accuracy. NHTSA flags stay in complaints. Absent tags are null with model_tags_null_reason. Family spellings are resolved from the database. These are observed records, not a prediction, safety rating, verdict, repair advice or an individual vehicle history.
  - after: Returns recorded NHTSA complaint flags, distinct-record system and subsystem counts, recalls, investigations, manufacturer communications, source coverage, an optional verified sales-denominator rate, and separately labeled Jev model tags for one make, model and year. Jev tags exist for model years 2012 and newer; model year 2012 is only partly tagged and earlier model years carry no tags. tagged_share gives each vehicle's tagged fraction; about 43 percent of all complaints are tagged. model_tags includes model/schema provenance, tagged_complaints, complaints_total, tagged_share and per-label counts, shares, mean_confidence and high/low confidence counts. Confidence is the model probability for its chosen label (0 to 1), not accuracy. NHTSA flags stay in complaints. Absent tags are null with model_tags_null_reason. Spellings resolve through stored spellings, rule aliases and the exact family key. manufacturer_communications.by_system rows carry subsystem as an empty string, meaning all subsystems of this system; by_subsystem holds up to 25 non-empty subsystem rows. matched_models lists the vehicle's own NHTSA labels that carry complaints, or all of its own labels with count 0 when the vehicle has no complaints; other_names lists zero-count own labels of a vehicle that has complaints and alternate NHTSA labels, including lookup-only aliases. A zero is confirmed only when coverage_complete is true; data.notes gives generated reasons for unconfirmed zeros and explains requested alternate labels. These are observed records, not a prediction, safety rating, verdict, repair advice or an individual vehicle history.

Full history: https://api.protogrid.dev/v1/servers/com.theusedcarindex%2Ffeed/changes

## Remotes

- https://api.theusedcarindex.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9807692)

## Packages

_none_

## Tools (4)

- `compare_vehicles`: Compare recorded facts for several vehicles side by side, with factual orderings by complaints, recalls and available verified complaints-per-100k-sold rates. Unknown vehicles come back with database suggestions and unrated vehicles stay explicitly unrated. Counts reflect source coverage; no recommendation, verdict or safety ranking. The free tier compares up to 2 vehicles per call, paid plans up to 5.
- `listing_changes`: List observed dealer listing changes (new, price drop, relisted, delisted) with VIN, price, mileage, dates, source and link, filtered by vehicle, event type or date. Collector status separates an inactive feed from observed events. No photos or dealer-written text; delisted only means the listing was no longer observed, not that a sale completed. The free tier returns at most 10 events per call with no paging, paid plans up to 200 with cursors.
- `recall_changes`: List new and updated NHTSA recalls, investigations and complaint-count changes that this service recorded from the daily NHTSA bulk-file comparison, newest first, filtered by make, model, model year, type (recall, investigation, complaint_count) or observed date. Each change has the NHTSA campaign or action number, the record date, a short summary and a source link. These are published records, not a prediction, safety rating or advice. The free tier returns at most 10 changes per call with no paging, paid plans up to 200 with cursors and a vehicle watchlist.
- `vehicle_risk`: Look up the recorded risk facts for one make, model and model year: NHTSA complaint counts by system and subsystem, recalls, investigations, manufacturer communications, an optional verified complaints-per-100k-sold rate and source coverage. Separately labeled Jev model tags (model years 2012 and newer; about 43 percent of all complaints are tagged) carry per-label counts, shares and model confidence, which is not accuracy. Spellings and aliases resolve to the stored vehicle. A zero is confirmed only when coverage_complete is true. These are observed records, not a prediction, safety rating, verdict, repair advice or an individual vehicle history.
