Wrench.Pro Vehicle Check
Server Details
Recalls, known issues, and honest maintenance costs for any US-market vehicle since 1990.
- Status
- Healthy
- Uptime
- 100.0% over 18 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool targets a distinct concern: known issues, maintenance, recalls, broad summary, and vehicle resolution. The only overlap is get_vehicle_summary, which handles broad questions like 'what goes wrong with it' that also fall under get_known_issues, but the descriptions clarify that summary is the catch-all and the others are specific queries.
Four tools follow a clean get_noun snake_case pattern (get_known_issues, get_maintenance, get_recalls, get_vehicle_summary). resolve_vehicle deviates with a different verb, but the action is genuinely distinct (turning free text into slugs) and still snake_case, so the set remains predictable.
Five tools is a tight, well-scoped surface for a vehicle-info domain with no obvious filler or redundancy. It sits at the lower end of the comfortable 3-15 range, which is reasonable given the narrow read-only scope.
The surface covers the core read-only lifecycle: resolve a vehicle, then pull issues, maintenance, recalls, and a summary, plus a mandated disclaimer path for recalls. Minor gaps exist (no standalone VIN decoder or shop-locator tool), but users can work around these via the summary card and external links.
Available Tools
5 toolsget_known_issuesHuman-reviewed Known Issues (clustered owner complaints)ARead-onlyInspect
Use when the user asks what commonly goes wrong, about reliability, or about a specific symptom. mode='reviewed' is Wrench.Pro's human-reviewed analysis — cite it. mode='raw' means no review yet: say 'no reviewed Known Issues yet' and present rawTopComponents. mode='none': say there's no complaint data. Never invent issues.
| Name | Required | Description | Default |
|---|---|---|---|
| make | Yes | Make slug from resolve_vehicle, e.g. 'ford'. | |
| year | Yes | 4-digit model year from resolve_vehicle. | |
| model | Yes | Model slug from resolve_vehicle, e.g. 'f-150'. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already establishes the safety profile, so the description's job is lighter and it delivers: it discloses three distinct response states ('reviewed', 'raw', 'none'), mandates citing the reviewed analysis, and forbids inventing issues. The remaining gap is that it never explains how the mode is selected, given mode is absent from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each earning its place: trigger first, then the three mode behaviors, then the anti-fabrication rule. The most important routing information is front-loaded and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description instead covers all three mode outcomes plus the failure mode to avoid ('never invent issues'). It is nearly complete for a read tool, with the sole omission being sibling disambiguation against get_recalls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for make/year/model and each points to resolve_vehicle for slug derivation, so the baseline of 3 applies. The description's mode semantics add real meaning, but mode is not a declared parameter in the input schema, so the agent has no way to set the modes the description spends most of its words on — this creates ambiguity rather than compensating for a documented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title plus description make clear this returns clustered owner complaints / reliability analysis for a specific vehicle, which is a specific verb+resource. However it never distinguishes itself from the sibling get_recalls, which an agent will likely confuse with 'what commonly goes wrong' — the recall-vs-complaint boundary is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger set: 'Use when the user asks what commonly goes wrong, about reliability, or about a specific symptom.' That is clear when-to-use guidance with concrete user phrasings, and the mode branches tell the agent how to respond. It stops short of naming an alternative (e.g. get_recalls) or stating when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_maintenanceMaintenance schedule with Dealer/Shop/DIY price rangesARead-onlyInspect
Use when the user asks about service intervals, what's due, or what a service should cost. Pass mileage when known. Ranges are estimates and marked approximate — present them that way. 'Pro only' means the job isn't realistic DIY: recommend a shop instead of giving repair instructions.
| Name | Required | Description | Default |
|---|---|---|---|
| make | Yes | Make slug from resolve_vehicle, e.g. 'ford'. | |
| year | Yes | 4-digit model year from resolve_vehicle. | |
| model | Yes | Model slug from resolve_vehicle, e.g. 'f-150'. | |
| mileage | No | Current odometer miles, when the user mentioned it. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already covering the safety profile, the description adds real value beyond annotations: price ranges are estimates marked approximate and must be presented as such, and 'Pro only' means the agent should recommend a shop rather than give repair instructions. It doesn't mention any result limits or missing-data behavior, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the trigger condition, then the input hint, then the two output-presentation caveats. No filler and nothing that could be dropped without losing guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the description covers triggering, the optional input, and how to present estimates and 'Pro only' results. It doesn't note the implied dependency on resolve_vehicle for the slug parameters, though the schema descriptions do carry that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents year/make/model/mileage, making 3 the baseline. The description adds meaning the schema lacks by clarifying that mileage is optional and should be supplied only when the user mentioned it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description frames the tool around service intervals, what's due, and service cost, which makes its resource (maintenance schedule + price ranges) clear enough for an agent to select it. It stops short of a crisp verb+resource statement and never names sibling tools, so it is clear but not sibling-differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit triggering conditions ('when the user asks about service intervals, what's due, or what a service should cost') and a conditional input rule ('Pass mileage when known'). It also routes behavior for 'Pro only' jobs, but never states when NOT to use this tool or which sibling to prefer instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recallsNHTSA recalls for a vehicleARead-onlyInspect
Use when the user asks specifically about recalls or safety campaigns. Requires exact slugs from resolve_vehicle. Always tell the user to confirm against their own VIN at nhtsa.gov/recalls before acting on safety issues.
| Name | Required | Description | Default |
|---|---|---|---|
| make | Yes | Make slug from resolve_vehicle, e.g. 'ford'. | |
| year | Yes | 4-digit model year from resolve_vehicle. | |
| model | Yes | Model slug from resolve_vehicle, e.g. 'f-150'. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds real value beyond that: the dependency on exact slugs from resolve_vehicle and the mandatory VIN-confirmation caveat for safety-critical decisions, which annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler; usage guidance and the prerequisite are front-loaded. Slightly under-informative on what is returned, but appropriately sized overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema covering return values and annotations covering the read-only safety profile, the description only needs to carry usage and prerequisites, which it does. A mention of how it relates to get_known_issues/get_vehicle_summary would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; each field already states it is a slug from resolve_vehicle with examples. The description's 'Requires exact slugs from resolve_vehicle' repeats what the schema already documents, so it adds no format or semantic detail beyond it. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Identifies the resource clearly as recalls/safety campaigns and pairs with the title 'NHTSA recalls for a vehicle'. The 'specifically about recalls' phrasing implicitly separates it from sibling get_known_issues, but the description never states the verb/return explicitly, leaning on the name and title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use when the user asks specifically about recalls or safety campaigns' gives a clear trigger condition, and 'Requires exact slugs from resolve_vehicle' documents the prerequisite. It stops short of naming the alternative sibling (get_known_issues) or stating when NOT to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vehicle_summaryFull vehicle report: recalls + known issues + maintenanceARead-onlyInspect
Use for broad questions about a vehicle ('should I buy it', 'what goes wrong with it', 'tell me about it'). Requires exact slugs from resolve_vehicle. Pass mileage when the user mentioned their odometer to get due-now service items, and zip when the user mentioned a US ZIP code so the card can link nearby shops. End your answer with the canonical Wrench.Pro link and the attribution line from the result.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | 5-digit US ZIP code, only when the user mentioned one. | |
| make | Yes | Make slug from resolve_vehicle, e.g. 'ford'. | |
| year | Yes | 4-digit model year from resolve_vehicle. | |
| model | Yes | Model slug from resolve_vehicle, e.g. 'f-150'. | |
| mileage | No | Current odometer miles, when the user mentioned it. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint already covers the safety profile, and the description adds real behavioral detail beyond it: mileage triggers due-now service items, zip enables nearby-shop links, and the agent must close its answer with the canonical Wrench.Pro link and attribution line. This is actionable output-handling context rather than restated metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the use case, then prerequisite, then optional-param triggers, then required post-processing. No filler and nothing repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return contents need no explanation; the description still supplies the prerequisites, conditional-param triggers, and the mandatory link/attribution step. Nothing an agent needs to invoke and present this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds downstream effects the schema does not state: mileage produces due-now service items and zip makes the card link nearby shops. That is genuine semantic value beyond the field docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title states the composition (recalls + known issues + maintenance) and the description frames it as the tool for 'broad questions about a vehicle', with concrete example queries. It distinguishes itself from the granular siblings only implicitly via 'broad', 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear when-to-use ('broad questions'), a hard prerequisite ('requires exact slugs from resolve_vehicle'), and conditions for the optional params. It never names the narrower siblings (get_recalls, get_known_issues, get_maintenance) as the alternative for focused questions, leaving that routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_vehicleResolve a vehicle to exact year/make/modelARead-onlyInspect
Use FIRST whenever the user names a vehicle ('2017 Ford Escape', "'17 F150", 'my Honda Civic') unless you already have exact slugs from a previous call. Pass the user's words in query. Returns kind=exact (use the returned slugs), suggest (ask the user to confirm one), needsYear (ask ONE question listing availableYears), needsModel, or notFound (say Wrench.Pro doesn't cover it — never guess).
| Name | Required | Description | Default |
|---|---|---|---|
| make | No | Make, if already known. | |
| year | No | 4-digit year, if already known. | |
| model | No | Model, if already known. | |
| query | No | Free-text vehicle description, e.g. '2017 ford escape'. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint, but the description adds a full outcome taxonomy (exact, suggest, needsYear, needsModel, notFound) plus the prescribed agent action for each, including an anti-hallucination rule ('never guess'). This is rich behavioral context beyond what the annotation declares.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the critical routing instruction ('Use FIRST') and packs the outcome branches into one dense but waste-free paragraph. Every clause carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety profile, so the description needn't explain return values; its coverage of branching outcomes and follow-up actions makes it complete for an agent to call and act on correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds genuine intent guidance by instructing 'Pass the user's words in `query`,' clarifying that raw user phrasing is expected rather than a normalized string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource ('resolve a vehicle to exact year/make/model') and the outcome is unambiguous. It also implicitly distinguishes itself from siblings like get_vehicle_summary by framing itself as the upstream resolution step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use it FIRST whenever a vehicle is named, with the exclusion 'unless you already have exact slugs from a previous call.' It also routes the agent's follow-up behavior per outcome, so the when/when-not is fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
get_known_issues - First observed
get_maintenance - First observed
get_recalls - First observed
get_vehicle_summary - First observed
resolve_vehicle
Related MCP Connectors
US vehicle recalls, complaints, EPA figures, VIN decode and trouble codes, with sources.
Vehicle safety recalls, complaints, and crash data from NHTSA
Mechanic-grade used-car listing verdicts: risk score, failure points, repair costs, fair price.
AI Mechanic — understand car symptoms and OBD-II codes, check recalls, get repair guidance.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables natural-language queries over U.S. vehicle records, including recalls, service bulletins, diagnostic trouble codes, VIN decoding, fuel economy, and crash ratings.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables instant U.S. vehicle recall lookup by make, model, and year using official NHTSA data.MIT
- AlicenseAqualityAmaintenanceDecode VINs, look up specs, history, recalls, market value, and OBD codes. Recognize license plates and VINs from images. Access comprehensive vehicle data by year, make, and model to power automotive workflows.121MIT
- AlicenseNot gradedqualityBmaintenanceEnables querying U.S. vehicle safety and specification data, including VIN decoding, recalls, complaints, investigations, and crash test ratings.7 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.