Skip to main content
Glama

Recalls

wenmar_recalls
Read-only

Recall campaigns from NHTSA (United States) and Transport Canada that may apply to a vehicle. A campaign lists a year, a make and a model, so every answer has may_apply: true. It may apply; confirm by VIN with the manufacturer, or at the addresses in lookup. This is never a lookup by VIN. action=vehicle takes id, a vehicle id such as "2018_ford_f-150". action=vin takes vin (and optionally year): it decodes the VIN and lists the recalls of its model year. action=campaign takes source (nhtsa or tc) and campaign, such as "19V888000", and gives that campaign with every vehicle it lists. action=search lists campaigns newest first, narrowed by any of make, model (needs make), year, component and query (free text); limit is at most 100 and 25 when left out; cursor is next_cursor of the page before. action=recent takes since, a day such as "2026-09-01", and lists the campaigns reported on or after it, newest first, each with the vehicles it lists; it also takes make, limit and cursor. country is us or ca on every action but campaign; left out, both.

Input Schema

NameRequiredDescriptionDefault
idNoA vehicle id, such as 2018_ford_f-150.
vinNoA 17-character VIN. Spaces and dashes are ignored.
makeNo
yearNoFor vin: the model year to use. For search: only campaigns that list this model year.
limitNo
modelNo
queryNo
sinceNoFor recent: a day, such as 2026-09-01. Campaigns reported on or after it are listed.
actionYes
cursorNo
sourceNo
countryNo
campaignNoThe publisher's campaign number.
componentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only cover safety (readOnlyHint) and world scope, so the description carries the interpretive burden and does it well: every answer has may_apply: true, results must be confirmed with the manufacturer, and pagination behavior (limit max 100, default 25, cursor = next_cursor) is disclosed. That is meaningful context an agent cannot derive from the structured fields. The only wrinkle is that the cited addresses in `lookup` are not a documented action or parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is long but proportionate to a 14-parameter, 5-action tool, and the core framing (what a campaign is, that it is never a VIN lookup) is front-loaded before the action-by-action detail. There is mild redundancy in the may_apply caveat and the density of the single paragraph makes the action list slightly hard to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and 14 parameters, the description nearly closes the gap by covering every action and most parameters plus return shape hints (campaign with every vehicle it lists, next_cursor). It loses a point for referencing a `lookup` destination that exists nowhere in the schema, leaving the agent unsure where those confirmation addresses come from.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 36%, so the description must compensate, and it does: it documents make, model (and that model needs make), year, component, query as free text, limit bounds and default, cursor semantics, since's date format, the source and country enums, and gives concrete examples for id and campaign. Conditional parameter constraints are called out rather than left to inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names the specific resource (recall campaigns from NHTSA and Transport Canada) and the description then enumerates the five action modes, so an agent knows exactly what the tool returns. Sibling differentiation is only implicit — it never names wenmar_vin or wenmar_bulletins as the place to go for adjacent questions, so it falls just short of a 5.

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?

It spells out the scenario each action serves (vehicle id, VIN decode, campaign number, filtered search, recent feed) with required companion parameters, which is strong intra-tool routing. It also states a when-not ('This is never a lookup by VIN'), though it never says when to prefer a sibling tool such as wenmar_vin for VIN work.

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.

Resources