Skip to main content
Glama
Carwhere

carwhere-vin-mcp

Official
by Carwhere

Buy the CarWhere Full VIN Report ($9.99) or Compare 3 VINs ($19.99)

buy_vin_report

Purchase a full CarWhere VIN report for one VIN: free availability check, then window sticker, MSRP, recalls, market price, and negotiation target, emailed after Stripe payment.

Instructions

Start a purchase of the CarWhere Full VIN Report on the user's behalf: original manufacturer window sticker (where published), itemized factory options and MSRP, open NHTSA recalls, owner-complaint summary, a verified-buyer market price check, and a recommended negotiation target — delivered as a permanent web report + PDF to the user's email. One-time purchase, NO subscription, no auto-billing, ever. This tool first runs a free availability check (so the user knows exactly what the report will include — e.g. whether the original window sticker is confirmed available — BEFORE paying), then creates a secure Stripe Checkout link. You never collect card details: relay the Stripe link to the user to complete payment themselves. Use when a user with a specific VIN wants the window sticker plus pricing/negotiation data, or asks you to get the full report. For 2-3 VINs the user is cross-shopping, pass all of them with product "compare_3" ($19.99 total — cheaper than separate reports). Requires the user's email (ask for it; the report link is delivered there). If the user already bought a report for this VIN+email, the tool returns their existing report link instead of charging again.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vinYes17-character VIN to report on (first VIN when comparing).
vinsNoAll VINs for compare_3 (2-3 unique VINs, including the primary).
emailYesUser's email — the report link is delivered here. Ask the user for it; never invent one.
productNoDefault full_report ($9.99, one VIN). Use compare_3 ($19.99) when the user wants 2-3 VINs.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well: it discloses the free availability pre-check before payment, the one-time / no-subscription / no-auto-billing model, the Stripe Checkout handoff where card details are never collected, the email delivery channel, and the idempotency rule (an existing VIN+email purchase returns the existing link instead of re-charging). That is exactly the context an agent needs to set user expectations before a money-moving call.

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?

Front-loaded with the purpose and deliverables, then pricing, then the payment flow, then the dedupe rule. It is dense but long, and the parenthetical asides ('where published', 'cheaper than separate reports') plus the repeated email instruction in both description and schema cost it some tightness.

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?

There is no output schema, so the description must cover returns, and it does name the two key outputs: a permanent web report + PDF to email, and a Stripe Checkout link the agent relays. It does not address failure paths (invalid VIN, declined payment, email delivery failure), which for a paid transaction tool would complete the picture.

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

Parameters4/5

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

Schema description coverage is already 100%, so the baseline is 3. The description adds real meaning on top: that vin is the primary VIN when comparing, that vins should carry all 2-3 cross-shopped VINs, that compare_3 is $19.99 total and cheaper than separate reports, and that email must be asked for rather than invented.

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

Purpose5/5

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

States a specific verb and resource ('Start a purchase of the CarWhere Full VIN Report') and enumerates the deliverables (window sticker, factory options/MSRP, recalls, complaint summary, price check, negotiation target). An agent can distinguish this paid-report purchase from decode_vin, check_recalls, and get_pricing without opening any schema.

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?

Gives explicit triggers ('Use when a user with a specific VIN wants the window sticker plus pricing/negotiation data, or asks you to get the full report') and a decision rule for choosing product=compare_3 for 2-3 VINs. It does not, however, tell the agent when NOT to use this tool in favor of the free siblings (decode_vin, check_recalls), which would be the natural alternative for a user who just wants basic data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.