carsales-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CARS_PROXY | No | Residential proxy, or a comma-separated list rotated per request. The most reliable fix for DataDome blocks. | |
| CARS_ENGINE | No | Reserved. Only Camoufox is used; custom builds go in CARS_CAMOUFOX_BINARY. | |
| CARS_DISPLAY | No | An X display such as :99 to run the browser offscreen (invisible). The launcher sets this for you. | |
| CARS_HUMANIZE | No | 1 (default) for human-like traversal, 0 to disable. | 1 |
| CARAPIS_API_KEY | No | Use the Carapis carsales API for search instead of scraping (falls back to the browser). | |
| CARS_PREFS_FILE | No | Path to the preferences state file. | |
| CARS_SAVED_FILE | No | Path to the saved cars state file. | |
| CARS_WATCH_FILE | No | Path to the watches state file. | |
| CARS_COOKIE_FILE | No | Path to the cookie state file. | |
| CARS_OFFERS_FILE | No | Path to the sent offers state file. | |
| CARS_WATCH_WEBHOOK | No | Push price drops, sold cars and new matches to ntfy, Discord or Slack. | |
| CARS_CAMOUFOX_BINARY | No | Custom Camoufox binary path. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_carsA | Search carsales.com.au for used and new cars. Supports make/model, state, body style, transmission, fuel type, condition, badge, and keyword. Price, year and odometer are filtered in-memory from the listing cards. Returns matching listings with price, year, odometer, location and a link. |
| get_listing_detailsA | Get full details for a single carsales.com.au listing using its listing id (e.g. OAG-AD-26099426) or the full listing URL. Falls back to the summary card data (price, year, odometer, location, etc.) when the full detail page is blocked by anti-bot protection. |
| set_authA | Import a carsales.com.au login session by pasting cookies exported from your own browser (so the server can save vehicles, make offers, and contact sellers). Pass the cookies array from DevTools > Application > Cookies (or a cookie export extension). Stored at: /root/.carsales-mcp/cookies.json. |
| auth_statusA | Check whether the current session is logged in to carsales.com.au (i.e. whether authenticated actions like save_vehicle / make_offer will work). |
| save_vehicleA | Save/watchlist a carsales listing to YOUR account (requires an authenticated session via set_auth). Best-effort: clicks the Save/Watchlist control on the listing page. Requires confirm: true (human-in-the-loop) before any account action is taken. |
| make_offerA | Contact the seller / make an offer on a carsales listing (requires an authenticated session via set_auth). Best-effort: opens the contact/enquire form and submits your message. HIGH-RISK: contacts a real person and may involve money. Requires confirm: true (human-in-the-loop) - the first call returns a warning and does nothing. |
| search_facebook_carsA | Search Facebook Marketplace for cars (native, hardened through the same browser/proxy engine as carsales). Returns listings with price, title, location, seller and a photo. Best-effort: depends on Facebook not blocking the request from your IP. |
| search_all_carsA | Search BOTH carsales.com.au and Facebook Marketplace for cars at once and return combined, de-duplicated-where-possible results tagged by source, with good-deal flags. Use this as the one-shot "find me a car" tool. |
| search_gumtree_carsC | Search Gumtree.com.au for cars (native, FOSS - no paid API). Returns listings with price, title, location and a link. Best-effort: depends on Gumtree not blocking the request from your IP. |
| price_insightB | Free, FOSS valuation. Derives a fair-price band (median + 25th/75th percentile) from free comparable carsales listings for the same make/model/year - no paid RedBook/CarHistory. Optionally judges a specific target price. |
| compare_listingsA | Side-by-side comparison of 2–3 listings (by listingId or url). Pulls full details for each and renders a comparison table so the model can surface differences. |
| export_csvA | Export a carsales search to CSV (free, no external service) so results can be opened in a spreadsheet. Returns the CSV as a text block. |
| watch_searchA | Save a search to watch for NEW listings (FOSS alerts - no paid service). Re-run check_watch later to see what appeared since the last check. Sources: carsales (default), gumtree, facebook. |
| watch_listingA | Watch a SINGLE listing for a PRICE DROP (FOSS alerts - no paid service). Re-run check_watch later to see if the price changed (especially a drop). Works for carsales, Facebook and Gumtree listing URLs. |
| list_watchesA | List all saved watches (search watches and listing price-drop watches). |
| check_watchA | Re-run a saved watch and report what changed. For search watches: NEW listings since the last check. For listing watches: a PRICE DROP (or any price change). Pure local diff over free search results - no paid alert service. |
| remove_watchB | Delete a saved watch (search or listing) by name. |
| check_vehicleA | Free vehicle trust check (FOSS, NO paid PPSR). Points at the official state-transport registration check (registration validity + written-off status) and attempts a best-effort automated lookup. Encumbrance (finance owed) is ONLY on paid PPSR and is intentionally out of scope. The manual URL is always returned for independent human verification. |
| dealer_infoA | Look up a seller/dealer reputation. For carsales dealer pages this scrapes the star rating + review count (best-effort). Facebook and Gumtree are mostly PRIVATE sellers with no dealer rating - for those it just confirms the seller type. Use before contacting anyone. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Every tool has a clearly distinct purpose: search tools are separated by source (carsales, Facebook, Gumtree, all), watch tools distinguish between watching a search vs. a single listing, and auth/actions are separate. The only potential overlap is search_all_cars vs. individual searches, but it's explicitly a combined one-shot tool and not ambiguous.
Most tools follow a verb_noun pattern (search_cars, get_listing_details, save_vehicle, watch_listing, check_watch, etc.), but a few use noun_noun forms (auth_status, price_insight, dealer_info). These deviations are minor and the verbs are consistently lowercase with underscores, so the pattern is mostly predictable.
With 19 tools, the set is slightly above the ideal 3-15 range but still well-scoped for a car sales assistant that handles search, details, comparisons, watches, authentication, and vehicle checks. No tool feels redundant, and the count is justifiable given the domain's breadth.
The tool surface covers the full lifecycle of a car-buying workflow: search across platforms, view details, compare listings, get price insights, save vehicles, make offers, watch listings/searches for changes, and check vehicle history and dealer reputation. No obvious gaps; even the missing 'list saved vehicles' is handled externally via the account, and watch management is fully covered (create, list, check, remove).