accueil / serveurs / Recherche & Web / eu.voxs/voxcars-pt
eu.voxs/voxcars-pt
serveur MCP (Model Context Protocol) · voxcars-pt 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que eu.voxs/voxcars-pt est sûr ?
Au dernier audit MCP Hub, le serveur MCP « eu.voxs/voxcars-pt » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 6 outils
- find_similar_cars≈ 1111 tokens
Given one listing, find comparable ones: same make, similar year, mileage and price band. Use this when the user likes a car but wants alternatives — 'find me something similar', 'the same but cheaper', 'what else is around this price'. Pass `maxPrice` for the cheaper case; without it, comparables are drawn from a band around the reference price. Comparability is by structure (make/model/year/km/price), not by text similarity: it answers 'is this well priced for what it is', which a keyword search cannot.
Paramètres, retour & exemple (3)
Paramètresslug· string · requis
Slug of the reference listing, as returned by search_cars or get_car_detail.limit· number · optionnel
Maximum number of comparables (default 6, max 20).maxPrice· number · optionnel
Optional budget ceiling, in EUR. Use it for 'similar but cheaper'; it overrides the default band around the reference price.
Exemple d'appel{"name": "find_similar_cars", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cars": [], "total": 1, "market": "texte", "currency": "texte", "reference": {}}} - get_car_detail≈ 634 tokens
Get the complete record of one used-car listing in Portugal by its slug. Use this after search_cars when the user asks about a specific car: full description, features, photos, seller, and the original source URL to cite.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Unique listing slug, as returned by search_cars.
Exemple d'appel{"name": "get_car_detail", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"km": 1, "url": "texte", "body": "texte", "fuel": "texte", "make": "texte", "slug": "texte", "year": 1, "color": "texte", "doors": 1, "model": "texte", "price": 1, "seats": 1}} - get_price_stats≈ 1043 tokens
Get price statistics for a slice of the Portugal used-car market: how many listings match, the median price, the p25–p75 range, the median price per kilometre and a breakdown by body type. Use this when the user asks what something costs, whether an asking price is fair, or how two makes compare — instead of listing individual cars. Takes the same filters as search_cars and describes exactly the set that tool would return, so the two never disagree. Reports medians and quartiles rather than averages, because car prices have a long right tail and a single luxury listing moves an average.
Paramètres, retour & exemple (11)
Paramètresfuel· string · optionnel · GASOLINE | DIESEL | ELECTRIC | HYBRID | PLUG_IN_HYBRID | LPG
Fuel type. GASOLINE = gasolina, ELECTRIC = eléctrico, HYBRID = full hybrid, PLUG_IN_HYBRID = PHEV.make· string · optionnel
Make slug (e.g. toyota, bmw, volkswagen). Not free text — the slug is the same in every market.kmMax· number · optionnel
Maximum kilometres on the odometer.model· string · optionnel
Model slug (e.g. corolla, serie-3, golf). Requires `make` to disambiguate.yearMax· number · optionnel
Maximum registration year.yearMin· number · optionnel
Minimum registration year.bodyType· string · optionnel · SUV | SEDAN | HATCHBACK | COMBI | COUPE | CABRIO | MINIVAN | PICKUP
Body style. SEDAN = berlina, HATCHBACK = citadino, COMBI = carrinha, CABRIO = descapotável, MINIVAN = monovolume.district· string · optionnel
District or region inside the market (e.g. Lisboa, Porto, Berlin, Madrid). Matched exactly.priceMax· number · optionnel
Maximum price in the market currency. Listings with no published price are excluded by either bound.priceMin· number · optionnel
Minimum price in the market currency.condition· string · optionnel · new | used | semi_new
Vehicle condition. new = 0 km / registered this year; semi_new = <2 years and <20 000 km; used = everything else.
Exemple d'appel{"name": "get_price_stats", "arguments": {"fuel": "GASOLINE", "make": "texte", "kmMax": 1, "model": "texte", "yearMax": 1, "yearMin": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "price": {}, "market": "texte", "priced": 1, "currency": "texte", "byBodyType": [], "pricePerKmMedian": 1}} - search_articles≈ 268 tokens
Search editorial articles about the used-car market in Portugal: buying guides, reviews, comparisons and market analysis. Use this when the user asks how something works — financing, warranty, IUC, IPO/ITV, the buying process — rather than asking for listings.
Paramètres, retour & exemple (2)
Paramètreslimit· number · optionnel
Maximum number of results (default 5, max 10).category· string · optionnel · GUIA | REVIEW | COMPARATIVO | MERCADO | GLOSSARIO | NOTICIA
Article category.
Exemple d'appel{"name": "search_articles", "arguments": {"limit": 1, "category": "GUIA"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"articles": []}} - search_cars≈ 1186 tokens
Search current used-car listings for sale in Portugal. Use this whenever the user wants to find, compare or explore cars — by make, model, budget, mileage, fuel or district. Returns price, mileage, fuel, body and a citable listing URL, plus `total`: the exact number of listings matching the filters, which makes this tool usable to answer 'how many' questions. Listings are aggregated from stands and portals and refreshed daily; each result carries `publishedAt`. Prefer the broadest filters that answer the question and report `total` as a floor, not a census.
Paramètres, retour & exemple (14)
Paramètresfuel· string · optionnel · GASOLINE | DIESEL | ELECTRIC | HYBRID | PLUG_IN_HYBRID | LPG
Fuel type. GASOLINE = gasolina, ELECTRIC = eléctrico, HYBRID = full hybrid, PLUG_IN_HYBRID = PHEV.make· string · optionnel
Make slug (e.g. toyota, bmw, volkswagen). Not free text — the slug is the same in every market.page· number · optionnel
1-based page number. Use with `total` to walk a large result set.sort· string · optionnel · recent | price_asc | price_desc | km_asc | year_desc
Result order. Default `recent` (most recently seen first).kmMax· number · optionnel
Maximum kilometres on the odometer.limit· number · optionnel
Results per page (default 10, max 20).model· string · optionnel
Model slug (e.g. corolla, serie-3, golf). Requires `make` to disambiguate.yearMax· number · optionnel
Maximum registration year.yearMin· number · optionnel
Minimum registration year.bodyType· string · optionnel · SUV | SEDAN | HATCHBACK | COMBI | COUPE | CABRIO | MINIVAN | PICKUP
Body style. SEDAN = berlina, HATCHBACK = citadino, COMBI = carrinha, CABRIO = descapotável, MINIVAN = monovolume.district· string · optionnel
District or region inside the market (e.g. Lisboa, Porto, Berlin, Madrid). Matched exactly.priceMax· number · optionnel
Maximum price in the market currency. Listings with no published price are excluded by either bound.priceMin· number · optionnel
Minimum price in the market currency.condition· string · optionnel · new | used | semi_new
Vehicle condition. new = 0 km / registered this year; semi_new = <2 years and <20 000 km; used = everything else.
Exemple d'appel{"name": "search_cars", "arguments": {"fuel": "GASOLINE", "make": "texte", "page": 1, "sort": "recent", "kmMax": 1, "limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cars": [], "page": 1, "shown": 1, "total": 1, "market": "texte", "hasMore": true, "currency": "texte", "pageSize": 1}} - search_cars_by_description≈ 1026 tokens
Search Portugal listings by describing the car in plain language, matched against listing text by meaning rather than keywords. Use this for wants that are not filter fields — 'a family SUV good in the snow', 'a low-mileage hybrid for the city', 'a used 4x4 to restore'. Prefer search_cars for entirely structural queries (make/model/budget); use this when the request is descriptive. Combine both by passing structural filters here too — they act as hard constraints while the description only ranks. Results are ordered by relevance, so `total` is the number matching the structural filters, not the number that fit the description.
Paramètres, retour & exemple (8)
Paramètresfuel· string · optionnel · GASOLINE | DIESEL | ELECTRIC | HYBRID | PLUG_IN_HYBRID | LPG
Fuel type. GASOLINE = gasolina, ELECTRIC = eléctrico, HYBRID = full hybrid, PLUG_IN_HYBRID = PHEV.make· string · optionnel
Make slug (e.g. toyota, bmw, volkswagen). Not free text — the slug is the same in every market.kmMax· number · optionnel
Maximum kilometres on the odometer.limit· number · optionnel
Maximum number of results (default 10, max 20).yearMin· number · optionnel
Minimum registration year.bodyType· string · optionnel · SUV | SEDAN | HATCHBACK | COMBI | COUPE | CABRIO | MINIVAN | PICKUP
Body style. SEDAN = berlina, HATCHBACK = citadino, COMBI = carrinha, CABRIO = descapotável, MINIVAN = monovolume.priceMax· number · optionnel
Maximum price in the market currency. Listings with no published price are excluded by either bound.description· string · requis
What the user is looking for, in their own words. Full phrases work better than keywords. Pass the qualities here and the hard limits in the other arguments.
Exemple d'appel{"name": "search_cars_by_description", "arguments": {"description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cars": [], "shown": 1, "total": 1, "market": "texte", "currency": "texte"}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».