BuyerAware
Mechanic-grade used-car listing verdicts: risk score, failure points, repair costs, fair price.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"buyeraware": {
"url": "https://api.buyerawareapp.com/mcp"
}
}
}Remote endpoints
https://api.buyerawareapp.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟡create_trial_key(email, name)
Create a BuyerAware API key so this user can run verdicts (3 free). Call this once when no key is configured, then show the user the key and tell them to save it. Do not call it again for someone who already has a key — one trial per email address.
Input Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "the user's email address; the key is issued against it, one trial key per address"
},
"name": {
"type": "string",
"description": "optional display name for the key record"
}
},
"required": [
"email"
]
}🟢analyze_listing(listing_url, listing_text, vin, location, buyer_context)
Start a BuyerAware pre-purchase verdict on ONE used vehicle. Runs a mechanic-grade read: ranked failure points with $ exposure, recalls, seller-claim fact-check, fair price range, adjusted true cost, risk score 1-10, BUY / BUY_WITH_CONDITIONS / WALK_AWAY, a word-for-word negotiation script, and lower-risk 'Tank' alternatives. Supply whichever of listing_url, listing_text or vin you have — at least one is required, and more context sharpens the verdict. Takes ~1-2 minutes: returns a job_id, then poll get_verdict. Costs 1 credit. For 'what should I buy instead' use tank_alternatives, which is free.
Input Schema
{
"type": "object",
"properties": {
"listing_url": {
"type": "string",
"description": "link to the listing — Marketplace, Craigslist, AutoTrader, a dealer page"
},
"listing_text": {
"type": "string",
"description": "the listing copy pasted as-is, when there is no shareable URL"
},
"vin": {
"type": "string",
"description": "17-character VIN, if the listing shows one"
},
"location": {
"type": "string",
"description": "buyer city/state, for pricing and inspection context"
},
"buyer_context": {
"type": "string",
"description": "what the buyer needs it for, budget, and any specific concerns"
}
}
}🟢get_verdict(job_id)
Fetch the result of an analyze_listing job. If status is 'queued' or 'running', wait ~15 seconds and call again. Free — polling never costs a credit.
Input Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "the job_id returned by analyze_listing"
}
},
"required": [
"job_id"
]
}🟢tank_alternatives(budget, mileage, category, max_risk, limit)
FREE, no API key needed, answers instantly. Recommend 2-3 lower-risk used vehicles ('Tanks') from BuyerAware's curated 47-platform database that land near a budget. Use when a buyer asks what to buy instead, or what is reliable for $X. Use analyze_listing instead when they have a specific car in mind.
Input Schema
{
"type": "object",
"properties": {
"budget": {
"type": "number",
"description": "target purchase price in USD"
},
"mileage": {
"type": "number",
"description": "mileage to price at; default 100000"
},
"category": {
"type": "string",
"description": "sedan, hatchback, small suv, medium suv, large suv, midsize truck, full-size truck, diesel truck, minivan, wagon, hybrid, phev, ev, luxury"
},
"max_risk": {
"type": "number",
"description": "risk ceiling 1-10; default 5"
},
"limit": {
"type": "number",
"description": "how many to return; default 3"
}
},
"required": [
"budget"
]
}🟢tank_lookup(query, mileage)
FREE, no API key needed, answers instantly. Look up one platform in BuyerAware's curated database: risk score, verdict, the one known trap, private-party value at a mileage, 5-year operating cost. Covers 47 US-market platforms; anything outside it returns no match, which is itself a signal — follow up with analyze_listing.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "platform name, e.g. '4Runner', 'Camry V6', 'CR-V', 'Tundra 5.7'"
},
"mileage": {
"type": "number",
"description": "mileage to value at; default 100000"
}
},
"required": [
"query"
]
}Community
Evidence