# UK Ireland Used Car Import Agent: complete public integration handbook Is it cheaper to import this used car from the UK to Ireland? One call compares live UK, Northern Ireland and Irish listings and returns the landed cost (transport, customs duty, VAT, VRT) against the Irish market price. Also: UK and Irish car search, price checks, market stats, depreciation, county prices, below-market deals and VRT/NOx calculators. Pay per request in USDC via x402. Connect using MCP (streamable HTTP) or the x402 REST API. The /a2a/ URL is a legacy API namespace, not an implementation of the A2A protocol. MCP connectivity alone does not provide a wallet or x402 payment support. This document is passive public documentation, not a live inventory result. Reading it performs no tool, model, wallet, payment or database calls. ## VS Code and Cursor installation Download /integrations/vscode-mcp.json for .vscode\mcp.json (servers), or /integrations/cursor-mcp.json for .cursor\mcp.json (mcpServers). Merge the downloaded server entry into your existing configuration; do not overwrite existing servers. The operator must review the endpoint and explicitly review/trust the server and its tools in the editor. Downloading does not connect, invoke a tool, install anything, grant trust or authorize payment. Generic VS Code and Cursor MCP clients do NOT supply a wallet or x402 payment support. The free car preview works subject to its quota; paid calls return payment terms until a separate, explicitly authorized x402-capable payment client is integrated. Framework paid tools require operator policy, not model consent. Configure spending caps outside model-controlled arguments. Never put credentials in editor config or prompts. These remote HTTP JSON formats are for VS Code and Cursor, not Claude Desktop's local command-based JSON configuration. No local command or bridge is installed. ## Free surfaces and payment boundaries estimate_irish_vrt is free over MCP but paid over REST. get_vehicle_listing_by_id is free over REST but paid over MCP. preview_uk_import_check is free over both with a shared quota; get_service_info is unlimited. All prices and constraints below are generated from the current catalog and OpenAPI. ## REST catalog: prices and complete catalog input constraints [ { "method": "GET", "path": "/api/v1/a2a/arbitrage-feed", "tool": "get_irish_auto_arbitrage_feed", "summary": "Best-value used cars in Ireland right now", "description": "Use when you want a ranked list of Irish used-car listings priced below the median of genuinely comparable cars (same make, model, fuel, transmission, within 1 year and 30,000 km). Each result includes the asking price, the market median, number of comparables and the gross margin. Best for dealers, flippers and buying agents looking for opportunities. Use get_new_deals instead for only recently discovered deals, or get_price_drops for listings where the seller has just reduced the asking price.", "rest_price_usdc": "0.05", "mcp_price_usdc": "0.05", "rest_query_schema": { "properties": { "min_margin_eur": { "type": "number", "description": "Minimum margin in EUR between market median and asking price (after a cost buffer).", "example": 1500.0, "default": 1500.0, "examples": [ 1500.0 ] }, "make": { "type": "string", "description": "Only return this make, e.g. BMW.", "example": "BMW", "default": "BMW", "examples": [ "BMW" ] }, "limit": { "type": "integer", "description": "Maximum results, 1-500.", "minimum": 1, "maximum": 500, "example": 20, "default": 20, "examples": [ 20 ] } }, "required": [] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/new-deals", "tool": "get_new_deals", "summary": "Newly listed below-market cars since a given time", "description": "Use to poll for fresh opportunities: returns deals first seen by us since a timestamp (default: last 24 hours). Call on a schedule with the previous call's time to receive only new deals. Use get_irish_auto_arbitrage_feed instead for the current ranked deal list regardless of first-seen time, or get_price_drops for discount signals.", "rest_price_usdc": "0.02", "mcp_price_usdc": "0.02", "rest_query_schema": { "properties": { "since": { "type": "string", "description": "ISO 8601 timestamp. Defaults to 24 hours ago.", "example": "2026-10-14T08:00:00Z", "default": "2026-10-14T08:00:00Z", "examples": [ "2026-10-14T08:00:00Z" ] }, "min_margin_eur": { "type": "number", "description": "Minimum margin in EUR.", "example": 1500.0, "default": 1500.0, "examples": [ 1500.0 ] }, "make": { "type": "string", "description": "Only this make.", "example": "Volkswagen", "default": "Volkswagen", "examples": [ "Volkswagen" ] }, "limit": { "type": "integer", "description": "Maximum results, 1-500.", "minimum": 1, "maximum": 500, "example": 20, "default": 20, "examples": [ 20 ] } }, "required": [] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/price-drops", "tool": "get_price_drops", "summary": "Irish used cars whose asking price was recently cut", "description": "Use to find motivated sellers: listings whose price dropped within the last N days, with original, previous and current price and the percentage cut. Price history is recorded by us from the first time we see a listing. Use get_irish_auto_arbitrage_feed instead for below-market ranking even when there was no recent price cut.", "rest_price_usdc": "0.02", "mcp_price_usdc": "0.02", "rest_query_schema": { "properties": { "days": { "type": "integer", "description": "Look-back window in days, 1-60.", "minimum": 1, "maximum": 60, "example": 7, "default": 7, "examples": [ 7 ] }, "min_drop_pct": { "type": "number", "description": "Minimum size of the latest cut, in percent.", "example": 3.0, "default": 3.0, "examples": [ 3.0 ] }, "limit": { "type": "integer", "description": "Maximum results, 1-500.", "minimum": 1, "maximum": 500, "example": 20, "default": 20, "examples": [ 20 ] } }, "required": [] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/market-stats", "tool": "market_stats", "summary": "Irish market prices for a make and model", "description": "Use for an overview of one model in the Irish used market: listing count, price range, median, and median price and mileage by model year and by fuel type. Use price_check instead to value one specific car with year, mileage, fuel type and optional transmission.", "rest_price_usdc": "0.01", "mcp_price_usdc": "0.01", "rest_query_schema": { "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "IE", "default": "IE", "examples": [ "IE" ] } }, "required": [ "make", "model" ] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/depreciation", "tool": "depreciation", "summary": "How fast a car model loses value in Ireland", "description": "Use to estimate depreciation: median price by model year with year-on-year change, plus price change per 10,000 km. Needs at least 5 listings; otherwise returns 404 and you are not charged. Use market_stats instead for a simple market overview without depreciation calculations.", "rest_price_usdc": "0.01", "mcp_price_usdc": "0.01", "rest_query_schema": { "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "fuel_type": { "type": "string", "description": "Optional: restrict to one fuel type.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Diesel", "default": "Diesel", "examples": [ "Diesel" ] }, "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "IE", "default": "IE", "examples": [ "IE" ] } }, "required": [ "make", "model" ] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/by-county", "tool": "prices_by_county", "summary": "Used-car prices by Irish county", "description": "Use to see where a model (or make, or all cars) is cheapest or dearest across Irish counties, relative to the national median. Small counties may have few listings. Use market_stats instead when county comparison is not needed.", "rest_price_usdc": "0.01", "mcp_price_usdc": "0.01", "rest_query_schema": { "properties": { "make": { "type": "string", "description": "Optional make filter.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Optional model filter (use with make).", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "IE", "default": "IE", "examples": [ "IE" ] } }, "required": [] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/import-calculator", "tool": "import_calculator", "summary": "UK-to-Ireland car import landed cost and margin", "description": "Use to judge a UK import: converts the GBP price and adds shipping, customs duty, import VAT, VRT, NOx levy and a cost buffer to give the landed cost in EUR. Provide make, model, year and mileage to also get the expected margin against the Irish market median. Duty and VAT default to 0 and must be set by the caller; results are estimates. Use estimate_irish_vrt instead when you only need VRT and NOx for an already Irish-valued vehicle.", "rest_price_usdc": "0.01", "mcp_price_usdc": "0.01", "rest_query_schema": { "properties": { "uk_price_gbp": { "type": "number", "description": "UK asking price in GBP.", "example": 10000.0, "default": 10000.0, "examples": [ 10000.0 ] }, "co2_g_km": { "type": "integer", "description": "WLTP CO2 emissions in g/km (drives the VRT band).", "example": 125, "default": 125, "examples": [ 125 ] }, "fuel_type": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Diesel", "default": "Diesel", "examples": [ "Diesel" ] }, "make": { "type": "string", "description": "Optional; with model, year and mileage_km enables the margin calculation.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Optional.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "year": { "type": "integer", "description": "Optional model year.", "example": 2020, "default": 2020, "examples": [ 2020 ] }, "mileage_km": { "type": "integer", "description": "Optional mileage in km.", "example": 60000, "default": 60000, "examples": [ 60000 ] }, "transmission": { "type": "string", "description": "Optional: Manual or Automatic.", "enum": [ "Manual", "Automatic", "manual", "automatic" ], "example": "Manual", "default": "Manual", "examples": [ "Manual" ] }, "shipping_eur": { "type": "number", "description": "Shipping/transport cost in EUR. Default 600.", "example": 600.0, "default": 600.0, "examples": [ 600.0 ] }, "customs_duty_pct": { "type": "number", "description": "Customs duty percent. Default 0 (GB-built cars may attract ~10%).", "example": 0.0, "default": 0.0, "examples": [ 0.0 ] }, "import_vat_pct": { "type": "number", "description": "Import VAT percent. Default 0; set 23 if it applies.", "example": 0.0, "default": 0.0, "examples": [ 0.0 ] }, "gbp_eur_rate": { "type": "number", "description": "GBP to EUR rate. Defaults to the service rate.", "example": 1.17, "default": 1.17, "examples": [ 1.17 ] }, "nox_mg_km": { "type": "number", "description": "NOx mg/km for the NOx levy. Default 40.", "example": 40.0, "default": 40.0, "examples": [ 40.0 ] }, "other_costs_eur": { "type": "number", "description": "Other costs in EUR. Defaults to the service cost buffer (500).", "example": 500.0, "default": 500.0, "examples": [ 500.0 ] } }, "required": [ "uk_price_gbp", "co2_g_km", "fuel_type" ] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/listing/{source_platform}/{listing_id}", "tool": "analyze_listing", "summary": "Is this specific Irish car listing good value?", "description": "Use to assess one listing you already have an id for. Use get_irish_auto_arbitrage_feed or get_vehicle_listing_by_id first to find a listing_id. Defaults to source_platform='carzone' when omitted. Returns verdict (below/at/above market), percentage vs the comparable median, margin, up to 10 closest comparable listings and the listing's recorded price history.", "rest_price_usdc": "0.01", "mcp_price_usdc": "0.01", "rest_query_schema": { "properties": {}, "required": [] }, "rest_path_schema": { "properties": { "source_platform": { "type": "string", "description": "Optional source platform. Defaults to 'carzone'.", "enum": [ "carzone", "joeduffy", "windsor", "frankkeane", "spirit", "denismahony" ], "example": "carzone", "default": "carzone", "examples": [ "carzone" ] }, "listing_id": { "type": "string", "description": "The listing's id as returned by the other endpoints.", "example": "4577902", "default": "4577902", "examples": [ "4577902" ] } }, "required": [ "source_platform", "listing_id" ] } }, { "method": "GET", "path": "/api/v1/a2a/price-check", "tool": "price_check", "summary": "What is this used car worth in Ireland?", "description": "Use to value a specific car: median, mean, quartiles and range of comparable Irish listings (same make, model, fuel, transmission if given, within 1 year and 30,000 km). Returns 404 (no charge) if there are fewer than 5 comparables. Use market_stats instead for a broad make/model overview, or analyze_listing when you already have a listing_id.", "rest_price_usdc": "0.005", "mcp_price_usdc": "0.005", "rest_query_schema": { "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "year": { "type": "integer", "description": "Model year.", "minimum": 1950, "maximum": 2100, "example": 2020, "default": 2020, "examples": [ 2020 ] }, "mileage_km": { "type": "integer", "description": "Odometer reading in km.", "minimum": 0, "example": 60000, "default": 60000, "examples": [ 60000 ] }, "fuel_type": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Diesel", "default": "Diesel", "examples": [ "Diesel" ] }, "transmission": { "type": "string", "description": "Optional: Manual or Automatic.", "enum": [ "Manual", "Automatic", "manual", "automatic" ], "example": "Manual", "default": "Manual", "examples": [ "Manual" ] }, "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "IE", "default": "IE", "examples": [ "IE" ] } }, "required": [ "make", "model", "year", "mileage_km", "fuel_type" ] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/vrt-estimate", "tool": "estimate_irish_vrt", "summary": "Irish VRT and NOx levy estimate", "description": "Use to estimate Vehicle Registration Tax and the NOx levy for a vehicle registered in Ireland, from its taxable value (OMSP), CO2 emissions and fuel type. Estimate only; verify against Revenue.ie. Use import_calculator instead for a full UK-to-Ireland landed-cost and margin estimate.", "rest_price_usdc": "0.005", "mcp_price_usdc": "0", "rest_query_schema": { "properties": { "price_eur": { "type": "number", "description": "Open market selling price (OMSP) in EUR.", "minimum": 0, "example": 20000.0, "default": 20000.0, "examples": [ 20000.0 ] }, "co2_g_km": { "type": "integer", "description": "WLTP CO2 in g/km.", "minimum": 0, "maximum": 1000, "example": 125, "default": 125, "examples": [ 125 ] }, "fuel_type": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Diesel", "default": "Diesel", "examples": [ "Diesel" ] }, "nox_mg_km": { "type": "number", "description": "NOx in mg/km. Default 40.", "minimum": 0, "example": 40.0, "default": 40.0, "examples": [ 40.0 ] } }, "required": [ "price_eur", "co2_g_km", "fuel_type" ] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/inventory-breakdown", "tool": "get_inventory_breakdown", "summary": "Irish used-car inventory by county and make, with turnover and freshness", "description": "Use for market coverage and supply analysis: active used-car listings, optionally for one county and/or make, with a county and make breakdown, listings added in the last 24 hours, listings removed in the last 7 days, number of sources and when the data was last refreshed. Counts only; no prices. Use get_inventory_summary instead when you only need the one headline active-listing count.", "rest_price_usdc": "0.01", "mcp_price_usdc": "0.01", "rest_query_schema": { "properties": { "county": { "type": "string", "description": "Optional Irish county, e.g. Dublin, Cork, Galway (case-insensitive).", "example": "Dublin", "default": "Dublin", "examples": [ "Dublin" ] }, "make": { "type": "string", "description": "Optional vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "IE", "default": "IE", "examples": [ "IE" ] } }, "required": [] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/inventory-summary", "tool": "get_inventory_summary", "summary": "How many used cars are listed in Ireland", "description": "Returns one number: the count of active used-car listings in Ireland, with a timestamp. No breakdowns and no prices. Use get_inventory_breakdown instead for county, make, turnover and freshness details.", "rest_price_usdc": "0.005", "mcp_price_usdc": "0.005", "rest_query_schema": { "properties": { "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "IE", "default": "IE", "examples": [ "IE" ] } }, "required": [] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/vehicle/{listing_id}", "tool": "get_vehicle_listing_by_id", "summary": "Look up one Irish car listing by id", "description": "Use when you already have a listing id (from another call or a dealer site) and want that single vehicle: make, model, year, price, mileage, status and days on market, how its price compares with the market median, and an indicative VRT breakdown. Returns one row. For ranked below-market deals across all stock use get_irish_auto_arbitrage_feed. Use analyze_listing instead when you want closest comparables and price history.", "rest_price_usdc": "0", "mcp_price_usdc": "0.005", "rest_query_schema": { "properties": { "source_platform": { "type": "string", "description": "Optional source platform. Only needed when the same id exists on more than one source.", "enum": [ "carzone", "joeduffy", "windsor", "frankkeane", "spirit", "denismahony" ], "example": "carzone", "default": "carzone", "examples": [ "carzone" ] } }, "required": [] }, "rest_path_schema": { "properties": { "listing_id": { "type": "string", "description": "The listing id as returned by other tools, e.g. a Carzone ad id or a dealer stock id.", "example": "4577902", "default": "4577902", "examples": [ "4577902" ] } }, "required": [ "listing_id" ] } }, { "method": "GET", "path": "/api/v1/a2a/uk-import-check", "tool": "is_it_cheaper_to_import_car_from_uk_to_ireland", "summary": "Is it cheaper to import this car from the UK or Northern Ireland to Ireland?", "description": "Headline call. Use when someone is deciding whether to buy a used car in the UK or Northern Ireland and import it to Ireland. Compares the median price of comparable live UK and Northern Ireland listings (same make, model, fuel, within 1 year and 30,000 km) with the Irish median, adds transport, customs duty and import VAT (Great Britain), Irish VRT and NOx levy, and returns a verdict (IMPORT, MARGINAL or BUY_IN_IRELAND), the saving in EUR, the landed-cost breakdown per route and the three cheapest matching listings. Returns 404 (no charge) if either market has fewer than 5 comparables. Pass co2_g_km for an accurate VRT figure. Estimate only.", "rest_price_usdc": "0.02", "mcp_price_usdc": "0.02", "rest_query_schema": { "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Volkswagen", "default": "Volkswagen", "examples": [ "Volkswagen" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Golf", "default": "Golf", "examples": [ "Golf" ] }, "year": { "type": "integer", "description": "Model year.", "minimum": 1950, "maximum": 2100, "example": 2023, "default": 2023, "examples": [ 2023 ] }, "mileage_km": { "type": "integer", "description": "Odometer reading in km.", "minimum": 0, "example": 50000, "default": 50000, "examples": [ 50000 ] }, "fuel_type": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Petrol", "default": "Petrol", "examples": [ "Petrol" ] }, "transmission": { "type": "string", "description": "Optional: Manual or Automatic. Omit to include both.", "enum": [ "Manual", "Automatic", "manual", "automatic" ] }, "co2_g_km": { "type": "integer", "description": "WLTP CO2 in g/km for the VRT estimate. Default 130.", "minimum": 0, "maximum": 1000, "example": 125, "default": 125, "examples": [ 125 ] }, "origin": { "type": "string", "description": "GB = Great Britain, NI = Northern Ireland, ANY = compare both (default).", "enum": [ "ANY", "GB", "NI" ], "example": "ANY", "default": "ANY", "examples": [ "ANY" ] }, "shipping_eur": { "type": "number", "description": "Transport cost to Ireland in EUR. Default 650.", "minimum": 0, "example": 650.0, "default": 650.0, "examples": [ 650.0 ] }, "other_costs_eur": { "type": "number", "description": "NCT, registration and fees in EUR. Default 500.", "minimum": 0, "example": 500.0, "default": 500.0, "examples": [ 500.0 ] }, "margin_of_safety_eur": { "type": "number", "description": "Minimum saving to recommend IMPORT rather than MARGINAL. Default 1000.", "minimum": 0, "example": 1000.0, "default": 1000.0, "examples": [ 1000.0 ] }, "ni_vat_pct": { "type": "number", "description": "Irish VAT % to apply to Northern Ireland purchases (0 for private or margin-scheme sales). Default 0.", "minimum": 0, "example": 0.0, "default": 0.0, "examples": [ 0.0 ] } }, "required": [ "make", "model", "year", "mileage_km", "fuel_type" ] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/listings", "tool": "search_car_listings", "summary": "Search used cars for sale in Ireland, the UK and Northern Ireland", "description": "Use to find live used-car listings across Ireland, the UK and Northern Ireland in one query: filter by make, model, year range, maximum price, maximum mileage, fuel type and county, sorted by price, newest or mileage. Each listing has its price in the local currency and in EUR, mileage in km, source and URL. Use uk_import_check instead to decide whether importing is cheaper. Returns 404 (no charge) when nothing matches.", "rest_price_usdc": "0.01", "mcp_price_usdc": "0.01", "rest_query_schema": { "properties": { "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "ALL", "default": "ALL", "examples": [ "ALL" ] }, "make": { "type": "string", "description": "Optional vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Optional vehicle model, case-insensitive.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "year_min": { "type": "integer", "description": "Optional earliest model year.", "minimum": 1950, "maximum": 2100, "example": 2018, "default": 2018, "examples": [ 2018 ] }, "year_max": { "type": "integer", "description": "Optional latest model year.", "minimum": 1950, "maximum": 2100, "example": 2023, "default": 2023, "examples": [ 2023 ] }, "max_price_eur": { "type": "number", "description": "Optional maximum asking price in EUR.", "minimum": 0, "example": 20000.0, "default": 20000.0, "examples": [ 20000.0 ] }, "max_mileage_km": { "type": "integer", "description": "Optional maximum mileage in km.", "minimum": 0, "example": 100000, "default": 100000, "examples": [ 100000 ] }, "fuel_type": { "type": "string", "description": "Optional fuel type.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Diesel", "default": "Diesel", "examples": [ "Diesel" ] }, "county": { "type": "string", "description": "Optional county or area, e.g. Dublin or Antrim (case-insensitive).", "example": "Antrim", "default": "Antrim", "examples": [ "Antrim" ] }, "sort": { "type": "string", "description": "price_asc (default), price_desc, newest or mileage_asc.", "enum": [ "price_asc", "price_desc", "newest", "mileage_asc" ], "example": "price_asc", "default": "price_asc", "examples": [ "price_asc" ] }, "limit": { "type": "integer", "description": "Maximum listings to return (1-100).", "minimum": 1, "maximum": 100, "example": 20, "default": 20, "examples": [ 20 ] } }, "required": [] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/uk/price-check", "tool": "uk_price_check", "summary": "What is this used car worth in the UK or Northern Ireland?", "description": "Use to value a specific car on the UK and Northern Ireland market: median, mean, quartiles and range of comparable live UK listings in EUR (same make, model, fuel, within 1 year and 30,000 km), plus the median in GBP. Returns 404 (no charge) with fewer than 5 comparables. Use price_check for Ireland or uk_import_check for the import decision.", "rest_price_usdc": "0.005", "mcp_price_usdc": "0.005", "rest_query_schema": { "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "year": { "type": "integer", "description": "Model year.", "minimum": 1950, "maximum": 2100, "example": 2020, "default": 2020, "examples": [ 2020 ] }, "mileage_km": { "type": "integer", "description": "Odometer reading in km.", "minimum": 0, "example": 60000, "default": 60000, "examples": [ 60000 ] }, "fuel_type": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Diesel", "default": "Diesel", "examples": [ "Diesel" ] }, "transmission": { "type": "string", "description": "Optional: Manual or Automatic.", "enum": [ "Manual", "Automatic", "manual", "automatic" ], "example": "Manual", "default": "Manual", "examples": [ "Manual" ] } }, "required": [ "make", "model", "year", "mileage_km", "fuel_type" ] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/uk/market-stats", "tool": "uk_market_stats", "summary": "UK and Northern Ireland used-car market for a make and model", "description": "Use for an overview of one make and model on the UK and Northern Ireland market: listing count, price range, median (EUR), medians by model year and fuel type, and how quickly cars sell. Use market_stats for Ireland or uk_import_check to compare the two markets.", "rest_price_usdc": "0.01", "mcp_price_usdc": "0.01", "rest_query_schema": { "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] } }, "required": [ "make", "model" ] }, "rest_path_schema": { "properties": {}, "required": [] } }, { "method": "GET", "path": "/api/v1/a2a/uk-import-preview", "tool": "preview_uk_import_check", "summary": "Try a free UK-to-Ireland import comparison", "description": "Free limited preview of the import decision, Irish market median and landed costs. Uses the same live data and parameters as the paid import check, but excludes individual listings. Quota is shared across REST and MCP and resets at midnight UTC; failed and no-data attempts also count. Use is_it_cheaper_to_import_car_from_uk_to_ireland for matching listings. Estimates only.", "rest_price_usdc": "0", "mcp_price_usdc": "0", "rest_query_schema": { "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Volkswagen", "default": "Volkswagen", "examples": [ "Volkswagen" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Golf", "default": "Golf", "examples": [ "Golf" ] }, "year": { "type": "integer", "description": "Model year.", "minimum": 1950, "maximum": 2100, "example": 2023, "default": 2023, "examples": [ 2023 ] }, "mileage_km": { "type": "integer", "description": "Odometer reading in km.", "minimum": 0, "example": 50000, "default": 50000, "examples": [ 50000 ] }, "fuel_type": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Petrol", "default": "Petrol", "examples": [ "Petrol" ] }, "transmission": { "type": "string", "description": "Optional: Manual or Automatic. Omit to include both.", "enum": [ "Manual", "Automatic", "manual", "automatic" ] }, "co2_g_km": { "type": "integer", "description": "WLTP CO2 in g/km for the VRT estimate. Default 130.", "minimum": 0, "maximum": 1000, "example": 125, "default": 125, "examples": [ 125 ] }, "origin": { "type": "string", "description": "GB = Great Britain, NI = Northern Ireland, ANY = compare both (default).", "enum": [ "ANY", "GB", "NI" ], "example": "ANY", "default": "ANY", "examples": [ "ANY" ] }, "shipping_eur": { "type": "number", "description": "Transport cost to Ireland in EUR. Default 650.", "minimum": 0, "example": 650.0, "default": 650.0, "examples": [ 650.0 ] }, "other_costs_eur": { "type": "number", "description": "NCT, registration and fees in EUR. Default 500.", "minimum": 0, "example": 500.0, "default": 500.0, "examples": [ 500.0 ] }, "margin_of_safety_eur": { "type": "number", "description": "Minimum saving to recommend IMPORT rather than MARGINAL. Default 1000.", "minimum": 0, "example": 1000.0, "default": 1000.0, "examples": [ 1000.0 ] }, "ni_vat_pct": { "type": "number", "description": "Irish VAT % to apply to Northern Ireland purchases (0 for private or margin-scheme sales). Default 0.", "minimum": 0, "example": 0.0, "default": 0.0, "examples": [ 0.0 ] } }, "required": [ "make", "model", "year", "mileage_km", "fuel_type" ] }, "rest_path_schema": { "properties": {}, "required": [] } } ] ## Current MCP tool definitions: inputSchema and outputSchema Output schemas are inferred from illustrative catalog outputs, not live observations. [ { "name": "get_service_info", "title": "About this service", "description": "Describes this service: what data it has, every tool with its price, and how payment works. Free.", "inputSchema": { "type": "object", "properties": {} }, "outputSchema": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "payment": { "type": "object", "properties": {}, "required": [], "additionalProperties": true }, "tools": { "type": "array", "items": {} }, "rest_api": { "type": "object", "properties": {}, "required": [], "additionalProperties": true } }, "required": [ "name", "description", "payment", "tools", "rest_api" ], "additionalProperties": true }, "annotations": { "title": "About this service", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "get_irish_auto_arbitrage_feed", "title": "Best-value used cars in Ireland right now", "description": "Use when you want a ranked list of Irish used-car listings priced below the median of genuinely comparable cars (same make, model, fuel, transmission, within 1 year and 30,000 km). Each result includes the asking price, the market median, number of comparables and the gross margin. Best for dealers, flippers and buying agents looking for opportunities. Use get_new_deals instead for only recently discovered deals, or get_price_drops for listings where the seller has just reduced the asking price. Costs 0.05 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "min_margin_eur": { "type": "number", "description": "Minimum margin in EUR between market median and asking price (after a cost buffer).", "example": 1500.0, "default": 1500.0, "examples": [ 1500.0 ] }, "make": { "type": "string", "description": "Only return this make, e.g. BMW.", "example": "BMW", "default": "BMW", "examples": [ "BMW" ] }, "limit": { "type": "integer", "description": "Maximum results, 1-500.", "minimum": 1, "maximum": 500, "example": 20, "default": 20, "examples": [ 20 ] } }, "required": [] }, "outputSchema": { "type": "object", "properties": { "count": { "type": "integer" }, "listings": { "type": "array", "items": { "type": "object", "properties": { "source_platform": { "type": "string" }, "listing_id": { "type": "string" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "price_eur": { "type": "number" }, "mileage_km": { "type": "integer" }, "fuel_type": { "type": "string" }, "transmission": { "type": "string" }, "county": { "type": "string" }, "market_median_price_eur": { "type": "number" }, "comparable_count": { "type": "integer" }, "gross_margin_eur": { "type": "number" }, "is_arbitrage_deal": { "type": "boolean" } }, "required": [ "source_platform", "listing_id", "make", "model", "year", "price_eur", "mileage_km", "fuel_type", "transmission", "county", "market_median_price_eur", "comparable_count", "gross_margin_eur", "is_arbitrage_deal" ], "additionalProperties": true } } }, "required": [ "count", "listings" ], "additionalProperties": true }, "annotations": { "title": "Best-value used cars in Ireland right now", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "get_new_deals", "title": "Newly listed below-market cars since a given time", "description": "Use to poll for fresh opportunities: returns deals first seen by us since a timestamp (default: last 24 hours). Call on a schedule with the previous call's time to receive only new deals. Use get_irish_auto_arbitrage_feed instead for the current ranked deal list regardless of first-seen time, or get_price_drops for discount signals. Costs 0.02 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "since": { "type": "string", "description": "ISO 8601 timestamp. Defaults to 24 hours ago.", "example": "2026-10-14T08:00:00Z", "default": "2026-10-14T08:00:00Z", "examples": [ "2026-10-14T08:00:00Z" ] }, "min_margin_eur": { "type": "number", "description": "Minimum margin in EUR.", "example": 1500.0, "default": 1500.0, "examples": [ 1500.0 ] }, "make": { "type": "string", "description": "Only this make.", "example": "Volkswagen", "default": "Volkswagen", "examples": [ "Volkswagen" ] }, "limit": { "type": "integer", "description": "Maximum results, 1-500.", "minimum": 1, "maximum": 500, "example": 20, "default": 20, "examples": [ 20 ] } }, "required": [] }, "outputSchema": { "type": "object", "properties": { "since": { "type": "string" }, "count": { "type": "integer" }, "listings": { "type": "array", "items": { "type": "object", "properties": { "source_platform": { "type": "string" }, "listing_id": { "type": "string" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "price_eur": { "type": "number" }, "mileage_km": { "type": "integer" }, "fuel_type": { "type": "string" }, "transmission": { "type": "string" }, "county": { "type": "string" } }, "required": [ "source_platform", "listing_id", "make", "model", "year", "price_eur", "mileage_km", "fuel_type", "transmission", "county" ], "additionalProperties": true } } }, "required": [ "since", "count", "listings" ], "additionalProperties": true }, "annotations": { "title": "Newly listed below-market cars since a given time", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "get_price_drops", "title": "Irish used cars whose asking price was recently cut", "description": "Use to find motivated sellers: listings whose price dropped within the last N days, with original, previous and current price and the percentage cut. Price history is recorded by us from the first time we see a listing. Use get_irish_auto_arbitrage_feed instead for below-market ranking even when there was no recent price cut. Costs 0.02 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "days": { "type": "integer", "description": "Look-back window in days, 1-60.", "minimum": 1, "maximum": 60, "example": 7, "default": 7, "examples": [ 7 ] }, "min_drop_pct": { "type": "number", "description": "Minimum size of the latest cut, in percent.", "example": 3.0, "default": 3.0, "examples": [ 3.0 ] }, "limit": { "type": "integer", "description": "Maximum results, 1-500.", "minimum": 1, "maximum": 500, "example": 20, "default": 20, "examples": [ 20 ] } }, "required": [] }, "outputSchema": { "type": "object", "properties": { "count": { "type": "integer" }, "listings": { "type": "array", "items": { "type": "object", "properties": { "source_platform": { "type": "string" }, "listing_id": { "type": "string" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "price_eur": { "type": "number" }, "mileage_km": { "type": "integer" }, "fuel_type": { "type": "string" }, "transmission": { "type": "string" }, "county": { "type": "string" }, "original_price_eur": { "type": "number" }, "previous_price_eur": { "type": "number" }, "current_price_eur": { "type": "number" }, "drop_eur": { "type": "number" }, "drop_pct": { "type": "number" }, "changed_at": { "type": "string" } }, "required": [ "source_platform", "listing_id", "make", "model", "year", "price_eur", "mileage_km", "fuel_type", "transmission", "county", "original_price_eur", "previous_price_eur", "current_price_eur", "drop_eur", "drop_pct", "changed_at" ], "additionalProperties": true } } }, "required": [ "count", "listings" ], "additionalProperties": true }, "annotations": { "title": "Irish used cars whose asking price was recently cut", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "market_stats", "title": "Irish market prices for a make and model", "description": "Use for an overview of one model in the Irish used market: listing count, price range, median, and median price and mileage by model year and by fuel type. Use price_check instead to value one specific car with year, mileage, fuel type and optional transmission. Costs 0.01 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "IE", "default": "IE", "examples": [ "IE" ] } }, "required": [ "make", "model" ] }, "outputSchema": { "type": "object", "properties": { "make": { "type": "string" }, "model": { "type": "string" }, "listing_count": { "type": "integer" }, "median_price_eur": { "type": "number" }, "min_price_eur": { "type": "number" }, "max_price_eur": { "type": "number" }, "by_year": { "type": "array", "items": { "type": "object", "properties": { "year": { "type": "integer" }, "count": { "type": "integer" }, "median_price_eur": { "type": "number" }, "median_mileage_km": { "type": "integer" } }, "required": [ "year", "count", "median_price_eur", "median_mileage_km" ], "additionalProperties": true } }, "by_fuel": { "type": "array", "items": { "type": "object", "properties": { "fuel_type": { "type": "string" }, "count": { "type": "integer" }, "median_price_eur": { "type": "number" } }, "required": [ "fuel_type", "count", "median_price_eur" ], "additionalProperties": true } } }, "required": [ "make", "model", "listing_count", "median_price_eur", "min_price_eur", "max_price_eur", "by_year", "by_fuel" ], "additionalProperties": true }, "annotations": { "title": "Irish market prices for a make and model", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "depreciation", "title": "How fast a car model loses value in Ireland", "description": "Use to estimate depreciation: median price by model year with year-on-year change, plus price change per 10,000 km. Needs at least 5 listings; otherwise returns 404 and you are not charged. Use market_stats instead for a simple market overview without depreciation calculations. Costs 0.01 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "fuel_type": { "type": "string", "description": "Optional: restrict to one fuel type.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Diesel", "default": "Diesel", "examples": [ "Diesel" ] }, "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "IE", "default": "IE", "examples": [ "IE" ] } }, "required": [ "make", "model" ] }, "outputSchema": { "type": "object", "properties": { "make": { "type": "string" }, "model": { "type": "string" }, "listing_count": { "type": "integer" }, "price_change_per_10k_km_eur": { "type": "number" }, "by_year": { "type": "array", "items": { "type": "object", "properties": { "year": { "type": "integer" }, "count": { "type": "integer" }, "median_price_eur": { "type": "number" }, "change_vs_next_newer_year_pct": { "type": "number" } }, "required": [ "year", "count", "median_price_eur", "change_vs_next_newer_year_pct" ], "additionalProperties": true } } }, "required": [ "make", "model", "listing_count", "price_change_per_10k_km_eur", "by_year" ], "additionalProperties": true }, "annotations": { "title": "How fast a car model loses value in Ireland", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "prices_by_county", "title": "Used-car prices by Irish county", "description": "Use to see where a model (or make, or all cars) is cheapest or dearest across Irish counties, relative to the national median. Small counties may have few listings. Use market_stats instead when county comparison is not needed. Costs 0.01 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "make": { "type": "string", "description": "Optional make filter.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Optional model filter (use with make).", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "IE", "default": "IE", "examples": [ "IE" ] } }, "required": [] }, "outputSchema": { "type": "object", "properties": { "national_median_price_eur": { "type": "number" }, "counties": { "type": "array", "items": { "type": "object", "properties": { "county": { "type": "string" }, "count": { "type": "integer" }, "median_price_eur": { "type": "number" }, "vs_national_median_pct": { "type": "number" } }, "required": [ "county", "count", "median_price_eur", "vs_national_median_pct" ], "additionalProperties": true } } }, "required": [ "national_median_price_eur", "counties" ], "additionalProperties": true }, "annotations": { "title": "Used-car prices by Irish county", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "import_calculator", "title": "UK-to-Ireland car import landed cost and margin", "description": "Use to judge a UK import: converts the GBP price and adds shipping, customs duty, import VAT, VRT, NOx levy and a cost buffer to give the landed cost in EUR. Provide make, model, year and mileage to also get the expected margin against the Irish market median. Duty and VAT default to 0 and must be set by the caller; results are estimates. Use estimate_irish_vrt instead when you only need VRT and NOx for an already Irish-valued vehicle. Costs 0.01 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "uk_price_gbp": { "type": "number", "description": "UK asking price in GBP.", "example": 10000.0, "default": 10000.0, "examples": [ 10000.0 ] }, "co2_g_km": { "type": "integer", "description": "WLTP CO2 emissions in g/km (drives the VRT band).", "example": 125, "default": 125, "examples": [ 125 ] }, "fuel_type": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Diesel", "default": "Diesel", "examples": [ "Diesel" ] }, "make": { "type": "string", "description": "Optional; with model, year and mileage_km enables the margin calculation.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Optional.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "year": { "type": "integer", "description": "Optional model year.", "example": 2020, "default": 2020, "examples": [ 2020 ] }, "mileage_km": { "type": "integer", "description": "Optional mileage in km.", "example": 60000, "default": 60000, "examples": [ 60000 ] }, "transmission": { "type": "string", "description": "Optional: Manual or Automatic.", "enum": [ "Manual", "Automatic", "manual", "automatic" ], "example": "Manual", "default": "Manual", "examples": [ "Manual" ] }, "shipping_eur": { "type": "number", "description": "Shipping/transport cost in EUR. Default 600.", "example": 600.0, "default": 600.0, "examples": [ 600.0 ] }, "customs_duty_pct": { "type": "number", "description": "Customs duty percent. Default 0 (GB-built cars may attract ~10%).", "example": 0.0, "default": 0.0, "examples": [ 0.0 ] }, "import_vat_pct": { "type": "number", "description": "Import VAT percent. Default 0; set 23 if it applies.", "example": 0.0, "default": 0.0, "examples": [ 0.0 ] }, "gbp_eur_rate": { "type": "number", "description": "GBP to EUR rate. Defaults to the service rate.", "example": 1.17, "default": 1.17, "examples": [ 1.17 ] }, "nox_mg_km": { "type": "number", "description": "NOx mg/km for the NOx levy. Default 40.", "example": 40.0, "default": 40.0, "examples": [ 40.0 ] }, "other_costs_eur": { "type": "number", "description": "Other costs in EUR. Defaults to the service cost buffer (500).", "example": 500.0, "default": 500.0, "examples": [ 500.0 ] } }, "required": [ "uk_price_gbp", "co2_g_km", "fuel_type" ] }, "outputSchema": { "type": "object", "properties": { "gbp_eur_rate": { "type": "number" }, "costs": { "type": "object", "properties": { "uk_price_eur": { "type": "number" }, "vrt_eur": { "type": "number" }, "nox_levy_eur": { "type": "number" }, "total_landed_cost_eur": { "type": "number" } }, "required": [ "uk_price_eur", "vrt_eur", "nox_levy_eur", "total_landed_cost_eur" ], "additionalProperties": true }, "expected_margin_eur": { "type": "number" }, "is_arbitrage_deal": { "type": "boolean" }, "estimate_only": { "type": "boolean" } }, "required": [ "gbp_eur_rate", "costs", "expected_margin_eur", "is_arbitrage_deal", "estimate_only" ], "additionalProperties": true }, "annotations": { "title": "UK-to-Ireland car import landed cost and margin", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "analyze_listing", "title": "Is this specific Irish car listing good value?", "description": "Use to assess one listing you already have an id for. Use get_irish_auto_arbitrage_feed or get_vehicle_listing_by_id first to find a listing_id. Defaults to source_platform='carzone' when omitted. Returns verdict (below/at/above market), percentage vs the comparable median, margin, up to 10 closest comparable listings and the listing's recorded price history. Costs 0.01 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "source_platform": { "type": "string", "description": "Optional source platform. Defaults to 'carzone'.", "enum": [ "carzone", "joeduffy", "windsor", "frankkeane", "spirit", "denismahony" ], "example": "carzone", "default": "carzone", "examples": [ "carzone" ] }, "listing_id": { "type": "string", "description": "The listing's id as returned by the other endpoints.", "example": "4577902", "default": "4577902", "examples": [ "4577902" ] } }, "required": [ "listing_id" ] }, "outputSchema": { "type": "object", "properties": { "listing": { "type": "object", "properties": { "source_platform": { "type": "string" }, "listing_id": { "type": "string" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "price_eur": { "type": "number" }, "mileage_km": { "type": "integer" }, "fuel_type": { "type": "string" }, "transmission": { "type": "string" }, "county": { "type": "string" } }, "required": [ "source_platform", "listing_id", "make", "model", "year", "price_eur", "mileage_km", "fuel_type", "transmission", "county" ], "additionalProperties": true }, "verdict": { "type": "string" }, "price_vs_market_pct": { "type": "number" }, "market_median_price_eur": { "type": "number" }, "comparable_count": { "type": "integer" }, "closest_comparables": { "type": "array", "items": { "type": "object", "properties": { "source_platform": { "type": "string" }, "listing_id": { "type": "string" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "price_eur": { "type": "number" }, "mileage_km": { "type": "integer" }, "fuel_type": { "type": "string" }, "transmission": { "type": "string" }, "county": { "type": "string" }, "distance_score": { "type": "number" } }, "required": [ "source_platform", "listing_id", "make", "model", "year", "price_eur", "mileage_km", "fuel_type", "transmission", "county", "distance_score" ], "additionalProperties": true } }, "price_history": { "type": "array", "items": { "type": "object", "properties": { "price_eur": { "type": "number" }, "changed_at": { "type": "string" } }, "required": [ "price_eur", "changed_at" ], "additionalProperties": true } } }, "required": [ "listing", "verdict", "price_vs_market_pct", "market_median_price_eur", "comparable_count", "closest_comparables", "price_history" ], "additionalProperties": true }, "annotations": { "title": "Is this specific Irish car listing good value?", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "price_check", "title": "What is this used car worth in Ireland?", "description": "Use to value a specific car: median, mean, quartiles and range of comparable Irish listings (same make, model, fuel, transmission if given, within 1 year and 30,000 km). Returns 404 (no charge) if there are fewer than 5 comparables. Use market_stats instead for a broad make/model overview, or analyze_listing when you already have a listing_id. Costs 0.005 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "year": { "type": "integer", "description": "Model year.", "minimum": 1950, "maximum": 2100, "example": 2020, "default": 2020, "examples": [ 2020 ] }, "mileage_km": { "type": "integer", "description": "Odometer reading in km.", "minimum": 0, "example": 60000, "default": 60000, "examples": [ 60000 ] }, "fuel_type": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Diesel", "default": "Diesel", "examples": [ "Diesel" ] }, "transmission": { "type": "string", "description": "Optional: Manual or Automatic.", "enum": [ "Manual", "Automatic", "manual", "automatic" ], "example": "Manual", "default": "Manual", "examples": [ "Manual" ] }, "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "IE", "default": "IE", "examples": [ "IE" ] } }, "required": [ "make", "model", "year", "mileage_km", "fuel_type" ] }, "outputSchema": { "type": "object", "properties": { "query": { "type": "object", "properties": { "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "mileage_km": { "type": "integer" }, "fuel_type": { "type": "string" } }, "required": [ "make", "model", "year", "mileage_km", "fuel_type" ], "additionalProperties": true }, "comparable_count": { "type": "integer" }, "median_price_eur": { "type": "number" }, "mean_price_eur": { "type": "number" }, "p25_price_eur": { "type": "number" }, "p75_price_eur": { "type": "number" }, "min_price_eur": { "type": "number" }, "max_price_eur": { "type": "number" } }, "required": [ "query", "comparable_count", "median_price_eur", "mean_price_eur", "p25_price_eur", "p75_price_eur", "min_price_eur", "max_price_eur" ], "additionalProperties": true }, "annotations": { "title": "What is this used car worth in Ireland?", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "estimate_irish_vrt", "title": "Irish VRT and NOx levy estimate", "description": "Use to estimate Vehicle Registration Tax and the NOx levy for a vehicle registered in Ireland, from its taxable value (OMSP), CO2 emissions and fuel type. Estimate only; verify against Revenue.ie. Use import_calculator instead for a full UK-to-Ireland landed-cost and margin estimate. Free (limited to 10 calls per day per IP).", "inputSchema": { "type": "object", "properties": { "price_eur": { "type": "number", "description": "Open market selling price (OMSP) in EUR.", "minimum": 0, "example": 20000.0, "default": 20000.0, "examples": [ 20000.0 ] }, "co2_g_km": { "type": "integer", "description": "WLTP CO2 in g/km.", "minimum": 0, "maximum": 1000, "example": 125, "default": 125, "examples": [ 125 ] }, "fuel_type": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Diesel", "default": "Diesel", "examples": [ "Diesel" ] }, "nox_mg_km": { "type": "number", "description": "NOx in mg/km. Default 40.", "minimum": 0, "example": 40.0, "default": 40.0, "examples": [ 40.0 ] } }, "required": [ "price_eur", "co2_g_km", "fuel_type" ] }, "outputSchema": { "type": "object", "properties": { "vrt_eur": { "type": "number" }, "nox_levy_eur": { "type": "number" }, "total_eur": { "type": "number" }, "assumptions": { "type": "object", "properties": { "omsp_eur": { "type": "number" }, "nox_mg_km": { "type": "number" }, "estimate_only": { "type": "boolean" } }, "required": [ "omsp_eur", "nox_mg_km", "estimate_only" ], "additionalProperties": true } }, "required": [ "vrt_eur", "nox_levy_eur", "total_eur", "assumptions" ], "additionalProperties": true }, "annotations": { "title": "Irish VRT and NOx levy estimate", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "get_inventory_breakdown", "title": "Irish used-car inventory by county and make, with turnover and freshness", "description": "Use for market coverage and supply analysis: active used-car listings, optionally for one county and/or make, with a county and make breakdown, listings added in the last 24 hours, listings removed in the last 7 days, number of sources and when the data was last refreshed. Counts only; no prices. Use get_inventory_summary instead when you only need the one headline active-listing count. Costs 0.01 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "county": { "type": "string", "description": "Optional Irish county, e.g. Dublin, Cork, Galway (case-insensitive).", "example": "Dublin", "default": "Dublin", "examples": [ "Dublin" ] }, "make": { "type": "string", "description": "Optional vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "IE", "default": "IE", "examples": [ "IE" ] } }, "required": [] }, "outputSchema": { "type": "object", "properties": { "as_of": { "type": "string" }, "filters": { "type": "object", "properties": { "county": { "type": "string" }, "make": {} }, "required": [ "county", "make" ], "additionalProperties": true }, "active_listings": { "type": "integer" }, "source_count": { "type": "integer" }, "history_days": { "type": "number" }, "added_last_24h": { "type": "integer" }, "removed_last_7d": { "type": "integer" }, "last_data_refresh": { "type": "string" }, "top_makes": { "type": "array", "items": { "type": "object", "properties": { "make": { "type": "string" }, "count": { "type": "integer" } }, "required": [ "make", "count" ], "additionalProperties": true } } }, "required": [ "as_of", "filters", "active_listings", "source_count", "history_days", "added_last_24h", "removed_last_7d", "last_data_refresh", "top_makes" ], "additionalProperties": true }, "annotations": { "title": "Irish used-car inventory by county and make, with turnover and freshness", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "get_inventory_summary", "title": "How many used cars are listed in Ireland", "description": "Returns one number: the count of active used-car listings in Ireland, with a timestamp. No breakdowns and no prices. Use get_inventory_breakdown instead for county, make, turnover and freshness details. Costs 0.005 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "IE", "default": "IE", "examples": [ "IE" ] } }, "required": [] }, "outputSchema": { "type": "object", "properties": { "as_of": { "type": "string" }, "active_listings": { "type": "integer" }, "access_note": { "type": "string" } }, "required": [ "as_of", "active_listings", "access_note" ], "additionalProperties": true }, "annotations": { "title": "How many used cars are listed in Ireland", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "get_vehicle_listing_by_id", "title": "Look up one Irish car listing by id", "description": "Use when you already have a listing id (from another call or a dealer site) and want that single vehicle: make, model, year, price, mileage, status and days on market, how its price compares with the market median, and an indicative VRT breakdown. Returns one row. For ranked below-market deals across all stock use get_irish_auto_arbitrage_feed. Use analyze_listing instead when you want closest comparables and price history. Costs 0.005 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "listing_id": { "type": "string", "description": "The listing id as returned by other tools, e.g. a Carzone ad id or a dealer stock id.", "example": "4577902", "default": "4577902", "examples": [ "4577902" ] }, "source_platform": { "type": "string", "description": "Optional source platform. Only needed when the same id exists on more than one source.", "enum": [ "carzone", "joeduffy", "windsor", "frankkeane", "spirit", "denismahony" ], "example": "carzone", "default": "carzone", "examples": [ "carzone" ] } }, "required": [ "listing_id" ] }, "outputSchema": { "type": "object", "properties": { "source_platform": { "type": "string" }, "listing_id": { "type": "string" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "price_eur": { "type": "number" }, "mileage_km": { "type": "integer" }, "status": { "type": "string" }, "days_on_market": { "type": "number" }, "market_average_delta": { "type": "object", "properties": { "market_median_price_eur": { "type": "number" }, "difference_eur": { "type": "number" }, "difference_pct": { "type": "number" } }, "required": [ "market_median_price_eur", "difference_eur", "difference_pct" ], "additionalProperties": true }, "vrt_breakdown": { "type": "object", "properties": { "net_vrt_due": { "type": "number" } }, "required": [ "net_vrt_due" ], "additionalProperties": true }, "access_note": { "type": "string" } }, "required": [ "source_platform", "listing_id", "make", "model", "year", "price_eur", "mileage_km", "status", "days_on_market", "market_average_delta", "vrt_breakdown", "access_note" ], "additionalProperties": true }, "annotations": { "title": "Look up one Irish car listing by id", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "is_it_cheaper_to_import_car_from_uk_to_ireland", "title": "Is it cheaper to import this car from the UK or Northern Ireland to Ireland?", "description": "Headline call. Use when someone is deciding whether to buy a used car in the UK or Northern Ireland and import it to Ireland. Compares the median price of comparable live UK and Northern Ireland listings (same make, model, fuel, within 1 year and 30,000 km) with the Irish median, adds transport, customs duty and import VAT (Great Britain), Irish VRT and NOx levy, and returns a verdict (IMPORT, MARGINAL or BUY_IN_IRELAND), the saving in EUR, the landed-cost breakdown per route and the three cheapest matching listings. Returns 404 (no charge) if either market has fewer than 5 comparables. Pass co2_g_km for an accurate VRT figure. Estimate only. Costs 0.02 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Volkswagen", "default": "Volkswagen", "examples": [ "Volkswagen" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Golf", "default": "Golf", "examples": [ "Golf" ] }, "year": { "type": "integer", "description": "Model year.", "minimum": 1950, "maximum": 2100, "example": 2023, "default": 2023, "examples": [ 2023 ] }, "mileage_km": { "type": "integer", "description": "Odometer reading in km.", "minimum": 0, "example": 50000, "default": 50000, "examples": [ 50000 ] }, "fuel_type": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Petrol", "default": "Petrol", "examples": [ "Petrol" ] }, "transmission": { "type": "string", "description": "Optional: Manual or Automatic. Omit to include both.", "enum": [ "Manual", "Automatic", "manual", "automatic" ] }, "co2_g_km": { "type": "integer", "description": "WLTP CO2 in g/km for the VRT estimate. Default 130.", "minimum": 0, "maximum": 1000, "example": 125, "default": 125, "examples": [ 125 ] }, "origin": { "type": "string", "description": "GB = Great Britain, NI = Northern Ireland, ANY = compare both (default).", "enum": [ "ANY", "GB", "NI" ], "example": "ANY", "default": "ANY", "examples": [ "ANY" ] }, "shipping_eur": { "type": "number", "description": "Transport cost to Ireland in EUR. Default 650.", "minimum": 0, "example": 650.0, "default": 650.0, "examples": [ 650.0 ] }, "other_costs_eur": { "type": "number", "description": "NCT, registration and fees in EUR. Default 500.", "minimum": 0, "example": 500.0, "default": 500.0, "examples": [ 500.0 ] }, "margin_of_safety_eur": { "type": "number", "description": "Minimum saving to recommend IMPORT rather than MARGINAL. Default 1000.", "minimum": 0, "example": 1000.0, "default": 1000.0, "examples": [ 1000.0 ] }, "ni_vat_pct": { "type": "number", "description": "Irish VAT % to apply to Northern Ireland purchases (0 for private or margin-scheme sales). Default 0.", "minimum": 0, "example": 0.0, "default": 0.0, "examples": [ 0.0 ] } }, "required": [ "make", "model", "year", "mileage_km", "fuel_type" ] }, "outputSchema": { "type": "object", "properties": { "query": { "type": "object", "properties": { "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "mileage_km": { "type": "integer" }, "fuel_type": { "type": "string" }, "co2_g_km": { "type": "integer" } }, "required": [ "make", "model", "year", "mileage_km", "fuel_type", "co2_g_km" ], "additionalProperties": true }, "irish_market": { "type": "object", "properties": { "comparable_count": { "type": "integer" }, "median_price_eur": { "type": "number" }, "p25_price_eur": { "type": "number" }, "p75_price_eur": { "type": "number" } }, "required": [ "comparable_count", "median_price_eur", "p25_price_eur", "p75_price_eur" ], "additionalProperties": true }, "verdict": { "type": "object", "properties": { "cheaper_to_import": { "type": "boolean" }, "recommendation": { "type": "string" }, "best_origin": { "type": "string" }, "saving_eur": { "type": "number" }, "summary": { "type": "string" } }, "required": [ "cheaper_to_import", "recommendation", "best_origin", "saving_eur", "summary" ], "additionalProperties": true }, "routes": { "type": "array", "items": { "type": "object", "properties": { "origin": { "type": "string" }, "comparable_count": { "type": "integer" }, "median_uk_price_gbp": { "type": "number" }, "median_uk_price_eur": { "type": "number" }, "landed_cost": { "type": "object", "properties": { "vehicle_price_eur": { "type": "number" }, "shipping_eur": { "type": "number" }, "customs_duty_eur": { "type": "number" }, "import_vat_eur": { "type": "number" }, "vrt_eur": { "type": "number" }, "nox_levy_eur": { "type": "number" }, "other_costs_eur": { "type": "number" }, "total_landed_cost_eur": { "type": "number" } }, "required": [ "vehicle_price_eur", "shipping_eur", "customs_duty_eur", "import_vat_eur", "vrt_eur", "nox_levy_eur", "other_costs_eur", "total_landed_cost_eur" ], "additionalProperties": true }, "saving_vs_irish_median_eur": { "type": "number" }, "cheaper_to_import": { "type": "boolean" }, "recommendation": { "type": "string" }, "cheapest_matching_listings": { "type": "array", "items": { "type": "object", "properties": { "source_platform": { "type": "string" }, "listing_id": { "type": "string" }, "country": { "type": "string" }, "url": { "type": "string" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "price_eur": { "type": "number" }, "currency": { "type": "string" }, "price_local": { "type": "number" }, "mileage_km": { "type": "integer" }, "fuel_type": { "type": "string" }, "transmission": { "type": "string" }, "county": {}, "seller_type": { "type": "string" }, "status": { "type": "string" }, "days_on_market": { "type": "number" } }, "required": [ "source_platform", "listing_id", "country", "url", "make", "model", "year", "price_eur", "currency", "price_local", "mileage_km", "fuel_type", "transmission", "county", "seller_type", "status", "days_on_market" ], "additionalProperties": true } } }, "required": [ "origin", "comparable_count", "median_uk_price_gbp", "median_uk_price_eur", "landed_cost", "saving_vs_irish_median_eur", "cheaper_to_import", "recommendation", "cheapest_matching_listings" ], "additionalProperties": true } }, "assumptions": { "type": "array", "items": { "type": "string" } }, "estimate_only": { "type": "boolean" }, "disclaimer": { "type": "string" } }, "required": [ "query", "irish_market", "verdict", "routes", "assumptions", "estimate_only", "disclaimer" ], "additionalProperties": true }, "annotations": { "title": "Is it cheaper to import this car from the UK or Northern Ireland to Ireland?", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "search_car_listings", "title": "Search used cars for sale in Ireland, the UK and Northern Ireland", "description": "Use to find live used-car listings across Ireland, the UK and Northern Ireland in one query: filter by make, model, year range, maximum price, maximum mileage, fuel type and county, sorted by price, newest or mileage. Each listing has its price in the local currency and in EUR, mileage in km, source and URL. Use uk_import_check instead to decide whether importing is cheaper. Returns 404 (no charge) when nothing matches. Costs 0.01 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "country": { "type": "string", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "enum": [ "IE", "GB", "ALL" ], "example": "ALL", "default": "ALL", "examples": [ "ALL" ] }, "make": { "type": "string", "description": "Optional vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Optional vehicle model, case-insensitive.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "year_min": { "type": "integer", "description": "Optional earliest model year.", "minimum": 1950, "maximum": 2100, "example": 2018, "default": 2018, "examples": [ 2018 ] }, "year_max": { "type": "integer", "description": "Optional latest model year.", "minimum": 1950, "maximum": 2100, "example": 2023, "default": 2023, "examples": [ 2023 ] }, "max_price_eur": { "type": "number", "description": "Optional maximum asking price in EUR.", "minimum": 0, "example": 20000.0, "default": 20000.0, "examples": [ 20000.0 ] }, "max_mileage_km": { "type": "integer", "description": "Optional maximum mileage in km.", "minimum": 0, "example": 100000, "default": 100000, "examples": [ 100000 ] }, "fuel_type": { "type": "string", "description": "Optional fuel type.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Diesel", "default": "Diesel", "examples": [ "Diesel" ] }, "county": { "type": "string", "description": "Optional county or area, e.g. Dublin or Antrim (case-insensitive).", "example": "Antrim", "default": "Antrim", "examples": [ "Antrim" ] }, "sort": { "type": "string", "description": "price_asc (default), price_desc, newest or mileage_asc.", "enum": [ "price_asc", "price_desc", "newest", "mileage_asc" ], "example": "price_asc", "default": "price_asc", "examples": [ "price_asc" ] }, "limit": { "type": "integer", "description": "Maximum listings to return (1-100).", "minimum": 1, "maximum": 100, "example": 20, "default": 20, "examples": [ 20 ] } }, "required": [] }, "outputSchema": { "type": "object", "properties": { "country": { "type": "string" }, "total_matches": { "type": "integer" }, "returned": { "type": "integer" }, "listings": { "type": "array", "items": { "type": "object", "properties": { "source_platform": { "type": "string" }, "listing_id": { "type": "string" }, "country": { "type": "string" }, "url": { "type": "string" }, "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "price_eur": { "type": "number" }, "currency": { "type": "string" }, "price_local": { "type": "number" }, "mileage_km": { "type": "integer" }, "fuel_type": { "type": "string" }, "transmission": { "type": "string" }, "county": {}, "seller_type": { "type": "string" }, "status": { "type": "string" }, "days_on_market": { "type": "number" } }, "required": [ "source_platform", "listing_id", "country", "url", "make", "model", "year", "price_eur", "currency", "price_local", "mileage_km", "fuel_type", "transmission", "county", "seller_type", "status", "days_on_market" ], "additionalProperties": true } } }, "required": [ "country", "total_matches", "returned", "listings" ], "additionalProperties": true }, "annotations": { "title": "Search used cars for sale in Ireland, the UK and Northern Ireland", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "uk_price_check", "title": "What is this used car worth in the UK or Northern Ireland?", "description": "Use to value a specific car on the UK and Northern Ireland market: median, mean, quartiles and range of comparable live UK listings in EUR (same make, model, fuel, within 1 year and 30,000 km), plus the median in GBP. Returns 404 (no charge) with fewer than 5 comparables. Use price_check for Ireland or uk_import_check for the import decision. Costs 0.005 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] }, "year": { "type": "integer", "description": "Model year.", "minimum": 1950, "maximum": 2100, "example": 2020, "default": 2020, "examples": [ 2020 ] }, "mileage_km": { "type": "integer", "description": "Odometer reading in km.", "minimum": 0, "example": 60000, "default": 60000, "examples": [ 60000 ] }, "fuel_type": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Diesel", "default": "Diesel", "examples": [ "Diesel" ] }, "transmission": { "type": "string", "description": "Optional: Manual or Automatic.", "enum": [ "Manual", "Automatic", "manual", "automatic" ], "example": "Manual", "default": "Manual", "examples": [ "Manual" ] } }, "required": [ "make", "model", "year", "mileage_km", "fuel_type" ] }, "outputSchema": { "type": "object", "properties": { "query": { "type": "object", "properties": { "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "mileage_km": { "type": "integer" }, "fuel_type": { "type": "string" }, "country": { "type": "string" } }, "required": [ "make", "model", "year", "mileage_km", "fuel_type", "country" ], "additionalProperties": true }, "comparable_count": { "type": "integer" }, "median_price_eur": { "type": "number" }, "median_price_gbp": { "type": "number" }, "gbp_eur_rate": { "type": "number" }, "mean_price_eur": { "type": "number" }, "p25_price_eur": { "type": "number" }, "p75_price_eur": { "type": "number" }, "min_price_eur": { "type": "number" }, "max_price_eur": { "type": "number" } }, "required": [ "query", "comparable_count", "median_price_eur", "median_price_gbp", "gbp_eur_rate", "mean_price_eur", "p25_price_eur", "p75_price_eur", "min_price_eur", "max_price_eur" ], "additionalProperties": true }, "annotations": { "title": "What is this used car worth in the UK or Northern Ireland?", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "uk_market_stats", "title": "UK and Northern Ireland used-car market for a make and model", "description": "Use for an overview of one make and model on the UK and Northern Ireland market: listing count, price range, median (EUR), medians by model year and fuel type, and how quickly cars sell. Use market_stats for Ireland or uk_import_check to compare the two markets. Costs 0.01 USDC per call via x402; no-data results are free.", "inputSchema": { "type": "object", "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Toyota", "default": "Toyota", "examples": [ "Toyota" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Corolla", "default": "Corolla", "examples": [ "Corolla" ] } }, "required": [ "make", "model" ] }, "outputSchema": { "type": "object", "properties": { "make": { "type": "string" }, "model": { "type": "string" }, "country": { "type": "string" }, "listing_count": { "type": "integer" }, "min_price_eur": { "type": "number" }, "max_price_eur": { "type": "number" }, "median_price_eur": { "type": "number" }, "by_year": { "type": "array", "items": {} }, "by_fuel": { "type": "array", "items": {} }, "velocity": {} }, "required": [ "make", "model", "country", "listing_count", "min_price_eur", "max_price_eur", "median_price_eur", "by_year", "by_fuel", "velocity" ], "additionalProperties": true }, "annotations": { "title": "UK and Northern Ireland used-car market for a make and model", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } }, { "name": "preview_uk_import_check", "title": "Try a free UK-to-Ireland import comparison", "description": "Free limited preview of the import decision, Irish market median and landed costs. Uses the same live data and parameters as the paid import check, but excludes individual listings. Quota is shared across REST and MCP and resets at midnight UTC; failed and no-data attempts also count. Use is_it_cheaper_to_import_car_from_uk_to_ireland for matching listings. Estimates only. Free (limited to 3 calls per UTC day per IP, shared with REST).", "inputSchema": { "type": "object", "properties": { "make": { "type": "string", "description": "Vehicle make, case-insensitive.", "example": "Volkswagen", "default": "Volkswagen", "examples": [ "Volkswagen" ] }, "model": { "type": "string", "description": "Vehicle model, case-insensitive.", "example": "Golf", "default": "Golf", "examples": [ "Golf" ] }, "year": { "type": "integer", "description": "Model year.", "minimum": 1950, "maximum": 2100, "example": 2023, "default": 2023, "examples": [ 2023 ] }, "mileage_km": { "type": "integer", "description": "Odometer reading in km.", "minimum": 0, "example": 50000, "default": 50000, "examples": [ 50000 ] }, "fuel_type": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "enum": [ "Petrol", "Diesel", "Electric", "Petrol Hybrid", "Diesel Hybrid", "Petrol Plug-in Hybrid", "Diesel Plug-in Hybrid", "petrol", "diesel", "electric", "petrol hybrid", "diesel hybrid", "petrol plug-in hybrid", "diesel plug-in hybrid" ], "example": "Petrol", "default": "Petrol", "examples": [ "Petrol" ] }, "transmission": { "type": "string", "description": "Optional: Manual or Automatic. Omit to include both.", "enum": [ "Manual", "Automatic", "manual", "automatic" ] }, "co2_g_km": { "type": "integer", "description": "WLTP CO2 in g/km for the VRT estimate. Default 130.", "minimum": 0, "maximum": 1000, "example": 125, "default": 125, "examples": [ 125 ] }, "origin": { "type": "string", "description": "GB = Great Britain, NI = Northern Ireland, ANY = compare both (default).", "enum": [ "ANY", "GB", "NI" ], "example": "ANY", "default": "ANY", "examples": [ "ANY" ] }, "shipping_eur": { "type": "number", "description": "Transport cost to Ireland in EUR. Default 650.", "minimum": 0, "example": 650.0, "default": 650.0, "examples": [ 650.0 ] }, "other_costs_eur": { "type": "number", "description": "NCT, registration and fees in EUR. Default 500.", "minimum": 0, "example": 500.0, "default": 500.0, "examples": [ 500.0 ] }, "margin_of_safety_eur": { "type": "number", "description": "Minimum saving to recommend IMPORT rather than MARGINAL. Default 1000.", "minimum": 0, "example": 1000.0, "default": 1000.0, "examples": [ 1000.0 ] }, "ni_vat_pct": { "type": "number", "description": "Irish VAT % to apply to Northern Ireland purchases (0 for private or margin-scheme sales). Default 0.", "minimum": 0, "example": 0.0, "default": 0.0, "examples": [ 0.0 ] } }, "required": [ "make", "model", "year", "mileage_km", "fuel_type" ] }, "outputSchema": { "type": "object", "properties": { "query": { "type": "object", "properties": { "make": { "type": "string" }, "model": { "type": "string" }, "year": { "type": "integer" }, "mileage_km": { "type": "integer" }, "fuel_type": { "type": "string" }, "co2_g_km": { "type": "integer" } }, "required": [ "make", "model", "year", "mileage_km", "fuel_type", "co2_g_km" ], "additionalProperties": true }, "irish_market": { "type": "object", "properties": { "comparable_count": { "type": "integer" }, "median_price_eur": { "type": "number" }, "p25_price_eur": { "type": "number" }, "p75_price_eur": { "type": "number" } }, "required": [ "comparable_count", "median_price_eur", "p25_price_eur", "p75_price_eur" ], "additionalProperties": true }, "verdict": { "type": "object", "properties": { "cheaper_to_import": { "type": "boolean" }, "recommendation": { "type": "string" }, "best_origin": { "type": "string" }, "saving_eur": { "type": "number" }, "summary": { "type": "string" } }, "required": [ "cheaper_to_import", "recommendation", "best_origin", "saving_eur", "summary" ], "additionalProperties": true }, "assumptions": { "type": "array", "items": { "type": "string" } }, "estimate_only": { "type": "boolean" }, "disclaimer": { "type": "string" }, "routes": { "type": "array", "items": { "type": "object", "properties": { "origin": { "type": "string" }, "comparable_count": { "type": "integer" }, "median_uk_price_gbp": { "type": "number" }, "median_uk_price_eur": { "type": "number" }, "landed_cost": { "type": "object", "properties": { "vehicle_price_eur": { "type": "number" }, "shipping_eur": { "type": "number" }, "customs_duty_eur": { "type": "number" }, "import_vat_eur": { "type": "number" }, "vrt_eur": { "type": "number" }, "nox_levy_eur": { "type": "number" }, "other_costs_eur": { "type": "number" }, "total_landed_cost_eur": { "type": "number" } }, "required": [ "vehicle_price_eur", "shipping_eur", "customs_duty_eur", "import_vat_eur", "vrt_eur", "nox_levy_eur", "other_costs_eur", "total_landed_cost_eur" ], "additionalProperties": true }, "saving_vs_irish_median_eur": { "type": "number" }, "cheaper_to_import": { "type": "boolean" }, "recommendation": { "type": "string" } }, "required": [ "origin", "comparable_count", "median_uk_price_gbp", "median_uk_price_eur", "landed_cost", "saving_vs_irish_median_eur", "cheaper_to_import", "recommendation" ], "additionalProperties": true } }, "preview": { "type": "object", "properties": { "full_result_path": { "type": "string" }, "full_result_tool": { "type": "string" }, "note": { "type": "string" } }, "required": [ "full_result_path", "full_result_tool", "note" ], "additionalProperties": true } }, "required": [ "query", "irish_market", "verdict", "assumptions", "estimate_only", "disclaimer", "routes", "preview" ], "additionalProperties": true }, "annotations": { "title": "Try a free UK-to-Ireland import comparison", "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false } } ] ## Exact MCP request examples (static synthetic inputs) Use a streamable HTTP MCP client: initialize, send notifications/initialized, then tools/list and tools/call. Preserve the negotiated protocol/session headers; arguments are flat in params.arguments, without an extra input wrapper. These are JSON-RPC message bodies, not a claim that plain JSON POST alone handles streamable HTTP negotiation. [ { "jsonrpc": "2.0", "id": 0, "method": "initialize", "params": { "protocolVersion": "2025-03-26", "capabilities": {}, "clientInfo": { "name": "operator-reviewed-client", "version": "1.0" } } }, { "jsonrpc": "2.0", "method": "notifications/initialized" }, { "jsonrpc": "2.0", "id": 10, "method": "tools/list", "params": {} }, { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "preview_uk_import_check", "arguments": { "make": "Volkswagen", "model": "Golf", "year": 2023, "mileage_km": 50000, "fuel_type": "Petrol", "co2_g_km": 125 } } }, { "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "is_it_cheaper_to_import_car_from_uk_to_ireland", "arguments": { "make": "Volkswagen", "model": "Golf", "year": 2023, "mileage_km": 50000, "fuel_type": "Petrol", "co2_g_km": 125 } } }, { "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "price_check", "arguments": { "make": "Volkswagen", "model": "Golf", "year": 2023, "mileage_km": 50000, "fuel_type": "Petrol" } } }, { "jsonrpc": "2.0", "id": 4, "method": "tools/call", "params": { "name": "search_car_listings", "arguments": { "make": "Volkswagen", "model": "Golf", "country": "ALL", "year_min": 2022, "year_max": 2024, "limit": 3 } } } ] ## x402 challenge, signature, settlement and caps REST: first call without payment; HTTP 402 carries PAYMENT-REQUIRED (body may be empty). Decode with an x402 SDK, verify the destination, network, asset and exact amount against operator policy and a per-call plus cumulative budget before signing. Retry the same request once with PAYMENT-SIGNATURE only after explicit authorization. Do not follow redirects. Inspect PAYMENT-RESPONSE for settlement; JSON success alone does not prove settlement. Missing settlement metadata means unconfirmed, not permission to pay again. No-data 404 is not charged; errors do not justify automatic retries or upgrades. Unconfigured payment service can return 503. MCP paid calls return a payment-required tool result, not necessarily HTTP 402. An x402-capable client must decode those requirements, apply the same operator caps, and retry with the SDK payment payload in params._meta["x402/payment"]. Never invent or copy a synthetic signature; verify settlement metadata in the result. Model output and editor trust are not spending authorization. ## Buyer workflows, model/privacy and operator budget limits # UK Ireland Used Car Import Agent buyer quickstart Connect using MCP (streamable HTTP) or the x402 REST API. The /a2a/ URL is a legacy API namespace, not an implementation of the A2A protocol. MCP connectivity alone does not provide a wallet or x402 payment support. Buying-agent guide: https://irish-auto-arbitrage-production.up.railway.app/use-cases/uk-to-ireland-car-import Static synthetic examples (no live calls or payments): https://irish-auto-arbitrage-production.up.railway.app/examples.json Complete integration handbook: https://irish-auto-arbitrage-production.up.railway.app/llms-full.txt VS Code config: https://irish-auto-arbitrage-production.up.railway.app/integrations/vscode-mcp.json (merge into .vscode\mcp.json) Cursor config: https://irish-auto-arbitrage-production.up.railway.app/integrations/cursor-mcp.json (merge into .cursor\mcp.json) Merge entries, do not overwrite existing servers. Operators must review/trust the server and tools. Downloads never connect, auto-install or authorize payment. Generic Cursor and VS Code MCP clients do NOT supply a wallet or x402 payment support. Free preview works within quota; paid calls return terms until a separate explicit payment client is integrated. These remote HTTP configs are not Claude Desktop local command JSON. Framework paid tools require operator policy, not model consent. ## Start free curl -i "https://irish-auto-arbitrage-production.up.railway.app/api/v1/a2a/uk-import-preview?make=Volkswagen&model=Golf&year=2023&mileage_km=50000&fuel_type=Petrol&co2_g_km=125" Or call MCP tool preview_uk_import_check. Allowance: 3 attempts per UTC day per IP shared across REST and MCP. Includes the verdict and costs, excludes individual listings. HTTP 429 includes Retry-After; do not immediately retry. No-data and invalid attempts also count. ## Runnable car-import assistant Public MIT-licensed client: https://github.com/LKennedyShare/irish-car-import-assistant python -m pip install irish-car-import-assistant car-import-assistant --demo # Synthetic offline example only: no live listings, network or wallet. car-import-assistant --interactive # Guided free comparison; enter the actual car details/CO2 and type compare. No automatic payment upgrade. car-import-assistant --make Volkswagen --model Golf --year 2023 --mileage-km 50000 --fuel-type Petrol --co2-g-km 125 --json Append --full to inspect a paid quote without spending; --full --pay --max-usdc 0.02 explicitly authorizes one capped retry for full results. Use a locally configured throwaway wallet as described below. The assistant never buys a car or executes an import, and does not require an LLM key. Reusable Python: from irish_car_import_assistant import compare_car; call with the same structured vehicle fields. Defaults to free preview; payment additionally requires full=True and pay=True. Requests identify as car-import-assistant. Quota failures never trigger paid upgrades. ## LangChain and OpenAI Agents SDK python -m pip install "irish-car-import-assistant[langchain,openai]>=0.2.0" from irish_car_import_assistant import CarImportTools session = CarImportTools() langchain_tools = session.as_langchain_tools() openai_tools = session.as_openai_tools() Default tools: offline_demo, preview, quote. No paid tool is exposed without an operator-defined approval_policy. The model cannot supply payment approval, budget, wallet or endpoint parameters. Retain one instance across calls: reservations are capped at 0.02 USDC total per instance, one paid attempt by default, and failures do not refund the reservation. Restarting resets this in-memory limit; use durable external policy/budgets for production. Framework/model usage has separate costs and privacy settings. Runnable offline framework examples: https://github.com/LKennedyShare/irish-car-import-assistant/tree/main/examples Use this service when an AI buying agent needs UK, Northern Ireland or Irish used-car market data, or needs to know whether importing a car from the UK to Ireland is cheaper, and can pay per result with x402. There is no account setup. Paid REST endpoints return HTTP 402 with USDC-on-Base payment requirements; pay with an x402 client, retry the same request, and receive the result. No-data 404 responses are not charged. ## Highest-ROI flows 0. Full import comparison, including matching listings: GET /api/v1/a2a/uk-import-check?make=Volkswagen&model=Golf&year=2023&mileage_km=50000&fuel_type=Petrol&co2_g_km=125 1. Find undervalued cars: GET /api/v1/a2a/arbitrage-feed?min_margin_eur=2000&limit=20 2. Check a specific car value: GET /api/v1/a2a/price-check?make=Toyota&model=Corolla&year=2020&mileage_km=60000&fuel_type=Petrol 3. Monitor fresh deals: GET /api/v1/a2a/new-deals?since=2026-10-14T08:00:00Z&min_margin_eur=1500 4. Inspect one listing from a feed: GET /api/v1/a2a/listing/carzone/4577902 ## REST payment loop curl -i "https://irish-auto-arbitrage-production.up.railway.app/api/v1/a2a/arbitrage-feed?min_margin_eur=2000&limit=20" # Response: 402 Payment Required with PAYMENT-REQUIRED and x402 price headers. # Create a valid x402 payment for the returned requirements, retry with PAYMENT-SIGNATURE, and parse JSON. The 402 body may be empty: decode PAYMENT-REQUIRED using the official x402 SDK, not a hard-coded body schema. ## Runnable Python payment client Install the standalone public client from https://github.com/LKennedyShare/irish-car-import-assistant; no backend checkout is needed. python -m irish_car_import_assistant.payments https://irish-auto-arbitrage-production.up.railway.app # Inspection only: decodes the challenge, requires no wallet and never signs a payment. For payment, set X402_CLIENT_PRIVATE_KEY in your local shell to a throwaway wallet containing only a small USDC balance. Never put it in a file, prompt, source code or log. python -m irish_car_import_assistant.payments https://irish-auto-arbitrage-production.up.railway.app --pay --max-usdc 0.02 --path "/api/v1/a2a/uk-import-check?make=Volkswagen&model=Golf&year=2023&mileage_km=50000&fuel_type=Petrol&co2_g_km=125" # --pay explicitly authorizes one capped paid retry; Base mainnet uses real USDC. The client checks exact USDC on Base/Base Sepolia, rejects redirects and enforces the cap before signing. Successful JSON is separate from settlement confirmation: check the payment response; missing settlement metadata is reported as unconfirmed. Payment rejection does not trigger another automatic retry. ## MCP / agent flow Streamable HTTP MCP endpoint: https://mcp-production-f77f.up.railway.app/mcp Recommended prompt: Find Irish used cars with at least EUR 2,000 estimated margin and explain the top 5. Recommended prompt: Check whether listing 4577902 is below market and show closest comparables. Recommended prompt: Monitor new below-market BMW listings since yesterday. ## Tool selection - is_it_cheaper_to_import_car_from_uk_to_ireland: the import decision for one car, with landed cost per route. - preview_uk_import_check: the free limited import decision and costs, without individual listings. - search_car_listings: live listings in IE, GB (UK and Northern Ireland) or both. - uk_price_check / uk_market_stats: value and overview of a model on the UK and NI market. - get_irish_auto_arbitrage_feed: current ranked opportunities. - get_new_deals: incremental polling since a timestamp. - get_price_drops: motivated-seller discount signals. - price_check: valuation for one hypothetical car. - get_vehicle_listing_by_id: cheap/free single-listing lookup. - analyze_listing: paid deep dive for one listing id, closest comparables and price history. ## Retry guidance If you get no data, broaden make/model filters, lower min_margin_eur, increase limit, or call market_stats first to confirm enough live listings exist for that model. For import comparisons, omit transmission or try a different year/mileage with better coverage. Do not invent a valuation when fewer than 5 comparables exist. The suggested search and market tools are paid. ## Static synthetic use-case examples All response examples below are SYNTHETIC_ILLUSTRATION: live_data=false, payment_made=false. No current stock, savings, quota observation or usable payment challenge is represented. { "schema_version": "1.0", "reviewed_at": "2026-10-16", "example_kind": "SYNTHETIC_ILLUSTRATION", "live_data": false, "payment_made": false, "notice": "Static examples only. No market, model, wallet or payment calls are made by this document.", "links": { "guide": "https://irish-auto-arbitrage-production.up.railway.app/use-cases/uk-to-ireland-car-import", "service": "https://irish-auto-arbitrage-production.up.railway.app/", "examples": "https://irish-auto-arbitrage-production.up.railway.app/examples.json", "docs": "https://irish-auto-arbitrage-production.up.railway.app/docs", "openapi": "https://irish-auto-arbitrage-production.up.railway.app/openapi.json", "buyers": "https://irish-auto-arbitrage-production.up.railway.app/buyers.txt", "llms": "https://irish-auto-arbitrage-production.up.railway.app/llms.txt", "pypi": "https://pypi.org/project/irish-car-import-assistant/", "repository": "https://github.com/LKennedyShare/irish-car-import-assistant", "llms_full": "https://irish-auto-arbitrage-production.up.railway.app/llms-full.txt", "vscode_mcp": "https://irish-auto-arbitrage-production.up.railway.app/integrations/vscode-mcp.json", "cursor_mcp": "https://irish-auto-arbitrage-production.up.railway.app/integrations/cursor-mcp.json", "client_examples": "https://github.com/LKennedyShare/irish-car-import-assistant/tree/main/examples", "revenue": "https://www.revenue.ie/en/vrt/" }, "protocols": { "note": "Connect using MCP (streamable HTTP) or the x402 REST API. The /a2a/ URL is a legacy API namespace, not an implementation of the A2A protocol. MCP connectivity alone does not provide a wallet or x402 payment support.", "mcp_endpoint": "https://mcp-production-f77f.up.railway.app/mcp", "mcp_arguments": "Vehicle fields are flat inside params.arguments, not inside an extra input or params object.", "mcp_call_example": { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "preview_uk_import_check", "arguments": { "make": "Volkswagen", "model": "Golf", "year": 2023, "mileage_km": 50000, "fuel_type": "Petrol", "co2_g_km": 125 } } } }, "client": { "minimum_framework_version": "0.2.0", "install": "python -m pip install irish-car-import-assistant", "optional_extras_install": "python -m pip install \"irish-car-import-assistant[langchain,openai]>=0.2.0\"", "offline_demo": "car-import-assistant --demo", "free_structured_cli": "car-import-assistant --make Volkswagen --model Golf --year 2023 --mileage-km 50000 --fuel-type Petrol --co2-g-km 125 --json", "quote_only_cli": "car-import-assistant --make Volkswagen --model Golf --year 2023 --mileage-km 50000 --fuel-type Petrol --co2-g-km 125 --json --full", "explicit_paid_cli": "car-import-assistant --make Volkswagen --model Golf --year 2023 --mileage-km 50000 --fuel-type Petrol --co2-g-km 125 --json --full --pay --max-usdc 0.02", "framework_example": "from irish_car_import_assistant import CarImportTools\nsession = CarImportTools()\nlangchain_tools = session.as_langchain_tools()\nopenai_tools = session.as_openai_tools()", "safety": [ "The structured free CLI needs no LLM or wallet. --full inspects a quote without paying.", "Only explicit --full --pay authorizes a capped paid retry; nothing here runs it.", "Default framework tools are offline_demo, preview, quote. Paid tools are hidden by default.", "Paid framework tools require an operator-defined approval_policy; model output cannot authorize spending.", "Retain one CarImportTools instance: default session limit 0.02 USDC and one paid attempt.", "Reservations are in memory; failures do not refund them and restarts reset them. Production needs durable external policy and budgets.", "Never put wallet keys in prompts, inline examples or logs. Frameworks have separate model costs and privacy settings.", "No automatic model calls, payment upgrades or spending; MCP connectivity is not payment authorization." ] }, "selection": { "import": "Use the free preview for a buy-in-Ireland versus import decision; use the paid full import check only for individual matching listings.", "valuation": "Use price_check for a specific Irish valuation or uk_price_check for UK/NI, not for landed costs.", "search": "Use search_car_listings for candidate listings, not a valuation or an import recommendation.", "coverage": "At least 5 comparables within filters: same make/model/fuel, within 1 year and 30,000 km, plus optional transmission. Import needs Irish and qualifying origin coverage. Otherwise no_data, never an invented valuation.", "vehicle": "Supply actual make, model, year, mileage in km, fuel type and measured WLTP CO2; do not guess hybrid fuel or CO2.", "origin": "Import origin GB means Great Britain; NI means Northern Ireland; ANY compares qualifying routes. Search country=GB includes NI, unlike import origin=GB. Check vehicle history, origin and tax treatment with Revenue." }, "preview_quota": { "attempts_per_ip_per_utc_day": 3, "shared_across": [ "REST", "MCP" ], "resets": "midnight UTC", "excludes": "individual listings", "invalid_and_no_data_attempts_count": true }, "input_examples": [ { "id": "free_preview", "tool": "preview_uk_import_check", "input": { "make": "Volkswagen", "model": "Golf", "year": 2023, "mileage_km": 50000, "fuel_type": "Petrol", "co2_g_km": 125 }, "rest": { "method": "GET", "url": "https://irish-auto-arbitrage-production.up.railway.app/api/v1/a2a/uk-import-preview?make=Volkswagen&model=Golf&year=2023&mileage_km=50000&fuel_type=Petrol&co2_g_km=125", "price_usdc": "0" } }, { "id": "full_import_check", "tool": "is_it_cheaper_to_import_car_from_uk_to_ireland", "input": { "make": "Volkswagen", "model": "Golf", "year": 2023, "mileage_km": 50000, "fuel_type": "Petrol", "co2_g_km": 125 }, "rest": { "method": "GET", "url": "https://irish-auto-arbitrage-production.up.railway.app/api/v1/a2a/uk-import-check?make=Volkswagen&model=Golf&year=2023&mileage_km=50000&fuel_type=Petrol&co2_g_km=125", "price_usdc": "0.02" } }, { "id": "irish_valuation", "tool": "price_check", "input": { "make": "Volkswagen", "model": "Golf", "year": 2023, "mileage_km": 50000, "fuel_type": "Petrol" }, "rest": { "method": "GET", "url": "https://irish-auto-arbitrage-production.up.railway.app/api/v1/a2a/price-check?make=Volkswagen&model=Golf&year=2023&mileage_km=50000&fuel_type=Petrol", "price_usdc": "0.005" } }, { "id": "listing_search", "tool": "search_car_listings", "input": { "make": "Volkswagen", "model": "Golf", "country": "ALL", "year_min": 2022, "year_max": 2024, "limit": 3 }, "rest": { "method": "GET", "url": "https://irish-auto-arbitrage-production.up.railway.app/api/v1/a2a/listings?make=Volkswagen&model=Golf&country=ALL&year_min=2022&year_max=2024&limit=3", "price_usdc": "0.01" } } ], "response_examples": [ { "example_kind": "SYNTHETIC_ILLUSTRATION", "live_data": false, "payment_made": false, "id": "preview", "status": 200, "body": { "example_kind": "SYNTHETIC_ILLUSTRATION", "live_data": false, "payment_made": false, "query": { "make": "Volkswagen", "model": "Golf", "year": 2023, "mileage_km": 50000, "fuel_type": "Petrol", "co2_g_km": 125 }, "irish_market": { "comparable_count": 68, "median_price_eur": 29950.0, "p25_price_eur": 24971.25, "p75_price_eur": 32218.25 }, "verdict": { "cheaper_to_import": false, "recommendation": "BUY_IN_IRELAND", "best_origin": "GB", "saving_eur": -8060.6, "summary": "SYNTHETIC_ILLUSTRATION: buying in Ireland costs less in this invented example." }, "assumptions": [ "SYNTHETIC_ILLUSTRATION: all prices, counts, FX and costs are illustrative, not current market observations.", "Illustrative GBP/EUR rate 1.1819; route costs are estimates, not tax advice.", "No current availability, achievable savings or individual listings are represented." ], "estimate_only": true, "disclaimer": "Indicative estimate; confirm duty, VAT and VRT with Revenue before buying.", "routes": [ { "origin": "GB", "comparable_count": 23, "median_uk_price_gbp": 19645.0, "median_uk_price_eur": 23218.43, "landed_cost": { "vehicle_price_eur": 23218.43, "shipping_eur": 650.0, "customs_duty_eur": 2386.84, "import_vat_eur": 6038.71, "vrt_eur": 5016.62, "nox_levy_eur": 200.0, "other_costs_eur": 500.0, "total_landed_cost_eur": 38010.6 }, "saving_vs_irish_median_eur": -8060.6, "cheaper_to_import": false, "recommendation": "BUY_IN_IRELAND" } ], "preview": { "full_result_path": "/api/v1/a2a/uk-import-check", "full_result_tool": "is_it_cheaper_to_import_car_from_uk_to_ireland", "note": "Free preview excludes individual listings. Use the paid import check for matching listings." } } }, { "example_kind": "SYNTHETIC_ILLUSTRATION", "live_data": false, "payment_made": false, "id": "insufficient_coverage", "status": 404, "outcome": "no_data", "body": { "detail": { "message": "No data found for UK import comparison; you were not charged.", "suggestion": "Omit transmission or check GB and IE coverage using search_car_listings. Do not substitute invented values; coverage tools are paid." } } }, { "example_kind": "SYNTHETIC_ILLUSTRATION", "live_data": false, "payment_made": false, "id": "quota_exhausted", "status": 429, "headers": { "Retry-After": "3600", "X-RateLimit-Limit": "3", "X-RateLimit-Remaining": "0" }, "body": { "detail": "Free import preview is capped at 3 attempts per UTC day per IP; retry after the reset." }, "note": "Illustrative Retry-After seconds, not a current quota observation. Wait; do not auto-upgrade." }, { "example_kind": "SYNTHETIC_ILLUSTRATION", "live_data": false, "payment_made": false, "id": "paid_challenge", "status": 402, "headers": { "PAYMENT-REQUIRED": "" }, "body": null, "price_usdc": "0.02", "asset": "USDC", "note": "Informational only, not a signed or usable challenge. A real 402 body may be empty. Reading this requires no wallet; no_data 404 is not charged." } ], "estimate_only": true, "disclaimer": "All response examples are SYNTHETIC_ILLUSTRATION, not current market calls or tax advice. Confirm treatment with Revenue before buying." } ## Current public OpenAPI JSON The following is the actual application OpenAPI, generated after route registration. It includes REST validation constraints and public routes; private routes are not documented. { "openapi": "3.1.0", "info": { "title": "UK Ireland Used Car Import Agent", "description": "Is it cheaper to import this used car from the UK to Ireland? One call compares live UK, Northern Ireland and Irish listings and returns the landed cost (transport, customs duty, VAT, VRT) against the Irish market price. Also: UK and Irish car search, price checks, market stats, depreciation, county prices, below-market deals and VRT/NOx calculators. Pay per request in USDC via x402.\n\n**Payment:** paid `/api/v1/a2a/*` endpoints use the x402 protocol. Call without payment to receive HTTP 402 with payment terms in the PAYMENT-REQUIRED header (USDC on Base); pay with an x402 client and retry. Responses with status 404 (no matching data) are not charged.\n\n**Protocols:** Connect using MCP (streamable HTTP) or the x402 REST API. The /a2a/ URL is a legacy API namespace, not an implementation of the A2A protocol. MCP connectivity alone does not provide a wallet or x402 payment support.\n\n**Data caveat:** analytics are estimates from public listings; VRT and import figures are not tax advice.", "version": "0.4.0" }, "paths": { "/api/v1/a2a/arbitrage-feed": { "get": { "tags": [ "paid" ], "summary": "Best-value used cars in Ireland right now", "description": "Use when you want a ranked list of Irish used-car listings priced below the median of genuinely comparable cars (same make, model, fuel, transmission, within 1 year and 30,000 km). Each result includes the asking price, the market median, number of comparables and the gross margin. Best for dealers, flippers and buying agents looking for opportunities. Use get_new_deals instead for only recently discovered deals, or get_price_drops for listings where the seller has just reduced the asking price.\n\n**Price:** 0.05 USDC per request (x402).", "operationId": "get_irish_auto_arbitrage_feed", "parameters": [ { "name": "min_margin_eur", "in": "query", "required": false, "schema": { "type": "number", "description": "Minimum margin in EUR between market median and asking price (after a cost buffer).", "examples": [ 1500.0 ], "default": 1500.0, "title": "Min Margin Eur" }, "description": "Minimum margin in EUR between market median and asking price (after a cost buffer)." }, { "name": "make", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Only return this make, e.g. BMW.", "examples": [ "BMW" ], "title": "Make" }, "description": "Only return this make, e.g. BMW." }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 500, "minimum": 1, "description": "Maximum results, 1-500.", "examples": [ 20 ], "default": 100, "title": "Limit" }, "description": "Maximum results, 1-500." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Get Irish Auto Arbitrage Feed" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/new-deals": { "get": { "tags": [ "paid" ], "summary": "Newly listed below-market cars since a given time", "description": "Use to poll for fresh opportunities: returns deals first seen by us since a timestamp (default: last 24 hours). Call on a schedule with the previous call's time to receive only new deals. Use get_irish_auto_arbitrage_feed instead for the current ranked deal list regardless of first-seen time, or get_price_drops for discount signals.\n\n**Price:** 0.02 USDC per request (x402).", "operationId": "get_new_deals", "parameters": [ { "name": "since", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "description": "ISO 8601 timestamp. Defaults to 24 hours ago.", "examples": [ "2026-10-14T08:00:00Z" ], "title": "Since" }, "description": "ISO 8601 timestamp. Defaults to 24 hours ago." }, { "name": "min_margin_eur", "in": "query", "required": false, "schema": { "type": "number", "description": "Minimum margin in EUR.", "examples": [ 1500.0 ], "default": 1500.0, "title": "Min Margin Eur" }, "description": "Minimum margin in EUR." }, { "name": "make", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Only this make.", "examples": [ "Volkswagen" ], "title": "Make" }, "description": "Only this make." }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 500, "minimum": 1, "description": "Maximum results, 1-500.", "examples": [ 20 ], "default": 100, "title": "Limit" }, "description": "Maximum results, 1-500." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Get New Deals" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/price-check": { "get": { "tags": [ "paid" ], "summary": "What is this used car worth in Ireland?", "description": "Use to value a specific car: median, mean, quartiles and range of comparable Irish listings (same make, model, fuel, transmission if given, within 1 year and 30,000 km). Returns 404 (no charge) if there are fewer than 5 comparables. Use market_stats instead for a broad make/model overview, or analyze_listing when you already have a listing_id.\n\n**Price:** 0.005 USDC per request (x402).", "operationId": "price_check", "parameters": [ { "name": "make", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle make, case-insensitive.", "examples": [ "Toyota" ], "title": "Make" }, "description": "Vehicle make, case-insensitive." }, { "name": "model", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle model, case-insensitive.", "examples": [ "Corolla" ], "title": "Model" }, "description": "Vehicle model, case-insensitive." }, { "name": "year", "in": "query", "required": true, "schema": { "type": "integer", "maximum": 2100, "minimum": 1950, "description": "Model year.", "examples": [ 2020 ], "title": "Year" }, "description": "Model year." }, { "name": "mileage_km", "in": "query", "required": true, "schema": { "type": "integer", "minimum": 0, "description": "Odometer reading in km.", "examples": [ 60000 ], "title": "Mileage Km" }, "description": "Odometer reading in km." }, { "name": "fuel_type", "in": "query", "required": true, "schema": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "examples": [ "Diesel" ], "title": "Fuel Type" }, "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid." }, { "name": "transmission", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional: Manual or Automatic.", "examples": [ "Manual" ], "title": "Transmission" }, "description": "Optional: Manual or Automatic." }, { "name": "country", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^(?i:IE|GB|ALL)$", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "examples": [ "IE" ], "default": "IE", "title": "Country" }, "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate)." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Price Check" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/listing/{source_platform}/{listing_id}": { "get": { "tags": [ "paid" ], "summary": "Is this specific Irish car listing good value?", "description": "Use to assess one listing you already have an id for. Use get_irish_auto_arbitrage_feed or get_vehicle_listing_by_id first to find a listing_id. Defaults to source_platform='carzone' when omitted. Returns verdict (below/at/above market), percentage vs the comparable median, margin, up to 10 closest comparable listings and the listing's recorded price history.\n\n**Price:** 0.01 USDC per request (x402).", "operationId": "analyze_listing", "parameters": [ { "name": "source_platform", "in": "path", "required": true, "schema": { "type": "string", "description": "Optional source platform. Defaults to 'carzone'.", "examples": [ "carzone" ], "title": "Source Platform" }, "description": "Optional source platform. Defaults to 'carzone'." }, { "name": "listing_id", "in": "path", "required": true, "schema": { "type": "string", "description": "The listing's id as returned by the other endpoints.", "examples": [ "4577902" ], "title": "Listing Id" }, "description": "The listing's id as returned by the other endpoints." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Analyze Listing" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/market-stats": { "get": { "tags": [ "paid" ], "summary": "Irish market prices for a make and model", "description": "Use for an overview of one model in the Irish used market: listing count, price range, median, and median price and mileage by model year and by fuel type. Use price_check instead to value one specific car with year, mileage, fuel type and optional transmission.\n\n**Price:** 0.01 USDC per request (x402).", "operationId": "market_stats", "parameters": [ { "name": "make", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle make, case-insensitive.", "examples": [ "Toyota" ], "title": "Make" }, "description": "Vehicle make, case-insensitive." }, { "name": "model", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle model, case-insensitive.", "examples": [ "Corolla" ], "title": "Model" }, "description": "Vehicle model, case-insensitive." }, { "name": "country", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^(?i:IE|GB|ALL)$", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "examples": [ "IE" ], "default": "IE", "title": "Country" }, "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate)." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Market Stats" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/depreciation": { "get": { "tags": [ "paid" ], "summary": "How fast a car model loses value in Ireland", "description": "Use to estimate depreciation: median price by model year with year-on-year change, plus price change per 10,000 km. Needs at least 5 listings; otherwise returns 404 and you are not charged. Use market_stats instead for a simple market overview without depreciation calculations.\n\n**Price:** 0.01 USDC per request (x402).", "operationId": "depreciation", "parameters": [ { "name": "make", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle make, case-insensitive.", "examples": [ "Toyota" ], "title": "Make" }, "description": "Vehicle make, case-insensitive." }, { "name": "model", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle model, case-insensitive.", "examples": [ "Corolla" ], "title": "Model" }, "description": "Vehicle model, case-insensitive." }, { "name": "fuel_type", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional: restrict to one fuel type.", "examples": [ "Diesel" ], "title": "Fuel Type" }, "description": "Optional: restrict to one fuel type." }, { "name": "country", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^(?i:IE|GB|ALL)$", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "examples": [ "IE" ], "default": "IE", "title": "Country" }, "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate)." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Depreciation" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/by-county": { "get": { "tags": [ "paid" ], "summary": "Used-car prices by Irish county", "description": "Use to see where a model (or make, or all cars) is cheapest or dearest across Irish counties, relative to the national median. Small counties may have few listings. Use market_stats instead when county comparison is not needed.\n\n**Price:** 0.01 USDC per request (x402).", "operationId": "prices_by_county", "parameters": [ { "name": "make", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional make filter.", "examples": [ "Toyota" ], "title": "Make" }, "description": "Optional make filter." }, { "name": "model", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional model filter (use with make).", "examples": [ "Corolla" ], "title": "Model" }, "description": "Optional model filter (use with make)." }, { "name": "country", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^(?i:IE|GB|ALL)$", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "examples": [ "IE" ], "default": "IE", "title": "Country" }, "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate)." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Prices By County" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/price-drops": { "get": { "tags": [ "paid" ], "summary": "Irish used cars whose asking price was recently cut", "description": "Use to find motivated sellers: listings whose price dropped within the last N days, with original, previous and current price and the percentage cut. Price history is recorded by us from the first time we see a listing. Use get_irish_auto_arbitrage_feed instead for below-market ranking even when there was no recent price cut.\n\n**Price:** 0.02 USDC per request (x402).", "operationId": "get_price_drops", "parameters": [ { "name": "days", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 60, "minimum": 1, "description": "Look-back window in days, 1-60.", "examples": [ 7 ], "default": 7, "title": "Days" }, "description": "Look-back window in days, 1-60." }, { "name": "min_drop_pct", "in": "query", "required": false, "schema": { "type": "number", "minimum": 0, "description": "Minimum size of the latest cut, in percent.", "examples": [ 3.0 ], "default": 3.0, "title": "Min Drop Pct" }, "description": "Minimum size of the latest cut, in percent." }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 500, "minimum": 1, "description": "Maximum results, 1-500.", "examples": [ 20 ], "default": 100, "title": "Limit" }, "description": "Maximum results, 1-500." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Get Price Drops" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/vrt-estimate": { "get": { "tags": [ "paid" ], "summary": "Irish VRT and NOx levy estimate", "description": "Use to estimate Vehicle Registration Tax and the NOx levy for a vehicle registered in Ireland, from its taxable value (OMSP), CO2 emissions and fuel type. Estimate only; verify against Revenue.ie. Use import_calculator instead for a full UK-to-Ireland landed-cost and margin estimate.\n\n**Price:** 0.005 USDC per request (x402).", "operationId": "estimate_irish_vrt", "parameters": [ { "name": "price_eur", "in": "query", "required": true, "schema": { "type": "number", "minimum": 0, "description": "Open market selling price (OMSP) in EUR.", "examples": [ 20000.0 ], "title": "Price Eur" }, "description": "Open market selling price (OMSP) in EUR." }, { "name": "co2_g_km", "in": "query", "required": true, "schema": { "type": "integer", "maximum": 1000, "minimum": 0, "description": "WLTP CO2 in g/km.", "examples": [ 125 ], "title": "Co2 G Km" }, "description": "WLTP CO2 in g/km." }, { "name": "fuel_type", "in": "query", "required": true, "schema": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "examples": [ "Diesel" ], "title": "Fuel Type" }, "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid." }, { "name": "nox_mg_km", "in": "query", "required": false, "schema": { "type": "number", "minimum": 0, "description": "NOx in mg/km. Default 40.", "examples": [ 40.0 ], "default": 40.0, "title": "Nox Mg Km" }, "description": "NOx in mg/km. Default 40." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Estimate Irish Vrt" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/inventory-summary": { "get": { "tags": [ "paid" ], "summary": "How many used cars are listed in Ireland", "description": "Returns one number: the count of active used-car listings in Ireland, with a timestamp. No breakdowns and no prices. Use get_inventory_breakdown instead for county, make, turnover and freshness details.\n\n**Price:** 0.005 USDC per request (x402).", "operationId": "get_inventory_summary", "parameters": [ { "name": "country", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^(?i:IE|GB|ALL)$", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "examples": [ "IE" ], "default": "IE", "title": "Country" }, "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate)." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Get Inventory Summary" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/inventory-breakdown": { "get": { "tags": [ "paid" ], "summary": "Irish used-car inventory by county and make, with turnover and freshness", "description": "Use for market coverage and supply analysis: active used-car listings, optionally for one county and/or make, with a county and make breakdown, listings added in the last 24 hours, listings removed in the last 7 days, number of sources and when the data was last refreshed. Counts only; no prices. Use get_inventory_summary instead when you only need the one headline active-listing count.\n\n**Price:** 0.01 USDC per request (x402).", "operationId": "get_inventory_breakdown", "parameters": [ { "name": "county", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional Irish county, e.g. Dublin, Cork, Galway (case-insensitive).", "examples": [ "Dublin" ], "title": "County" }, "description": "Optional Irish county, e.g. Dublin, Cork, Galway (case-insensitive)." }, { "name": "make", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional vehicle make, case-insensitive.", "examples": [ "Toyota" ], "title": "Make" }, "description": "Optional vehicle make, case-insensitive." }, { "name": "country", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^(?i:IE|GB|ALL)$", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "examples": [ "IE" ], "default": "IE", "title": "Country" }, "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate)." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Get Inventory Breakdown" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/vehicle/{listing_id}": { "get": { "tags": [ "paid", "free" ], "summary": "Look up one Irish car listing by id", "description": "Use when you already have a listing id (from another call or a dealer site) and want that single vehicle: make, model, year, price, mileage, status and days on market, how its price compares with the market median, and an indicative VRT breakdown. Returns one row. For ranked below-market deals across all stock use get_irish_auto_arbitrage_feed. Use analyze_listing instead when you want closest comparables and price history.\n\n**Free:** no payment needed; limited to 10 calls per day per IP.", "operationId": "get_vehicle_listing_by_id", "parameters": [ { "name": "listing_id", "in": "path", "required": true, "schema": { "type": "string", "description": "The listing id as returned by other tools, e.g. a Carzone ad id or a dealer stock id.", "examples": [ "4577902" ], "title": "Listing Id" }, "description": "The listing id as returned by other tools, e.g. a Carzone ad id or a dealer stock id." }, { "name": "source_platform", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional source platform. Only needed when the same id exists on more than one source.", "examples": [ "carzone" ], "title": "Source Platform" }, "description": "Optional source platform. Only needed when the same id exists on more than one source." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Get Vehicle Listing By Id" } } } }, "404": { "description": "No matching data." }, "429": { "description": "Free-tier limit reached for this IP. Retry after the Retry-After seconds, or use the paid MCP tool." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/import-calculator": { "get": { "tags": [ "paid" ], "summary": "UK-to-Ireland car import landed cost and margin", "description": "Use to judge a UK import: converts the GBP price and adds shipping, customs duty, import VAT, VRT, NOx levy and a cost buffer to give the landed cost in EUR. Provide make, model, year and mileage to also get the expected margin against the Irish market median. Duty and VAT default to 0 and must be set by the caller; results are estimates. Use estimate_irish_vrt instead when you only need VRT and NOx for an already Irish-valued vehicle.\n\n**Price:** 0.01 USDC per request (x402).", "operationId": "import_calculator", "parameters": [ { "name": "uk_price_gbp", "in": "query", "required": true, "schema": { "type": "number", "exclusiveMinimum": 0, "description": "UK asking price in GBP.", "examples": [ 10000.0 ], "title": "Uk Price Gbp" }, "description": "UK asking price in GBP." }, { "name": "co2_g_km", "in": "query", "required": true, "schema": { "type": "integer", "maximum": 1000, "minimum": 0, "description": "WLTP CO2 emissions in g/km (drives the VRT band).", "examples": [ 125 ], "title": "Co2 G Km" }, "description": "WLTP CO2 emissions in g/km (drives the VRT band)." }, { "name": "fuel_type", "in": "query", "required": true, "schema": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "examples": [ "Diesel" ], "title": "Fuel Type" }, "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid." }, { "name": "make", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional; with model, year and mileage_km enables the margin calculation.", "examples": [ "Toyota" ], "title": "Make" }, "description": "Optional; with model, year and mileage_km enables the margin calculation." }, { "name": "model", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional.", "examples": [ "Corolla" ], "title": "Model" }, "description": "Optional." }, { "name": "year", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "description": "Optional model year.", "examples": [ 2020 ], "title": "Year" }, "description": "Optional model year." }, { "name": "mileage_km", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "description": "Optional mileage in km.", "examples": [ 60000 ], "title": "Mileage Km" }, "description": "Optional mileage in km." }, { "name": "transmission", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional: Manual or Automatic.", "examples": [ "Manual" ], "title": "Transmission" }, "description": "Optional: Manual or Automatic." }, { "name": "shipping_eur", "in": "query", "required": false, "schema": { "type": "number", "minimum": 0, "description": "Shipping/transport cost in EUR. Default 600.", "examples": [ 600.0 ], "default": 600.0, "title": "Shipping Eur" }, "description": "Shipping/transport cost in EUR. Default 600." }, { "name": "customs_duty_pct", "in": "query", "required": false, "schema": { "type": "number", "minimum": 0, "description": "Customs duty percent. Default 0 (GB-built cars may attract ~10%).", "examples": [ 0.0 ], "default": 0.0, "title": "Customs Duty Pct" }, "description": "Customs duty percent. Default 0 (GB-built cars may attract ~10%)." }, { "name": "import_vat_pct", "in": "query", "required": false, "schema": { "type": "number", "minimum": 0, "description": "Import VAT percent. Default 0; set 23 if it applies.", "examples": [ 0.0 ], "default": 0.0, "title": "Import Vat Pct" }, "description": "Import VAT percent. Default 0; set 23 if it applies." }, { "name": "gbp_eur_rate", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "number", "exclusiveMinimum": 0 }, { "type": "null" } ], "description": "GBP to EUR rate. Defaults to the service rate.", "examples": [ 1.17 ], "title": "Gbp Eur Rate" }, "description": "GBP to EUR rate. Defaults to the service rate." }, { "name": "nox_mg_km", "in": "query", "required": false, "schema": { "type": "number", "minimum": 0, "description": "NOx mg/km for the NOx levy. Default 40.", "examples": [ 40.0 ], "default": 40.0, "title": "Nox Mg Km" }, "description": "NOx mg/km for the NOx levy. Default 40." }, { "name": "other_costs_eur", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "number", "minimum": 0 }, { "type": "null" } ], "description": "Other costs in EUR. Defaults to the service cost buffer (500).", "examples": [ 500.0 ], "title": "Other Costs Eur" }, "description": "Other costs in EUR. Defaults to the service cost buffer (500)." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Import Calculator" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/uk-import-check": { "get": { "tags": [ "paid" ], "summary": "Is it cheaper to import this car from the UK or Northern Ireland to Ireland?", "description": "Headline call. Use when someone is deciding whether to buy a used car in the UK or Northern Ireland and import it to Ireland. Compares the median price of comparable live UK and Northern Ireland listings (same make, model, fuel, within 1 year and 30,000 km) with the Irish median, adds transport, customs duty and import VAT (Great Britain), Irish VRT and NOx levy, and returns a verdict (IMPORT, MARGINAL or BUY_IN_IRELAND), the saving in EUR, the landed-cost breakdown per route and the three cheapest matching listings. Returns 404 (no charge) if either market has fewer than 5 comparables. Pass co2_g_km for an accurate VRT figure. Estimate only.\n\n**Price:** 0.02 USDC per request (x402).", "operationId": "is_it_cheaper_to_import_car_from_uk_to_ireland", "parameters": [ { "name": "make", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle make, case-insensitive.", "examples": [ "Volkswagen" ], "title": "Make" }, "description": "Vehicle make, case-insensitive." }, { "name": "model", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle model, case-insensitive.", "examples": [ "Golf" ], "title": "Model" }, "description": "Vehicle model, case-insensitive." }, { "name": "year", "in": "query", "required": true, "schema": { "type": "integer", "maximum": 2100, "minimum": 1950, "description": "Model year.", "examples": [ 2023 ], "title": "Year" }, "description": "Model year." }, { "name": "mileage_km", "in": "query", "required": true, "schema": { "type": "integer", "minimum": 0, "description": "Odometer reading in km.", "examples": [ 50000 ], "title": "Mileage Km" }, "description": "Odometer reading in km." }, { "name": "fuel_type", "in": "query", "required": true, "schema": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "examples": [ "Petrol" ], "title": "Fuel Type" }, "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid." }, { "name": "transmission", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional: Manual or Automatic. Omit to include both.", "title": "Transmission" }, "description": "Optional: Manual or Automatic. Omit to include both." }, { "name": "co2_g_km", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 1000, "minimum": 0, "description": "WLTP CO2 in g/km for the VRT estimate. Default 130.", "examples": [ 125 ], "default": 130, "title": "Co2 G Km" }, "description": "WLTP CO2 in g/km for the VRT estimate. Default 130." }, { "name": "origin", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^(?i:ANY|GB|NI)$", "description": "GB = Great Britain, NI = Northern Ireland, ANY = compare both (default).", "examples": [ "ANY" ], "default": "ANY", "title": "Origin" }, "description": "GB = Great Britain, NI = Northern Ireland, ANY = compare both (default)." }, { "name": "shipping_eur", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "number", "minimum": 0 }, { "type": "null" } ], "description": "Transport cost to Ireland in EUR. Default 650.", "examples": [ 650.0 ], "title": "Shipping Eur" }, "description": "Transport cost to Ireland in EUR. Default 650." }, { "name": "other_costs_eur", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "number", "minimum": 0 }, { "type": "null" } ], "description": "NCT, registration and fees in EUR. Default 500.", "examples": [ 500.0 ], "title": "Other Costs Eur" }, "description": "NCT, registration and fees in EUR. Default 500." }, { "name": "margin_of_safety_eur", "in": "query", "required": false, "schema": { "type": "number", "minimum": 0, "description": "Minimum saving to recommend IMPORT rather than MARGINAL. Default 1000.", "examples": [ 1000.0 ], "default": 1000.0, "title": "Margin Of Safety Eur" }, "description": "Minimum saving to recommend IMPORT rather than MARGINAL. Default 1000." }, { "name": "ni_vat_pct", "in": "query", "required": false, "schema": { "type": "number", "minimum": 0, "description": "Irish VAT % to apply to Northern Ireland purchases (0 for private or margin-scheme sales). Default 0.", "examples": [ 0.0 ], "default": 0.0, "title": "Ni Vat Pct" }, "description": "Irish VAT % to apply to Northern Ireland purchases (0 for private or margin-scheme sales). Default 0." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Is It Cheaper To Import Car From Uk To Ireland" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/uk-import-preview": { "get": { "tags": [ "paid", "free" ], "summary": "Try a free UK-to-Ireland import comparison", "description": "Free limited preview of the import decision, Irish market median and landed costs. Uses the same live data and parameters as the paid import check, but excludes individual listings. Quota is shared across REST and MCP and resets at midnight UTC; failed and no-data attempts also count. Use is_it_cheaper_to_import_car_from_uk_to_ireland for matching listings. Estimates only.\n\n**Free:** no payment needed; limited to 3 calls per day per IP.", "operationId": "preview_uk_import_check", "parameters": [ { "name": "make", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle make, case-insensitive.", "examples": [ "Volkswagen" ], "title": "Make" }, "description": "Vehicle make, case-insensitive." }, { "name": "model", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle model, case-insensitive.", "examples": [ "Golf" ], "title": "Model" }, "description": "Vehicle model, case-insensitive." }, { "name": "year", "in": "query", "required": true, "schema": { "type": "integer", "maximum": 2100, "minimum": 1950, "description": "Model year.", "examples": [ 2023 ], "title": "Year" }, "description": "Model year." }, { "name": "mileage_km", "in": "query", "required": true, "schema": { "type": "integer", "minimum": 0, "description": "Odometer reading in km.", "examples": [ 50000 ], "title": "Mileage Km" }, "description": "Odometer reading in km." }, { "name": "fuel_type", "in": "query", "required": true, "schema": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "examples": [ "Petrol" ], "title": "Fuel Type" }, "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid." }, { "name": "transmission", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional: Manual or Automatic. Omit to include both.", "title": "Transmission" }, "description": "Optional: Manual or Automatic. Omit to include both." }, { "name": "co2_g_km", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 1000, "minimum": 0, "description": "WLTP CO2 in g/km for the VRT estimate. Default 130.", "examples": [ 125 ], "default": 130, "title": "Co2 G Km" }, "description": "WLTP CO2 in g/km for the VRT estimate. Default 130." }, { "name": "origin", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^(?i:ANY|GB|NI)$", "description": "GB = Great Britain, NI = Northern Ireland, ANY = compare both (default).", "examples": [ "ANY" ], "default": "ANY", "title": "Origin" }, "description": "GB = Great Britain, NI = Northern Ireland, ANY = compare both (default)." }, { "name": "shipping_eur", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "number", "minimum": 0 }, { "type": "null" } ], "description": "Transport cost to Ireland in EUR. Default 650.", "examples": [ 650.0 ], "title": "Shipping Eur" }, "description": "Transport cost to Ireland in EUR. Default 650." }, { "name": "other_costs_eur", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "number", "minimum": 0 }, { "type": "null" } ], "description": "NCT, registration and fees in EUR. Default 500.", "examples": [ 500.0 ], "title": "Other Costs Eur" }, "description": "NCT, registration and fees in EUR. Default 500." }, { "name": "margin_of_safety_eur", "in": "query", "required": false, "schema": { "type": "number", "minimum": 0, "description": "Minimum saving to recommend IMPORT rather than MARGINAL. Default 1000.", "examples": [ 1000.0 ], "default": 1000.0, "title": "Margin Of Safety Eur" }, "description": "Minimum saving to recommend IMPORT rather than MARGINAL. Default 1000." }, { "name": "ni_vat_pct", "in": "query", "required": false, "schema": { "type": "number", "minimum": 0, "description": "Irish VAT % to apply to Northern Ireland purchases (0 for private or margin-scheme sales). Default 0.", "examples": [ 0.0 ], "default": 0.0, "title": "Ni Vat Pct" }, "description": "Irish VAT % to apply to Northern Ireland purchases (0 for private or margin-scheme sales). Default 0." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Preview Uk Import Check" } } } }, "404": { "description": "No matching data." }, "429": { "description": "Free-tier limit reached for this IP. Retry after the Retry-After seconds, or use the paid MCP tool." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/listings": { "get": { "tags": [ "paid" ], "summary": "Search used cars for sale in Ireland, the UK and Northern Ireland", "description": "Use to find live used-car listings across Ireland, the UK and Northern Ireland in one query: filter by make, model, year range, maximum price, maximum mileage, fuel type and county, sorted by price, newest or mileage. Each listing has its price in the local currency and in EUR, mileage in km, source and URL. Use uk_import_check instead to decide whether importing is cheaper. Returns 404 (no charge) when nothing matches.\n\n**Price:** 0.01 USDC per request (x402).", "operationId": "search_car_listings", "parameters": [ { "name": "country", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^(?i:IE|GB|ALL)$", "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate).", "examples": [ "ALL" ], "default": "ALL", "title": "Country" }, "description": "Market to query: IE = Ireland (default), GB = UK including Northern Ireland, ALL = both. Prices are always also given in EUR (GBP converted at the live ECB rate)." }, { "name": "make", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional vehicle make, case-insensitive.", "examples": [ "Toyota" ], "title": "Make" }, "description": "Optional vehicle make, case-insensitive." }, { "name": "model", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional vehicle model, case-insensitive.", "examples": [ "Corolla" ], "title": "Model" }, "description": "Optional vehicle model, case-insensitive." }, { "name": "year_min", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "maximum": 2100, "minimum": 1950 }, { "type": "null" } ], "description": "Optional earliest model year.", "examples": [ 2018 ], "title": "Year Min" }, "description": "Optional earliest model year." }, { "name": "year_max", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "maximum": 2100, "minimum": 1950 }, { "type": "null" } ], "description": "Optional latest model year.", "examples": [ 2023 ], "title": "Year Max" }, "description": "Optional latest model year." }, { "name": "max_price_eur", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "number", "minimum": 0 }, { "type": "null" } ], "description": "Optional maximum asking price in EUR.", "examples": [ 20000.0 ], "title": "Max Price Eur" }, "description": "Optional maximum asking price in EUR." }, { "name": "max_mileage_km", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "minimum": 0 }, { "type": "null" } ], "description": "Optional maximum mileage in km.", "examples": [ 100000 ], "title": "Max Mileage Km" }, "description": "Optional maximum mileage in km." }, { "name": "fuel_type", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional fuel type.", "examples": [ "Diesel" ], "title": "Fuel Type" }, "description": "Optional fuel type." }, { "name": "county", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional county or area, e.g. Dublin or Antrim (case-insensitive).", "examples": [ "Antrim" ], "title": "County" }, "description": "Optional county or area, e.g. Dublin or Antrim (case-insensitive)." }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^(price_asc|price_desc|newest|mileage_asc)$", "description": "price_asc (default), price_desc, newest or mileage_asc.", "examples": [ "price_asc" ], "default": "price_asc", "title": "Sort" }, "description": "price_asc (default), price_desc, newest or mileage_asc." }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 100, "minimum": 1, "description": "Maximum listings to return (1-100).", "examples": [ 20 ], "default": 20, "title": "Limit" }, "description": "Maximum listings to return (1-100)." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Search Car Listings" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/uk/price-check": { "get": { "tags": [ "paid" ], "summary": "What is this used car worth in the UK or Northern Ireland?", "description": "Use to value a specific car on the UK and Northern Ireland market: median, mean, quartiles and range of comparable live UK listings in EUR (same make, model, fuel, within 1 year and 30,000 km), plus the median in GBP. Returns 404 (no charge) with fewer than 5 comparables. Use price_check for Ireland or uk_import_check for the import decision.\n\n**Price:** 0.005 USDC per request (x402).", "operationId": "uk_price_check", "parameters": [ { "name": "make", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle make, case-insensitive.", "examples": [ "Toyota" ], "title": "Make" }, "description": "Vehicle make, case-insensitive." }, { "name": "model", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle model, case-insensitive.", "examples": [ "Corolla" ], "title": "Model" }, "description": "Vehicle model, case-insensitive." }, { "name": "year", "in": "query", "required": true, "schema": { "type": "integer", "maximum": 2100, "minimum": 1950, "description": "Model year.", "examples": [ 2020 ], "title": "Year" }, "description": "Model year." }, { "name": "mileage_km", "in": "query", "required": true, "schema": { "type": "integer", "minimum": 0, "description": "Odometer reading in km.", "examples": [ 60000 ], "title": "Mileage Km" }, "description": "Odometer reading in km." }, { "name": "fuel_type", "in": "query", "required": true, "schema": { "type": "string", "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid.", "examples": [ "Diesel" ], "title": "Fuel Type" }, "description": "Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid." }, { "name": "transmission", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional: Manual or Automatic.", "examples": [ "Manual" ], "title": "Transmission" }, "description": "Optional: Manual or Automatic." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Uk Price Check" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/a2a/uk/market-stats": { "get": { "tags": [ "paid" ], "summary": "UK and Northern Ireland used-car market for a make and model", "description": "Use for an overview of one make and model on the UK and Northern Ireland market: listing count, price range, median (EUR), medians by model year and fuel type, and how quickly cars sell. Use market_stats for Ireland or uk_import_check to compare the two markets.\n\n**Price:** 0.01 USDC per request (x402).", "operationId": "uk_market_stats", "parameters": [ { "name": "make", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle make, case-insensitive.", "examples": [ "Toyota" ], "title": "Make" }, "description": "Vehicle make, case-insensitive." }, { "name": "model", "in": "query", "required": true, "schema": { "type": "string", "description": "Vehicle model, case-insensitive.", "examples": [ "Corolla" ], "title": "Model" }, "description": "Vehicle model, case-insensitive." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Uk Market Stats" } } } }, "402": { "description": "Payment required. Decode the PAYMENT-REQUIRED header for x402 payment terms (USDC on Base); the body may be empty." }, "404": { "description": "No matching data. You are NOT charged for 404 responses." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/use-cases/uk-to-ireland-car-import": { "get": { "tags": [ "discovery" ], "summary": "UK-to-Ireland buying-agent guide", "operationId": "import_guide_use_cases_uk_to_ireland_car_import_get", "responses": { "200": { "description": "Successful Response", "content": { "text/html": { "schema": { "type": "string" } } } } } } }, "/examples.json": { "get": { "tags": [ "discovery" ], "summary": "Static versioned integration examples", "operationId": "examples_examples_json_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Examples Examples Json Get" } } } } } } }, "/": { "get": { "tags": [ "discovery" ], "summary": "Service overview, endpoints and prices", "operationId": "root__get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } } }, "/health": { "get": { "tags": [ "discovery" ], "summary": "Health check", "operationId": "health_health_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Health Health Get" } } } } } } }, "/integrations/vscode-mcp.json": { "get": { "tags": [ "discovery" ], "summary": "Download VS Code MCP configuration", "operationId": "vscode_config_integrations_vscode_mcp_json_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } } }, "/integrations/cursor-mcp.json": { "get": { "tags": [ "discovery" ], "summary": "Download Cursor MCP configuration", "operationId": "cursor_config_integrations_cursor_mcp_json_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } } }, "/llms-full.txt": { "get": { "tags": [ "discovery" ], "summary": "Complete public integration handbook", "operationId": "handbook_llms_full_txt_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } } } }, "components": { "schemas": { "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" } } }, "tags": [ { "name": "free", "description": "Free endpoint (capped per IP per day)." }, { "name": "paid", "description": "Paid endpoints (x402, USDC on Base)." }, { "name": "discovery", "description": "Free service information." } ] }