Private car sales in Europe: search listings, price estimate from VIN, portals, contracts.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a car-for-sale listing for a PRIVATE seller on AutoPrivado, only on behalf of and with the consent of the car's owner. Decodes the VIN (NHTSA vPIC) or Dutch plate (RDW), gives a rule-based price estimate, writes the listing in EN/DE/IT/ES/FR/NL/PL and a missing-info checklist. The listing page goes live on autoprivado.com; returns its URL and a secret edit URL (give the edit URL only to the seller). AutoPrivado never posts to portals: the seller publishes on each portal himself with the posting kit (kitUrl). Limited per client and per day (free service).
Mileage in km
Country where the car is sold
17-character VIN
Seller's own words (kept in the original language)
Dutch licence plate (NL only, RDW lookup)
Asking price: EUR, or PLN (złoty) when country is PL. No conversion.
Optional: also sell in these other markets. Posting kits are written in each market's language and the car appears in searches there.
Public contact shown on the listing (optional; it is public)
Show VIN/plate publicly (seller consent)
Overrides: make, model, year, fuel, powerKw, body …
Optional second price for markets in the other currency (PLN for PL when the seller uses EUR, EUR when the seller is in PL). Never converted; without it those kits show no price.
Approximate list price when new (EUR), improves the estimate for VINs
YYYY-MM-DD
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http autoprivado https://autoprivado.com/mcp
Create a car-for-sale listing for a PRIVATE seller on AutoPrivado, only on behalf of and with the consent of the car's owner. Decodes the VIN (NHTSA vPIC) or Dutch plate (RDW), gives a rule-based price estimate, writes the listing in EN/DE/IT/ES/FR/NL/PL and a missing-info checklist. The listing page goes live on autoprivado.com; returns its URL and a secret edit URL (give the edit URL only to the seller). AutoPrivado never posts to portals: the seller publishes on each portal himself with the posting kit (kitUrl). Limited per client and per day (free service).
| Argument | Type | Description |
|---|---|---|
| km* | integer | Mileage in km |
| vin | string | 17-character VIN |
| city | string | |
| notes | string | Seller's own words (kept in the original language) |
| plate | string | Dutch licence plate (NL only, RDW lookup) |
| price | integer | Asking price: EUR, or PLN (złoty) when country is PL. No conversion. |
| alsoIn | array | Optional: also sell in these other markets. Posting kits are written in each market's language and the car appears in searches there. |
| colour | string | |
| owners | integer | |
| contact | string | Public contact shown on the listing (optional; it is public) |
| country* | string | Country where the car is sold |
| gearbox | string | |
| showVin | boolean | Show VIN/plate publicly (seller consent) |
| vehicle | object | Overrides: make, model, year, fuel, powerKw, body … |
| altPrice | integer | Optional second price for markets in the other currency (PLN for PL when the seller uses EUR, EUR when the seller is in PL). Never converted; without it those kits show no price. |
| newPrice | integer | Approximate list price when new (EUR), improves the estimate for VINs |
| condition | string | |
| negotiable | boolean | |
| accidentFree | boolean | |
| serviceHistory | boolean | |
| inspectionUntil | string | YYYY-MM-DD |
{
"type": "object",
"required": [
"country",
"km"
],
"properties": {
"km": {
"type": "integer",
"description": "Mileage in km"
},
"vin": {
"type": "string",
"description": "17-character VIN"
},
"city": {
"type": "string"
},
"notes": {
"type": "string",
"description": "Seller's own words (kept in the original language)"
},
"plate": {
"type": "string",
"description": "Dutch licence plate (NL only, RDW lookup)"
},
"price": {
"type": "integer",
"description": "Asking price: EUR, or PLN (złoty) when country is PL. No conversion."
},
"alsoIn": {
"type": "array",
"items": {
"enum": [
"DE",
"FR",
"ES",
"IT",
"PL",
"NL"
],
"type": "string"
},
"description": "Optional: also sell in these other markets. Posting kits are written in each market's language and the car appears in searches there."
},
"colour": {
"type": "string"
},
"owners": {
"type": "integer"
},
"contact": {
"type": "string",
"description": "Public contact shown on the listing (optional; it is public)"
},
"country": {
"enum": [
"DE",
"FR",
"ES",
"IT",
"PL",
"NL"
],
"type": "string",
"description": "Country where the car is sold"
},
"gearbox": {
"enum": [
"manual",
"automatic"
],
"type": "string"
},
"showVin": {
"type": "boolean",
"description": "Show VIN/plate publicly (seller consent)"
},
"vehicle": {
"type": "object",
"description": "Overrides: make, model, year, fuel, powerKw, body …"
},
"altPrice": {
"type": "integer",
"description": "Optional second price for markets in the other currency (PLN for PL when the seller uses EUR, EUR when the seller is in PL). Never converted; without it those kits show no price."
},
"newPrice": {
"type": "integer",
"description": "Approximate list price when new (EUR), improves the estimate for VINs"
},
"condition": {
"enum": [
"excellent",
"good",
"fair",
"poor"
],
"type": "string"
},
"negotiable": {
"type": "boolean"
},
"accidentFree": {
"type": "boolean"
},
"serviceHistory": {
"type": "boolean"
},
"inspectionUntil": {
"type": "string",
"description": "YYYY-MM-DD"
}
}
}Decode a 17-character VIN (NHTSA vPIC, works best for cars sold in the US and many EU makes) or a Dutch licence plate (RDW open data: make, model, first registration, fuel, power, APK date). Returns the vehicle data AutoPrivado would use. Nothing is stored.
| Argument | Type | Description |
|---|---|---|
| vin | string | |
| plate | string | Dutch plate, e.g. HLZ85B |
| country | string | Plate country (NL only) |
{
"type": "object",
"properties": {
"vin": {
"type": "string"
},
"plate": {
"type": "string",
"description": "Dutch plate, e.g. HLZ85B"
},
"country": {
"enum": [
"NL"
],
"type": "string",
"description": "Plate country (NL only)"
}
}
}Rule-based price range (low/mid/high, EUR) for a used car from its VIN or Dutch plate (or make/model/year), mileage, condition and the approximate price when new. Not a valuation; it explains every step and the typical dealer gap. Polish listings are priced in PLN by the seller; this estimate is always in EUR, never converted. Nothing is stored.
| Argument | Type | Description |
|---|---|---|
| km | integer | |
| vin | string | |
| lang | string | Language of the explanation |
| plate | string | Dutch plate (RDW) |
| vehicle | object | Instead of VIN/plate or as overrides: make, model, year, firstRegistration (YYYY-MM-DD), listPrice |
| newPrice | integer | Approximate price when new in EUR (needed when the decoder has no list price) |
| condition | string |
{
"type": "object",
"properties": {
"km": {
"type": "integer"
},
"vin": {
"type": "string"
},
"lang": {
"enum": [
"en",
"de",
"it",
"es",
"fr",
"nl",
"pl"
],
"type": "string",
"description": "Language of the explanation"
},
"plate": {
"type": "string",
"description": "Dutch plate (RDW)"
},
"vehicle": {
"type": "object",
"description": "Instead of VIN/plate or as overrides: make, model, year, firstRegistration (YYYY-MM-DD), listPrice"
},
"newPrice": {
"type": "integer",
"description": "Approximate price when new in EUR (needed when the decoder has no list price)"
},
"condition": {
"enum": [
"excellent",
"good",
"fair",
"poor"
],
"type": "string"
}
}
}Get one AutoPrivado listing by id: vehicle data, price and currency, texts in 7 languages, photo URLs, page URL per language, missing-info checklist. Expired or deleted listings return not_found.
| Argument | Type | Description |
|---|---|---|
| id* | string | Listing id, e.g. from search_listings or a URL https://autoprivado.com/l/<id> |
| lang | string | Optional: language of the returned page URL |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Listing id, e.g. from search_listings or a URL https://autoprivado.com/l/<id>"
},
"lang": {
"enum": [
"en",
"de",
"it",
"es",
"fr",
"nl",
"pl"
],
"type": "string",
"description": "Optional: language of the returned page URL"
}
}
}Links and data for closing a private car sale in a country: printable sale-contract template (prefilled when a listing id is given), the change-of-ownership checklist with deadlines (computed from the sale date), documents to hand over, costs and official sources.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the checklist texts (default en) |
| country* | string | |
| saleDate | string | YYYY-MM-DD, to compute deadlines |
| listingId | string | Optional: prefill the contract with this listing |
{
"type": "object",
"required": [
"country"
],
"properties": {
"lang": {
"enum": [
"en",
"de",
"it",
"es",
"fr",
"nl",
"pl"
],
"type": "string",
"description": "Language of the checklist texts (default en)"
},
"country": {
"enum": [
"DE",
"FR",
"ES",
"IT",
"PL",
"NL"
],
"type": "string"
},
"saleDate": {
"type": "string",
"description": "YYYY-MM-DD, to compute deadlines"
},
"listingId": {
"type": "string",
"description": "Optional: prefill the contract with this listing"
}
}
}The car portals AutoPrivado prepares posting kits for, per country (IT, ES, DE, FR, NL, PL): recommended and optional portal, home page, the portal's own listing form, private-seller fee with its source, optional payment service, and whether a seller from abroad can use it.
| Argument | Type | Description |
|---|---|---|
| country | string | Optional: only this country |
{
"type": "object",
"properties": {
"country": {
"enum": [
"DE",
"FR",
"ES",
"IT",
"PL",
"NL"
],
"type": "string",
"description": "Optional: only this country"
}
}
}Search active private-seller car listings on AutoPrivado. Filters: free text (make/model), make, model, market country, price range with currency, max km, min year, fuel. A country search also returns cars cross-listed into that market (crossListed, marketPrice, marketCurrency); price filters use that market's currency (PLN in PL, EUR elsewhere). Results may be up to a minute old.
| Argument | Type | Description |
|---|---|---|
| q | string | Make or model text |
| fuel | string | |
| make | string | |
| limit | integer | |
| maxKm | integer | |
| model | string | |
| country | string | Market (country of sale) |
| minYear | integer | |
| currency | string | Only listings priced in this currency (in the searched market) |
| maxPrice |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 31, 2026.
| integer |
| minPrice | integer |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Make or model text"
},
"fuel": {
"enum": [
"petrol",
"diesel",
"electric",
"lpg",
"cng",
"hydrogen",
"other"
],
"type": "string"
},
"make": {
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"maxKm": {
"type": "integer"
},
"model": {
"type": "string"
},
"country": {
"enum": [
"DE",
"FR",
"ES",
"IT",
"PL",
"NL"
],
"type": "string",
"description": "Market (country of sale)"
},
"minYear": {
"type": "integer"
},
"currency": {
"enum": [
"EUR",
"PLN"
],
"type": "string",
"description": "Only listings priced in this currency (in the searched market)"
},
"maxPrice": {
"type": "integer"
},
"minPrice": {
"type": "integer"
}
}
}