vipcars
Verified used cars from Uni Rent's rental fleet (Croatia): search, compare and send inquiries.
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": {
"vipcars": {
"url": "https://vip-cars.hr/mcp"
}
}
}Remote endpoints
https://vip-cars.hr/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢search_vehicles(q, make, model, fuel_type, body_type, ...)
Search the VIP Cars used-car inventory (verified ex-fleet cars, prices in EUR). Values for the enum-like filters come from the live inventory (e.g. fuel_type 'dizel'/'benzin', body_type 'limuzina'/'suv'/'karavan', transmission 'manualni'/ 'automatski', color 'crna'/'siva' — Croatian, as stored). power_min/power_max are engine power in kW. sort: newest | price_asc | price_desc | year_desc | mileage_asc. Returns {items, total, page, per_page}; each item has listing_url for the human-readable page.
Input Schema
{
"type": "object",
"properties": {
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Q"
},
"make": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Make"
},
"model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Model"
},
"fuel_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Fuel Type"
},
"body_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Body Type"
},
"transmission_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Transmission Type"
},
"color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Color"
},
"year_min": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Year Min"
},
"year_max": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Year Max"
},
"mileage_min": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Mileage Min"
},
"mileage_max": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Mileage Max"
},
"power_min": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Power Min"
},
"power_max": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Power Max"
},
"price_min": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Price Min"
},
"price_max": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Price Max"
},
"sort": {
"default": "newest",
"title": "Sort",
"type": "string"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"per_page": {
"default": 24,
"title": "Per Page",
"type": "integer"
}
},
"title": "search_vehiclesArguments"
}🟢get_vehicle(vehicle_id)
Full public details of one vehicle: specs, equipment, condition, description, photo URLs and the listing_url. Raises an error if the vehicle is not available.
Input Schema
{
"type": "object",
"properties": {
"vehicle_id": {
"title": "Vehicle Id",
"type": "integer"
}
},
"required": [
"vehicle_id"
],
"title": "get_vehicleArguments"
}⚪compare_vehicles(vehicle_ids)
Compare 2-5 vehicles side by side on key specs (year, mileage, fuel, transmission, power, price...). Unknown/unavailable ids are listed in 'not_found'.
Input Schema
{
"type": "object",
"properties": {
"vehicle_ids": {
"items": {
"type": "integer"
},
"title": "Vehicle Ids",
"type": "array"
}
},
"required": [
"vehicle_ids"
],
"title": "compare_vehiclesArguments"
}🟡send_inquiry(customer_name, customer_phone, customer_email, message, vehicle_id)
Send a purchase inquiry (lead) to the VIP Cars sales team on the customer's behalf. The team calls/e-mails the customer back to arrange a viewing or test drive — there is no online payment. ALWAYS ask the customer for consent before sharing their contact details. vehicle_id is optional (omit for a general inquiry). The response includes a status_token — keep it; it is the ONLY key to later check the inquiry's processing status via get_inquiry_status. Anti-abuse: at most a few inquiries per contact per day; excess raises an error.
Input Schema
{
"type": "object",
"properties": {
"customer_name": {
"title": "Customer Name",
"type": "string"
},
"customer_phone": {
"title": "Customer Phone",
"type": "string"
},
"customer_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Customer Email"
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Message"
},
"vehicle_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Vehicle Id"
}
},
"required": [
"customer_name",
"customer_phone"
],
"title": "send_inquiryArguments"
}🟡get_inquiry_status(session_token)
Check the processing status of an inquiry previously sent with send_inquiry, using the status_token from its response. The token is issued ONLY to the inquiry's creator — possession proves ownership; there is nothing to guess or enumerate. Returns ONLY the processing status, never any customer data. Status values: novo (received, not yet read), procitano (read by the sales team), odgovoreno (the team has contacted the customer), zatvoreno (closed).
Input Schema
{
"type": "object",
"properties": {
"session_token": {
"title": "Session Token",
"type": "string"
}
},
"required": [
"session_token"
],
"title": "get_inquiry_statusArguments"
}Community
Evidence