Irish Used Car Market Data
Server Details
Irish used-car prices, below-market deals, price drops, depreciation, VRT and UK import costs. Pay per call with x402 USDC on Base. Two free tools, and no-data results are never charged.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 14 tools
There is meaningful clustering around pricing/valuation (market_stats, price_check, depreciation, prices_by_county, analyze_listing) and around deal-finding (get_irish_auto_arbitrage_feed, get_new_deals, get_price_drops), but the descriptions do the heavy lifting by explicitly cross-referencing each other ('Use X instead when...'). An agent can mostly pick correctly, though the pricing cluster still invites occasional misselection.
Roughly half the tools use a get_* prefix (get_inventory_summary, get_price_drops, get_vehicle_listing_by_id, etc.) while the rest are bare nouns or verb_noun mixes (depreciation, market_stats, price_check, estimate_irish_vrt, analyze_listing). All names are readable snake_case, but there is no single predictable pattern across the set.
14 tools is well within the healthy range and each tool maps to a distinct query type (valuation, arbitrage, price drops, inventory, VRT, import costing, depreciation). No obvious filler; the count matches the breadth of a market-data service.
The surface covers the full lifecycle of market analysis: valuation, comparable analysis, deal discovery, price-drop tracking, inventory turnover, VRT/import costing, and service metadata. Minor gaps like historical time-series trends or saved-watchlist operations exist but are not core to the stated purpose.
Available Tools
14 toolsanalyze_listingIs this specific Irish car listing good value?ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | Yes | The listing's id as returned by the other endpoints. | 4577902 |
| source_platform | No | Optional source platform. Defaults to 'carzone'. | carzone |
Output Schema
| Name | Required | Description |
|---|---|---|
| listing | Yes | |
| verdict | Yes | |
| price_history | Yes | |
| comparable_count | Yes | |
| closest_comparables | Yes | |
| price_vs_market_pct | Yes | |
| market_median_price_eur | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only, idempotent, non-destructive profile, so the description is free to add value beyond them — and it does: per-call cost (0.01 USDC via x402), the free no-data case, and the returned verdict/margin/comparables/price-history payload. The billing model in particular is critical and is nowhere in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences, front-loaded with the usage constraint and prerequisite, then defaults, then return contents, then cost. Every sentence carries distinct information with no repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite an output schema existing, the description still summarizes the verdict semantics and cost model, and it covers the one real ambiguity (which platform default applies). Nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented, including the source_platform enum and default. The description restates the carzone default but adds no syntax or format meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('assess') and a singular resource ('one listing'), and the constraint 'you already have an id for' immediately distinguishes it from the feed/lookup siblings. An agent can tell it apart from get_vehicle_listing_by_id or get_irish_auto_arbitrage_feed without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the two sibling endpoints to call first to obtain a listing_id, giving a concrete prerequisite workflow rather than implied context. The only minor omission is an explicit 'do not use for X' exclusion, but the named alternatives cover the routing decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
depreciationHow fast a car model loses value in IrelandARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| make | Yes | Vehicle make, case-insensitive. | Toyota |
| model | Yes | Vehicle model, case-insensitive. | Corolla |
| fuel_type | No | Optional: restrict to one fuel type. | Diesel |
Output Schema
| Name | Required | Description |
|---|---|---|
| make | Yes | |
| model | Yes | |
| by_year | Yes | |
| listing_count | Yes | |
| price_change_per_10k_km_eur | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, but the description adds behavior they cannot express: the 5-listing minimum, the 404 failure mode, and the x402 cost model (0.01 USDC per call, no-data results free). That is exactly the operational context an agent needs before invoking a paid tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences, front-loaded with purpose and scoping, then cost/error handling. Each sentence carries distinct load: scope, precondition, alternative, price. No filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be re-explained, yet the description still summarizes the key metrics. Combined with the documented error path and pricing, an agent has everything required to decide and call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – make, model, and fuel_type are each documented with defaults, examples, and an enum, so the schema carries the parameter burden. The description adds no format, casing, or defaulting guidance beyond what the schema supplies, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('estimate depreciation') and immediately defines the computed outputs (median price by model year, year-on-year change, price change per 10,000 km). It also names a sibling it is not (market_stats) and the reason for the distinction, so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use-not: 'Use market_stats instead for a simple market overview without depreciation calculations.' It also states the data precondition ('needs at least 5 listings; otherwise returns 404') and the commercial condition (charged vs free), leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_irish_vrtIrish VRT and NOx levy estimateARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| co2_g_km | Yes | WLTP CO2 in g/km. | |
| fuel_type | Yes | Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid. | Diesel |
| nox_mg_km | No | NOx in mg/km. Default 40. | |
| price_eur | Yes | Open market selling price (OMSP) in EUR. |
Output Schema
| Name | Required | Description |
|---|---|---|
| vrt_eur | Yes | |
| total_eur | Yes | |
| assumptions | Yes | |
| nox_levy_eur | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/non-open-world, so the safety profile is covered. The description still adds real value beyond them: a concrete rate limit (10 calls/day per IP), cost (free), and a reliability caveat pointing to Revenue.ie for verification. It stops short of describing calculation edge cases or precision, hence 4 rather than 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no waste: purpose first, caveat/alternative next, operational constraints last. The routing information is front-loaded where an agent will act on it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only estimator with a full schema, an output schema, and complete annotations, the description supplies everything else an agent needs: what it computes, how accurate it claims to be, the sibling alternative, and the throttling limit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented (including the nox_mg_km default of 40, which the description never mentions). The description echoes OMSP/CO2/fuel type but adds no format, unit or default detail beyond the schema — baseline 3 is correct when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (estimate) and resource (Vehicle Registration Tax and NOx levy for an Irish-registered vehicle), plus the inputs it derives from (OMSP, CO2, fuel type). It explicitly names and contrasts itself with the sibling import_calculator, so an agent can route between them without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives both the use case ('Use to estimate...') and the exclusion, naming import_calculator as the right tool when a full UK-to-Ireland landed-cost and margin estimate is needed. It also adds an accuracy caveat ('Estimate only; verify against Revenue.ie') that sets expectations about authority of the result.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_inventory_breakdownIrish used-car inventory by county and make, with turnover and freshnessARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| make | No | Optional vehicle make, case-insensitive. | Toyota |
| county | No | Optional Irish county, e.g. Dublin, Cork, Galway (case-insensitive). | Dublin |
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | |
| filters | Yes | |
| top_makes | Yes | |
| history_days | Yes | |
| source_count | Yes | |
| added_last_24h | Yes | |
| active_listings | Yes | |
| removed_last_7d | Yes | |
| last_data_refresh | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, so the bar is lower. The description adds genuinely non-structured traits: a 0.01 USDC x402 cost per call, free no-data results, and that output is counts only with no prices. It does not cover error behavior or any rate limits beyond cost, so it stops just short of full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose and scope, then the alternative, then cost. Dense but every clause earns its place; the single long first sentence carries a lot of enumeration that could be trimmed slightly, which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not needed. Between the description (content scope, cost, no-data behavior, alternative tool) and the annotations (safety profile), an agent has everything required to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented there as optional, case-insensitive filters. The description restates that filtering by county and/or make is optional but adds no syntax, matching behavior, or default semantics beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('active used-car listings') plus the exact scope of the payload: county/make breakdown, 24h additions, 7d removals, source count, last refresh. It explicitly names the sibling it is not (get_inventory_summary), so an agent can route between the two without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with the intended use case ('market coverage and supply analysis') and gives an explicit when-not rule with the named alternative: use get_inventory_summary for a single headline count. Both the selection condition and the alternative are stated, not implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_inventory_summaryHow many used cars are listed in IrelandARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | |
| access_note | Yes | |
| active_listings | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description goes further with details annotations cannot carry: the 'one number plus timestamp' return shape, the metered cost of 0.005 USDC per call via x402, and the fact that no-data results are free. Cost and output shape are exactly the behavioral context an agent needs here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: return shape first, exclusions and the alternative second, pricing last. No repetition of the title or schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with an output schema already present, the description covers everything an agent needs: scope, return shape, the alternative for detail, and the cost model. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty object schema, 100% coverage), so the baseline is 4. The description confirms there is nothing to filter by, reinforcing that no inputs are expected or accepted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with explicit scope: the count of active used-car listings in Ireland, plus a timestamp. It also names the sibling it is not (get_inventory_breakdown), so an agent can separate it from the 12 other tools without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly excludes what it does not do ('No breakdowns and no prices') and routes the agent to get_inventory_breakdown for county, make, turnover and freshness. The when-to-use condition and the alternative are both stated rather than implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_irish_auto_arbitrage_feedBest-value used cars in Ireland right nowARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| make | No | Only return this make, e.g. BMW. | BMW |
| limit | No | Maximum results, 1-500. | |
| min_margin_eur | No | Minimum margin in EUR between market median and asking price (after a cost buffer). |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| listings | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnly, idempotent, non-destructive, closed-world), but the description adds behavioral context the annotations cannot: the 0.05 USDC per-call cost via x402, the free no-data case, the comparable-set definition (same make/model/fuel/transmission, within 1 year and 30,000 km), and the result payload including market median and comparable count.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the usage trigger and the ranking definition, then alternatives, then cost. Every sentence carries unique information; no filler or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value explanation is not required, and the description still conveys the eligibility logic, cost model and sibling routing. An agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents make, limit and min_margin_eur. The description adds only a marginal nuance for min_margin_eur (the margin is measured 'after a cost buffer'), which is useful but does not go far beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource (ranked list of Irish used-car listings priced below the median of comparable cars) and defines the comparison logic precisely, so the agent knows exactly what is being returned rather than just 'deals'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use it and names two alternatives with the conditions that select them: get_new_deals for recently discovered deals, get_price_drops for just-reduced listings. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_new_dealsNewly listed below-market cars since a given timeARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| make | No | Only this make. | Volkswagen |
| limit | No | Maximum results, 1-500. | |
| since | No | ISO 8601 timestamp. Defaults to 24 hours ago. | 2026-10-14T08:00:00Z |
| min_margin_eur | No | Minimum margin in EUR. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| since | Yes | |
| listings | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/no-destruction, and the description adds traits they do not: per-call cost (0.02 USDC via x402), a free no-data outcome, and incremental polling semantics. That is exactly the value-add expected when annotations exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences with no filler: purpose, operating pattern, alternatives, then cost. Every sentence carries distinct information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description still covers defaults, polling mechanics, pricing, and routing to siblings. Nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description goes slightly beyond by explaining how to drive `since` incrementally (pass the previous call's time) and restating the 24-hour default window. It does not explain make/limit/min_margin_eur beyond what the schema documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with scope: 'returns deals first seen by us since a timestamp (default: last 24 hours).' This clearly distinguishes it from the ranked feed and price-drop siblings without requiring a schema read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('poll for fresh opportunities'), an operating pattern ('call on a schedule with the previous call's time'), and names two alternatives with the conditions that select them (get_irish_auto_arbitrage_feed for current ranked lists, get_price_drops for discount signals).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_price_dropsIrish used cars whose asking price was recently cutARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Look-back window in days, 1-60. | |
| limit | No | Maximum results, 1-500. | |
| min_drop_pct | No | Minimum size of the latest cut, in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| listings | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (read-only, idempotent, non-destructive, openWorld=false), and the description goes further in the ways that matter: it discloses the x402 paywall at 0.02 USDC per call, that no-data results are free, and the provenance limitation that price history only exists from our first observation of a listing. That last point materially affects interpretation of the days window and is not derivable from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: purpose first, alternative second, cost/provenance third. Every sentence carries information an agent would otherwise have to guess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. With zero required parameters, a 60-day cap on the window, cost, provenance limits and the sibling alternative all covered, nothing an agent needs in order to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter already carries a range and description, so the schema does the heavy lifting and a 3 is the correct baseline. The description adds only marginal meaning, notably that the 'drop' is the latest cut, which loosely frames min_drop_pct, and that the window is a look-back.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('listings whose price dropped within the last N days') and enumerates the returned fields (original, previous, current price, percentage cut). It also names the sibling it is not (get_irish_auto_arbitrage_feed), so an agent can disambiguate without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit use case ('find motivated sellers') and an explicit alternative with the condition that selects it: get_irish_auto_arbitrage_feed for below-market ranking even when there was no recent price cut. It also discloses the cost model, which affects whether an agent should call it at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_service_infoAbout this serviceARead-onlyIdempotentInspect
Describes this service: what data it has, every tool with its price, and how payment works. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| tools | Yes | |
| payment | Yes | |
| rest_api | Yes | |
| description | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds a genuinely non-derivable behavioral fact — that this call is free — plus what the response will contain, which is useful context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler: the resource, its contents, and the cost are all packed in and nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only discovery tool that already has an output schema, the description covers what the agent needs: purpose, contents, and cost. The only omission is explicit guidance on when in the workflow to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so there is nothing for the description to disambiguate; the baseline for a param-less tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Describes this service') and enumerates the exact contents returned: available data, every tool with its price, and how payment works. Against siblings like price_check or get_inventory_summary, this is unmistakably the meta/discovery tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a discovery/orientation role and notes the call is free, which hints at when it is worth invoking, but it never says to call it before the data tools or under what conditions an agent should prefer it. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vehicle_listing_by_idLook up one Irish car listing by idARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | Yes | The listing id as returned by other tools, e.g. a Carzone ad id or a dealer stock id. | 4577902 |
| source_platform | No | Optional source platform. Only needed when the same id exists on more than one source. | carzone |
Output Schema
| Name | Required | Description |
|---|---|---|
| make | Yes | |
| year | Yes | |
| model | Yes | |
| status | Yes | |
| price_eur | Yes | |
| listing_id | Yes | |
| mileage_km | Yes | |
| access_note | Yes | |
| vrt_breakdown | Yes | |
| days_on_market | Yes | |
| source_platform | Yes | |
| market_average_delta | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so safety needs no restating. The description adds genuinely non-structured behavior: a 0.005 USDC x402 charge per call, the fact that no-data results are free, and that exactly one row is returned. It stops short of covering rate limits or error/auth behavior, but the added context is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The when-to-use clause and the returned-fields list are front-loaded, and the two sibling exclusions follow immediately. It is dense but every sentence carries routing or cost information; the only slight bloat is re-listing output fields that the output schema already covers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value mechanics need not be explained, and annotations carry the safety profile; the description still supplies the pricing model and the free no-data case. For a two-parameter lookup with rich structured metadata, nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (listing_id and source_platform) are already documented in the schema with enums, defaults, and examples. The description's note that the id comes from another call or a dealer site paraphrases the schema rather than adding syntax or format detail. Baseline 3 applies when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (look up) and resource (one Irish car listing by id) and enumerates what comes back: make, model, year, price, mileage, status, days on market, market-median comparison, and VRT breakdown. It explicitly separates itself from get_irish_auto_arbitrage_feed and analyze_listing, so an agent can route without opening sibling schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear triggering condition ('when you already have a listing id from another call or a dealer site') and names two alternatives with the conditions that select them — ranked below-market deals go to get_irish_auto_arbitrage_feed, closest comparables/price history go to analyze_listing. Nothing about when-not-to-use is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_calculatorUK-to-Ireland car import landed cost and marginARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| make | No | Optional; with model, year and mileage_km enables the margin calculation. | Toyota |
| year | No | Optional model year. | |
| model | No | Optional. | Corolla |
| co2_g_km | Yes | WLTP CO2 emissions in g/km (drives the VRT band). | |
| fuel_type | Yes | Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid. | Diesel |
| nox_mg_km | No | NOx mg/km for the NOx levy. Default 40. | |
| mileage_km | No | Optional mileage in km. | |
| gbp_eur_rate | No | GBP to EUR rate. Defaults to the service rate. | |
| shipping_eur | No | Shipping/transport cost in EUR. Default 600. | |
| transmission | No | Optional: Manual or Automatic. | Manual |
| uk_price_gbp | Yes | UK asking price in GBP. | |
| import_vat_pct | No | Import VAT percent. Default 0; set 23 if it applies. | |
| other_costs_eur | No | Other costs in EUR. Defaults to the service cost buffer (500). | |
| customs_duty_pct | No | Customs duty percent. Default 0 (GB-built cars may attract ~10%). |
Output Schema
| Name | Required | Description |
|---|---|---|
| costs | Yes | |
| gbp_eur_rate | Yes | |
| estimate_only | Yes | |
| is_arbitrage_deal | Yes | |
| expected_margin_eur | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare it is a safe, idempotent, closed-world read; the description adds the non-obvious traits an agent needs: duty and import VAT silently default to 0 and must be set by the caller, outputs are estimates not quotes, the call costs 0.01 USDC via x402, and no-data results are free. That is real behavioral disclosure beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the decision rule, then the output composition, then the alternative and cost caveat. No filler; the pricing sentence earns its place because it affects whether the agent calls at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter tool with an output schema and rich annotations, the description covers purpose, the cost breakdown, the estimate caveat, caller-set duty/VAT defaults, the pricing model, and the routing alternative. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description restates the duty/VAT default pitfall that already appears in the schema, and its note that make/model/year/mileage unlock the margin calculation is also already in the parameter descriptions. It frames the inputs as a cost pipeline but adds little syntax or meaning the schema does not already supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource+output: it converts a GBP price and adds shipping, duty, import VAT, VRT, NOx levy and a buffer to produce a landed cost in EUR, plus an optional margin vs the Irish median. It also names the sibling it is not (estimate_irish_vrt). An agent can distinguish it from every listed sibling without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit trigger ("Use to judge a UK import"), an explicit condition for the secondary margin output (provide make, model, year, mileage), and an explicit alternative with the condition that selects it (estimate_irish_vrt for an already Irish-valued vehicle needing only VRT/NOx). Also states the pricing condition for calling at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_statsIrish market prices for a make and modelARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| make | Yes | Vehicle make, case-insensitive. | Toyota |
| model | Yes | Vehicle model, case-insensitive. | Corolla |
Output Schema
| Name | Required | Description |
|---|---|---|
| make | Yes | |
| model | Yes | |
| by_fuel | Yes | |
| by_year | Yes | |
| listing_count | Yes | |
| max_price_eur | Yes | |
| min_price_eur | Yes | |
| median_price_eur | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, non-open-world). The description adds non-obvious operational context: each call costs 0.01 USDC via x402 and no-data results are free, which materially affects how an agent should budget and retry calls. It does not describe return format or pagination, but an output schema exists, so that omission is minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the use case, then the routing alternative, then the cost caveat. Every sentence carries decision-relevant information and nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two required string parameters, full schema coverage, an output schema covering return values, and annotations covering the safety profile, the description fills the remaining gaps — scope, sibling routing, and cost model. Nothing an agent needs to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (make, model, both case-insensitive with defaults and examples), so the schema carries the burden and the baseline is 3. The description's mention of model-year and fuel-type breakdowns describes output dimensions rather than the inputs, adding no extra meaning about how to supply make/model.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — a market overview for one model in the Irish used market — and enumerates exactly what is returned (listing count, price range, median, and breakdowns by model year and fuel type). It also explicitly names the sibling it is not, price_check, so an agent can distinguish the two without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is stated explicitly: use this tool for a model-level overview, and use price_check instead when valuing one specific car with year, mileage, fuel type and optional transmission. Both the when and the when-not, along with the alternative, are present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price_checkWhat is this used car worth in Ireland?ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| make | Yes | Vehicle make, case-insensitive. | Toyota |
| year | Yes | Model year. | |
| model | Yes | Vehicle model, case-insensitive. | Corolla |
| fuel_type | Yes | Fuel type, e.g. Petrol, Diesel, Electric, Petrol Hybrid, Petrol Plug-in Hybrid. | Diesel |
| mileage_km | Yes | Odometer reading in km. | |
| transmission | No | Optional: Manual or Automatic. | Manual |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| max_price_eur | Yes | |
| min_price_eur | Yes | |
| p25_price_eur | Yes | |
| p75_price_eur | Yes | |
| mean_price_eur | Yes | |
| comparable_count | Yes | |
| median_price_eur | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/openWorld, but the description adds material behavior the annotations cannot convey: the 404 + no-charge path when fewer than 5 comparables exist, the per-call price (0.005 USDC via x402), and that no-data results are free. Cost and failure semantics are precisely the things an agent needs before invoking a paid tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences, front-loaded with purpose, then output shape, failure behavior, alternatives, and cost. No filler or restatement of the title; every clause carries operative information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and it correctly omits them while covering the gaps that matter: pricing, error/no-data behavior, comparable cohort definition, and sibling routing. Nothing an agent needs to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description goes further by explaining how inputs drive the match: same make/model/fuel, transmission 'if given' (confirming it is optional despite appearing in the properties list), and tolerance of within 1 year and 30,000 km. That matching-tolerance semantics is not derivable from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('value a specific car') plus the exact output statistics (median, mean, quartiles, range) and the comparable-matching rule. It explicitly distinguishes itself from the sibling tools market_stats and analyze_listing by name, so an agent can route without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit alternatives with selecting conditions: 'Use market_stats instead for a broad make/model overview, or analyze_listing when you already have a listing_id.' This is exactly when-to-use-this vs when-to-use-that guidance rather than implied context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prices_by_countyUsed-car prices by Irish countyARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| make | No | Optional make filter. | Toyota |
| model | No | Optional model filter (use with make). | Corolla |
Output Schema
| Name | Required | Description |
|---|---|---|
| counties | Yes | |
| national_median_price_eur | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive), so the description correctly spends its words elsewhere: per-call cost of 0.01 USDC via x402, free no-data results, and a data-quality caveat that small counties may have few listings. It stops short of describing pagination or result-size behavior, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences: purpose first, routing alternative second, operational caveats last. No filler and nothing buried mid-paragraph.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. With cost, data-sparsity caveat, and sibling routing all covered alongside annotations that carry the safety profile, an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, but the description adds real meaning the schema obscures: it explains that a model, a make, or no filter at all are all valid queries ('or all cars'), which counteracts the schema's misleading Toyota/Corolla defaults, and it notes model should be paired with make.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific analytical verb and resource: where a model/make/all cars is cheapest or dearest across Irish counties, normalized against the national median. That scope is distinct from sibling market_stats, so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with the use case and names the exclusion explicitly: 'Use market_stats instead when county comparison is not needed.' The when-to-use condition and the named alternative are both present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
14 tool updates
- Changed
analyze_listing5 fields changed- changed
Input schema / properties / source_platform / enumPrevious value: -[ - "carzone" -]New value: +[ + "carzone", + "joeduffy", + "windsor", + "frankkeane", + "spirit", + "denismahony" +] - added
Output schema / properties / closest_comparables / items / requiredAdded value: +[ + "source_platform", + "listing_id", + "make", + "model", + "year", + "price_eur", + "mileage_km", + "fuel_type", + "transmission", + "county", + "distance_score" +] - added
Output schema / properties / listing / requiredAdded value: +[ + "source_platform", + "listing_id", + "make", + "model", + "year", + "price_eur", + "mileage_km", + "fuel_type", + "transmission", + "county" +] - added
Output schema / properties / price_history / items / requiredAdded value: +[ + "price_eur", + "changed_at" +] - added
Output schema / requiredAdded value: +[ + "listing", + "verdict", + "price_vs_market_pct", + "market_median_price_eur", + "comparable_count", + "closest_comparables", + "price_history" +]
- Changed
depreciation3 fields changed- added
Input schema / properties / fuel_type / enumAdded value: +[ + "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" +] - added
Output schema / properties / by_year / items / requiredAdded value: +[ + "year", + "count", + "median_price_eur", + "change_vs_next_newer_year_pct" +] - added
Output schema / requiredAdded value: +[ + "make", + "model", + "listing_count", + "price_change_per_10k_km_eur", + "by_year" +]
- Changed
estimate_irish_vrt3 fields changed- added
Input schema / properties / fuel_type / enumAdded value: +[ + "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" +] - added
Output schema / properties / assumptions / requiredAdded value: +[ + "omsp_eur", + "nox_mg_km", + "estimate_only" +] - added
Output schema / requiredAdded value: +[ + "vrt_eur", + "nox_levy_eur", + "total_eur", + "assumptions" +]
- Changed
get_inventory_breakdown3 fields changed- added
Output schema / properties / filters / requiredAdded value: +[ + "county", + "make" +] - added
Output schema / properties / top_makes / items / requiredAdded value: +[ + "make", + "count" +] - added
Output schema / requiredAdded value: +[ + "as_of", + "filters", + "active_listings", + "source_count", + "history_days", + "added_last_24h", + "removed_last_7d", + "last_data_refresh", + "top_makes" +]
- Changed
get_inventory_summary1 field changed- added
Output schema / requiredAdded value: +[ + "as_of", + "active_listings", + "access_note" +]
- Changed
get_irish_auto_arbitrage_feed2 fields changed- added
Output schema / properties / listings / items / requiredAdded value: +[ + "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" +] - added
Output schema / requiredAdded value: +[ + "count", + "listings" +]
- Changed
get_new_deals2 fields changed- added
Output schema / properties / listings / items / requiredAdded value: +[ + "source_platform", + "listing_id", + "make", + "model", + "year", + "price_eur", + "mileage_km", + "fuel_type", + "transmission", + "county" +] - added
Output schema / requiredAdded value: +[ + "since", + "count", + "listings" +]
- Changed
get_price_drops2 fields changed- added
Output schema / properties / listings / items / requiredAdded value: +[ + "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" +] - added
Output schema / requiredAdded value: +[ + "count", + "listings" +]
- Changed
get_service_info3 fields changed- added
Output schema / properties / payment / requiredAdded value: +[] - added
Output schema / properties / rest_api / requiredAdded value: +[] - added
Output schema / requiredAdded value: +[ + "name", + "description", + "payment", + "tools", + "rest_api" +]
- Changed
get_vehicle_listing_by_id5 fields changed- changed
Input schema / properties / source_platform / descriptionPrevious value: -"Optional source (carzone, joeduffy, windsor, frankkeane, spirit, denismahony). Only needed when the same id exists on more than one source."New value: +"Optional source platform. Only needed when the same id exists on more than one source." - added
Input schema / properties / source_platform / enumAdded value: +[ + "carzone", + "joeduffy", + "windsor", + "frankkeane", + "spirit", + "denismahony" +] - added
Output schema / properties / market_average_delta / requiredAdded value: +[ + "market_median_price_eur", + "difference_eur", + "difference_pct" +] - added
Output schema / properties / vrt_breakdown / requiredAdded value: +[ + "net_vrt_due" +] - added
Output schema / requiredAdded value: +[ + "source_platform", + "listing_id", + "make", + "model", + "year", + "price_eur", + "mileage_km", + "status", + "days_on_market", + "market_average_delta", + "vrt_breakdown", + "access_note" +]
- Changed
import_calculator4 fields changed- added
Input schema / properties / fuel_type / enumAdded value: +[ + "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" +] - added
Input schema / properties / transmission / enumAdded value: +[ + "Manual", + "Automatic", + "manual", + "automatic" +] - added
Output schema / properties / costs / requiredAdded value: +[ + "uk_price_eur", + "vrt_eur", + "nox_levy_eur", + "total_landed_cost_eur" +] - added
Output schema / requiredAdded value: +[ + "gbp_eur_rate", + "costs", + "expected_margin_eur", + "is_arbitrage_deal", + "estimate_only" +]
- Changed
market_stats3 fields changed- added
Output schema / properties / by_fuel / items / requiredAdded value: +[ + "fuel_type", + "count", + "median_price_eur" +] - added
Output schema / properties / by_year / items / requiredAdded value: +[ + "year", + "count", + "median_price_eur", + "median_mileage_km" +] - added
Output schema / requiredAdded value: +[ + "make", + "model", + "listing_count", + "median_price_eur", + "min_price_eur", + "max_price_eur", + "by_year", + "by_fuel" +]
- Changed
price_check4 fields changed- added
Input schema / properties / fuel_type / enumAdded value: +[ + "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" +] - added
Input schema / properties / transmission / enumAdded value: +[ + "Manual", + "Automatic", + "manual", + "automatic" +] - added
Output schema / properties / query / requiredAdded value: +[ + "make", + "model", + "year", + "mileage_km", + "fuel_type" +] - added
Output schema / requiredAdded value: +[ + "query", + "comparable_count", + "median_price_eur", + "mean_price_eur", + "p25_price_eur", + "p75_price_eur", + "min_price_eur", + "max_price_eur" +]
- Changed
prices_by_county2 fields changed- added
Output schema / properties / counties / items / requiredAdded value: +[ + "county", + "count", + "median_price_eur", + "vs_national_median_pct" +] - added
Output schema / requiredAdded value: +[ + "national_median_price_eur", + "counties" +]
14 tool updates
- Changed
analyze_listing20 fields changed- added
Input schema / properties / listing_id / defaultAdded value: +"4577902" - added
Input schema / properties / listing_id / exampleAdded value: +"4577902" - added
Input schema / properties / listing_id / examplesAdded value: +[ + "4577902" +] - added
Input schema / properties / source_platform / defaultAdded value: +"carzone" - changed
Input schema / properties / source_platform / descriptionPrevious value: -"Source of the listing, currently always 'carzone'."New value: +"Optional source platform. Defaults to 'carzone'." - added
Input schema / properties / source_platform / enumAdded value: +[ + "carzone" +] - added
Input schema / properties / source_platform / exampleAdded value: +"carzone" - added
Input schema / properties / source_platform / examplesAdded value: +[ + "carzone" +] - changed
Input schema / requiredPrevious value: -[ - "source_platform", - "listing_id" -]New value: +[ + "listing_id" +] - added
Output schema / properties / closest_comparables / itemsAdded value: +{ + "additionalProperties": true, + "properties": { + "county": { + "type": "string" + }, + "distance_score": { + "type": "number" + }, + "fuel_type": { + "type": "string" + }, + "listing_id": { + "type": "string" + }, + "make": { + "type": "string" + }, + "mileage_km": { + "type": "integer" + }, + "model": { + "type": "string" + }, + "price_eur": { + "type": "number" + }, + "source_platform": { + "type": "string" + }, + "transmission": { + "type": "string" + }, + "year": { + "type": "integer" + } + }, + "type": "object" +} - added
Output schema / properties / closest_comparables / typeAdded value: +"array" - added
Output schema / properties / comparable_count / typeAdded value: +"integer" - added
Output schema / properties / listing / additionalPropertiesAdded value: +true - added
Output schema / properties / listing / propertiesAdded value: +{ + "county": { + "type": "string" + }, + "fuel_type": { + "type": "string" + }, + "listing_id": { + "type": "string" + }, + "make": { + "type": "string" + }, + "mileage_km": { + "type": "integer" + }, + "model": { + "type": "string" + }, + "price_eur": { + "type": "number" + }, + "source_platform": { + "type": "string" + }, + "transmission": { + "type": "string" + }, + "year": { + "type": "integer" + } +} - added
Output schema / properties / listing / typeAdded value: +"object" - added
Output schema / properties / market_median_price_eur / typeAdded value: +"number" - added
Output schema / properties / price_history / itemsAdded value: +{ + "additionalProperties": true, + "properties": { + "changed_at": { + "type": "string" + }, + "price_eur": { + "type": "number" + } + }, + "type": "object" +} - added
Output schema / properties / price_history / typeAdded value: +"array" - added
Output schema / properties / price_vs_market_pct / typeAdded value: +"number" - added
Output schema / properties / verdict / typeAdded value: +"string"
- Changed
depreciation15 fields changed- added
Input schema / properties / fuel_type / defaultAdded value: +"Diesel" - added
Input schema / properties / fuel_type / exampleAdded value: +"Diesel" - added
Input schema / properties / fuel_type / examplesAdded value: +[ + "Diesel" +] - added
Input schema / properties / make / defaultAdded value: +"Toyota" - added
Input schema / properties / make / exampleAdded value: +"Toyota" - added
Input schema / properties / make / examplesAdded value: +[ + "Toyota" +] - added
Input schema / properties / model / defaultAdded value: +"Corolla" - added
Input schema / properties / model / exampleAdded value: +"Corolla" - added
Input schema / properties / model / examplesAdded value: +[ + "Corolla" +] - added
Output schema / properties / by_year / itemsAdded value: +{ + "additionalProperties": true, + "properties": { + "change_vs_next_newer_year_pct": { + "type": "number" + }, + "count": { + "type": "integer" + }, + "median_price_eur": { + "type": "number" + }, + "year": { + "type": "integer" + } + }, + "type": "object" +} - added
Output schema / properties / by_year / typeAdded value: +"array" - added
Output schema / properties / listing_count / typeAdded value: +"integer" - added
Output schema / properties / make / typeAdded value: +"string" - added
Output schema / properties / model / typeAdded value: +"string" - added
Output schema / properties / price_change_per_10k_km_eur / typeAdded value: +"number"
- Changed
estimate_irish_vrt18 fields changed- added
Input schema / properties / co2_g_km / defaultAdded value: +125 - added
Input schema / properties / co2_g_km / exampleAdded value: +125 - added
Input schema / properties / co2_g_km / examplesAdded value: +[ + 125 +] - added
Input schema / properties / fuel_type / defaultAdded value: +"Diesel" - added
Input schema / properties / fuel_type / exampleAdded value: +"Diesel" - added
Input schema / properties / fuel_type / examplesAdded value: +[ + "Diesel" +] - added
Input schema / properties / nox_mg_km / defaultAdded value: +40 - added
Input schema / properties / nox_mg_km / exampleAdded value: +40 - added
Input schema / properties / nox_mg_km / examplesAdded value: +[ + 40 +] - added
Input schema / properties / price_eur / defaultAdded value: +20000 - added
Input schema / properties / price_eur / exampleAdded value: +20000 - added
Input schema / properties / price_eur / examplesAdded value: +[ + 20000 +] - added
Output schema / properties / assumptions / additionalPropertiesAdded value: +true - added
Output schema / properties / assumptions / propertiesAdded value: +{ + "estimate_only": { + "type": "boolean" + }, + "nox_mg_km": { + "type": "number" + }, + "omsp_eur": { + "type": "number" + } +} - added
Output schema / properties / assumptions / typeAdded value: +"object" - added
Output schema / properties / nox_levy_eur / typeAdded value: +"number" - added
Output schema / properties / total_eur / typeAdded value: +"number" - added
Output schema / properties / vrt_eur / typeAdded value: +"number"
- Changed
get_inventory_breakdown18 fields changed- added
Input schema / properties / county / defaultAdded value: +"Dublin" - added
Input schema / properties / county / exampleAdded value: +"Dublin" - added
Input schema / properties / county / examplesAdded value: +[ + "Dublin" +] - added
Input schema / properties / make / defaultAdded value: +"Toyota" - added
Input schema / properties / make / exampleAdded value: +"Toyota" - added
Input schema / properties / make / examplesAdded value: +[ + "Toyota" +] - added
Output schema / properties / active_listings / typeAdded value: +"integer" - added
Output schema / properties / added_last_24h / typeAdded value: +"integer" - added
Output schema / properties / as_of / typeAdded value: +"string" - added
Output schema / properties / filters / additionalPropertiesAdded value: +true - added
Output schema / properties / filters / propertiesAdded value: +{ + "county": { + "type": "string" + }, + "make": {} +} - added
Output schema / properties / filters / typeAdded value: +"object" - added
Output schema / properties / history_days / typeAdded value: +"number" - added
Output schema / properties / last_data_refresh / typeAdded value: +"string" - added
Output schema / properties / removed_last_7d / typeAdded value: +"integer" - added
Output schema / properties / source_count / typeAdded value: +"integer" - added
Output schema / properties / top_makes / itemsAdded value: +{ + "additionalProperties": true, + "properties": { + "count": { + "type": "integer" + }, + "make": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / top_makes / typeAdded value: +"array"
- Changed
get_inventory_summary3 fields changed- added
Output schema / properties / access_note / typeAdded value: +"string" - added
Output schema / properties / active_listings / typeAdded value: +"integer" - added
Output schema / properties / as_of / typeAdded value: +"string"
- Changed
get_irish_auto_arbitrage_feed12 fields changed- added
Input schema / properties / limit / defaultAdded value: +20 - added
Input schema / properties / limit / exampleAdded value: +20 - added
Input schema / properties / limit / examplesAdded value: +[ + 20 +] - added
Input schema / properties / make / defaultAdded value: +"BMW" - added
Input schema / properties / make / exampleAdded value: +"BMW" - added
Input schema / properties / make / examplesAdded value: +[ + "BMW" +] - added
Input schema / properties / min_margin_eur / defaultAdded value: +1500 - added
Input schema / properties / min_margin_eur / exampleAdded value: +1500 - added
Input schema / properties / min_margin_eur / examplesAdded value: +[ + 1500 +] - added
Output schema / properties / count / typeAdded value: +"integer" - added
Output schema / properties / listings / itemsAdded value: +{ + "additionalProperties": true, + "properties": { + "comparable_count": { + "type": "integer" + }, + "county": { + "type": "string" + }, + "fuel_type": { + "type": "string" + }, + "gross_margin_eur": { + "type": "number" + }, + "is_arbitrage_deal": { + "type": "boolean" + }, + "listing_id": { + "type": "string" + }, + "make": { + "type": "string" + }, + "market_median_price_eur": { + "type": "number" + }, + "mileage_km": { + "type": "integer" + }, + "model": { + "type": "string" + }, + "price_eur": { + "type": "number" + }, + "source_platform": { + "type": "string" + }, + "transmission": { + "type": "string" + }, + "year": { + "type": "integer" + } + }, + "type": "object" +} - added
Output schema / properties / listings / typeAdded value: +"array"
- Changed
get_new_deals16 fields changed- added
Input schema / properties / limit / defaultAdded value: +20 - added
Input schema / properties / limit / exampleAdded value: +20 - added
Input schema / properties / limit / examplesAdded value: +[ + 20 +] - added
Input schema / properties / make / defaultAdded value: +"Volkswagen" - added
Input schema / properties / make / exampleAdded value: +"Volkswagen" - added
Input schema / properties / make / examplesAdded value: +[ + "Volkswagen" +] - added
Input schema / properties / min_margin_eur / defaultAdded value: +1500 - added
Input schema / properties / min_margin_eur / exampleAdded value: +1500 - added
Input schema / properties / min_margin_eur / examplesAdded value: +[ + 1500 +] - added
Input schema / properties / since / defaultAdded value: +"2026-10-14T08:00:00Z" - added
Input schema / properties / since / exampleAdded value: +"2026-10-14T08:00:00Z" - added
Input schema / properties / since / examplesAdded value: +[ + "2026-10-14T08:00:00Z" +] - added
Output schema / properties / count / typeAdded value: +"integer" - added
Output schema / properties / listings / itemsAdded value: +{ + "additionalProperties": true, + "properties": { + "county": { + "type": "string" + }, + "fuel_type": { + "type": "string" + }, + "listing_id": { + "type": "string" + }, + "make": { + "type": "string" + }, + "mileage_km": { + "type": "integer" + }, + "model": { + "type": "string" + }, + "price_eur": { + "type": "number" + }, + "source_platform": { + "type": "string" + }, + "transmission": { + "type": "string" + }, + "year": { + "type": "integer" + } + }, + "type": "object" +} - added
Output schema / properties / listings / typeAdded value: +"array" - added
Output schema / properties / since / typeAdded value: +"string"
- Changed
get_price_drops12 fields changed- added
Input schema / properties / days / defaultAdded value: +7 - added
Input schema / properties / days / exampleAdded value: +7 - added
Input schema / properties / days / examplesAdded value: +[ + 7 +] - added
Input schema / properties / limit / defaultAdded value: +20 - added
Input schema / properties / limit / exampleAdded value: +20 - added
Input schema / properties / limit / examplesAdded value: +[ + 20 +] - added
Input schema / properties / min_drop_pct / defaultAdded value: +3 - added
Input schema / properties / min_drop_pct / exampleAdded value: +3 - added
Input schema / properties / min_drop_pct / examplesAdded value: +[ + 3 +] - added
Output schema / properties / count / typeAdded value: +"integer" - added
Output schema / properties / listings / itemsAdded value: +{ + "additionalProperties": true, + "properties": { + "changed_at": { + "type": "string" + }, + "county": { + "type": "string" + }, + "current_price_eur": { + "type": "number" + }, + "drop_eur": { + "type": "number" + }, + "drop_pct": { + "type": "number" + }, + "fuel_type": { + "type": "string" + }, + "listing_id": { + "type": "string" + }, + "make": { + "type": "string" + }, + "mileage_km": { + "type": "integer" + }, + "model": { + "type": "string" + }, + "original_price_eur": { + "type": "number" + }, + "previous_price_eur": { + "type": "number" + }, + "price_eur": { + "type": "number" + }, + "source_platform": { + "type": "string" + }, + "transmission": { + "type": "string" + }, + "year": { + "type": "integer" + } + }, + "type": "object" +} - added
Output schema / properties / listings / typeAdded value: +"array"
- Changed
get_service_info10 fields changed- added
Output schema / properties / description / typeAdded value: +"string" - added
Output schema / properties / name / typeAdded value: +"string" - added
Output schema / properties / payment / additionalPropertiesAdded value: +true - added
Output schema / properties / payment / propertiesAdded value: +{} - added
Output schema / properties / payment / typeAdded value: +"object" - added
Output schema / properties / rest_api / additionalPropertiesAdded value: +true - added
Output schema / properties / rest_api / propertiesAdded value: +{} - added
Output schema / properties / rest_api / typeAdded value: +"object" - added
Output schema / properties / tools / itemsAdded value: +{} - added
Output schema / properties / tools / typeAdded value: +"array"
- Changed
get_vehicle_listing_by_id22 fields changed- added
Input schema / properties / listing_id / defaultAdded value: +"4577902" - added
Input schema / properties / listing_id / exampleAdded value: +"4577902" - added
Input schema / properties / listing_id / examplesAdded value: +[ + "4577902" +] - added
Input schema / properties / source_platform / defaultAdded value: +"carzone" - added
Input schema / properties / source_platform / exampleAdded value: +"carzone" - added
Input schema / properties / source_platform / examplesAdded value: +[ + "carzone" +] - added
Output schema / properties / access_note / typeAdded value: +"string" - added
Output schema / properties / days_on_market / typeAdded value: +"number" - added
Output schema / properties / listing_id / typeAdded value: +"string" - added
Output schema / properties / make / typeAdded value: +"string" - added
Output schema / properties / market_average_delta / additionalPropertiesAdded value: +true - added
Output schema / properties / market_average_delta / propertiesAdded value: +{ + "difference_eur": { + "type": "number" + }, + "difference_pct": { + "type": "number" + }, + "market_median_price_eur": { + "type": "number" + } +} - added
Output schema / properties / market_average_delta / typeAdded value: +"object" - added
Output schema / properties / mileage_km / typeAdded value: +"integer" - added
Output schema / properties / model / typeAdded value: +"string" - added
Output schema / properties / price_eur / typeAdded value: +"number" - added
Output schema / properties / source_platform / typeAdded value: +"string" - added
Output schema / properties / status / typeAdded value: +"string" - added
Output schema / properties / vrt_breakdown / additionalPropertiesAdded value: +true - added
Output schema / properties / vrt_breakdown / propertiesAdded value: +{ + "net_vrt_due": { + "type": "number" + } +} - added
Output schema / properties / vrt_breakdown / typeAdded value: +"object" - added
Output schema / properties / year / typeAdded value: +"integer"
- Changed
import_calculator49 fields changed- added
Input schema / properties / co2_g_km / defaultAdded value: +125 - added
Input schema / properties / co2_g_km / exampleAdded value: +125 - added
Input schema / properties / co2_g_km / examplesAdded value: +[ + 125 +] - added
Input schema / properties / customs_duty_pct / defaultAdded value: +0 - added
Input schema / properties / customs_duty_pct / exampleAdded value: +0 - added
Input schema / properties / customs_duty_pct / examplesAdded value: +[ + 0 +] - added
Input schema / properties / fuel_type / defaultAdded value: +"Diesel" - added
Input schema / properties / fuel_type / exampleAdded value: +"Diesel" - added
Input schema / properties / fuel_type / examplesAdded value: +[ + "Diesel" +] - added
Input schema / properties / gbp_eur_rate / defaultAdded value: +1.17 - added
Input schema / properties / gbp_eur_rate / exampleAdded value: +1.17 - added
Input schema / properties / gbp_eur_rate / examplesAdded value: +[ + 1.17 +] - added
Input schema / properties / import_vat_pct / defaultAdded value: +0 - added
Input schema / properties / import_vat_pct / exampleAdded value: +0 - added
Input schema / properties / import_vat_pct / examplesAdded value: +[ + 0 +] - added
Input schema / properties / make / defaultAdded value: +"Toyota" - added
Input schema / properties / make / exampleAdded value: +"Toyota" - added
Input schema / properties / make / examplesAdded value: +[ + "Toyota" +] - added
Input schema / properties / mileage_km / defaultAdded value: +60000 - added
Input schema / properties / mileage_km / exampleAdded value: +60000 - added
Input schema / properties / mileage_km / examplesAdded value: +[ + 60000 +] - added
Input schema / properties / model / defaultAdded value: +"Corolla" - added
Input schema / properties / model / exampleAdded value: +"Corolla" - added
Input schema / properties / model / examplesAdded value: +[ + "Corolla" +] - added
Input schema / properties / nox_mg_km / defaultAdded value: +40 - added
Input schema / properties / nox_mg_km / exampleAdded value: +40 - added
Input schema / properties / nox_mg_km / examplesAdded value: +[ + 40 +] - added
Input schema / properties / other_costs_eur / defaultAdded value: +500 - added
Input schema / properties / other_costs_eur / exampleAdded value: +500 - added
Input schema / properties / other_costs_eur / examplesAdded value: +[ + 500 +] - added
Input schema / properties / shipping_eur / defaultAdded value: +600 - added
Input schema / properties / shipping_eur / exampleAdded value: +600 - added
Input schema / properties / shipping_eur / examplesAdded value: +[ + 600 +] - added
Input schema / properties / transmission / defaultAdded value: +"Manual" - added
Input schema / properties / transmission / exampleAdded value: +"Manual" - added
Input schema / properties / transmission / examplesAdded value: +[ + "Manual" +] - added
Input schema / properties / uk_price_gbp / defaultAdded value: +10000 - added
Input schema / properties / uk_price_gbp / exampleAdded value: +10000 - added
Input schema / properties / uk_price_gbp / examplesAdded value: +[ + 10000 +] - added
Input schema / properties / year / defaultAdded value: +2020 - added
Input schema / properties / year / exampleAdded value: +2020 - added
Input schema / properties / year / examplesAdded value: +[ + 2020 +] - added
Output schema / properties / costs / additionalPropertiesAdded value: +true - added
Output schema / properties / costs / propertiesAdded value: +{ + "nox_levy_eur": { + "type": "number" + }, + "total_landed_cost_eur": { + "type": "number" + }, + "uk_price_eur": { + "type": "number" + }, + "vrt_eur": { + "type": "number" + } +} - added
Output schema / properties / costs / typeAdded value: +"object" - added
Output schema / properties / estimate_only / typeAdded value: +"boolean" - added
Output schema / properties / expected_margin_eur / typeAdded value: +"number" - added
Output schema / properties / gbp_eur_rate / typeAdded value: +"number" - added
Output schema / properties / is_arbitrage_deal / typeAdded value: +"boolean"
- Changed
market_stats16 fields changed- added
Input schema / properties / make / defaultAdded value: +"Toyota" - added
Input schema / properties / make / exampleAdded value: +"Toyota" - added
Input schema / properties / make / examplesAdded value: +[ + "Toyota" +] - added
Input schema / properties / model / defaultAdded value: +"Corolla" - added
Input schema / properties / model / exampleAdded value: +"Corolla" - added
Input schema / properties / model / examplesAdded value: +[ + "Corolla" +] - added
Output schema / properties / by_fuel / itemsAdded value: +{ + "additionalProperties": true, + "properties": { + "count": { + "type": "integer" + }, + "fuel_type": { + "type": "string" + }, + "median_price_eur": { + "type": "number" + } + }, + "type": "object" +} - added
Output schema / properties / by_fuel / typeAdded value: +"array" - added
Output schema / properties / by_year / itemsAdded value: +{ + "additionalProperties": true, + "properties": { + "count": { + "type": "integer" + }, + "median_mileage_km": { + "type": "integer" + }, + "median_price_eur": { + "type": "number" + }, + "year": { + "type": "integer" + } + }, + "type": "object" +} - added
Output schema / properties / by_year / typeAdded value: +"array" - added
Output schema / properties / listing_count / typeAdded value: +"integer" - added
Output schema / properties / make / typeAdded value: +"string" - added
Output schema / properties / max_price_eur / typeAdded value: +"number" - added
Output schema / properties / median_price_eur / typeAdded value: +"number" - added
Output schema / properties / min_price_eur / typeAdded value: +"number" - added
Output schema / properties / model / typeAdded value: +"string"
- Changed
price_check28 fields changed- added
Input schema / properties / fuel_type / defaultAdded value: +"Diesel" - added
Input schema / properties / fuel_type / exampleAdded value: +"Diesel" - added
Input schema / properties / fuel_type / examplesAdded value: +[ + "Diesel" +] - added
Input schema / properties / make / defaultAdded value: +"Toyota" - added
Input schema / properties / make / exampleAdded value: +"Toyota" - added
Input schema / properties / make / examplesAdded value: +[ + "Toyota" +] - added
Input schema / properties / mileage_km / defaultAdded value: +60000 - added
Input schema / properties / mileage_km / exampleAdded value: +60000 - added
Input schema / properties / mileage_km / examplesAdded value: +[ + 60000 +] - added
Input schema / properties / model / defaultAdded value: +"Corolla" - added
Input schema / properties / model / exampleAdded value: +"Corolla" - added
Input schema / properties / model / examplesAdded value: +[ + "Corolla" +] - added
Input schema / properties / transmission / defaultAdded value: +"Manual" - added
Input schema / properties / transmission / exampleAdded value: +"Manual" - added
Input schema / properties / transmission / examplesAdded value: +[ + "Manual" +] - added
Input schema / properties / year / defaultAdded value: +2020 - added
Input schema / properties / year / exampleAdded value: +2020 - added
Input schema / properties / year / examplesAdded value: +[ + 2020 +] - added
Output schema / properties / comparable_count / typeAdded value: +"integer" - added
Output schema / properties / max_price_eur / typeAdded value: +"number" - added
Output schema / properties / mean_price_eur / typeAdded value: +"number" - added
Output schema / properties / median_price_eur / typeAdded value: +"number" - added
Output schema / properties / min_price_eur / typeAdded value: +"number" - added
Output schema / properties / p25_price_eur / typeAdded value: +"number" - added
Output schema / properties / p75_price_eur / typeAdded value: +"number" - added
Output schema / properties / query / additionalPropertiesAdded value: +true - added
Output schema / properties / query / propertiesAdded value: +{ + "fuel_type": { + "type": "string" + }, + "make": { + "type": "string" + }, + "mileage_km": { + "type": "integer" + }, + "model": { + "type": "string" + }, + "year": { + "type": "integer" + } +} - added
Output schema / properties / query / typeAdded value: +"object"
- Changed
prices_by_county9 fields changed- added
Input schema / properties / make / defaultAdded value: +"Toyota" - added
Input schema / properties / make / exampleAdded value: +"Toyota" - added
Input schema / properties / make / examplesAdded value: +[ + "Toyota" +] - added
Input schema / properties / model / defaultAdded value: +"Corolla" - added
Input schema / properties / model / exampleAdded value: +"Corolla" - added
Input schema / properties / model / examplesAdded value: +[ + "Corolla" +] - added
Output schema / properties / counties / itemsAdded value: +{ + "additionalProperties": true, + "properties": { + "count": { + "type": "integer" + }, + "county": { + "type": "string" + }, + "median_price_eur": { + "type": "number" + }, + "vs_national_median_pct": { + "type": "number" + } + }, + "type": "object" +} - added
Output schema / properties / counties / typeAdded value: +"array" - added
Output schema / properties / national_median_price_eur / typeAdded value: +"number"
14 tool updates
- First observed
analyze_listing - First observed
depreciation - First observed
estimate_irish_vrt - First observed
get_inventory_breakdown - First observed
get_inventory_summary - First observed
get_irish_auto_arbitrage_feed - First observed
get_new_deals - First observed
get_price_drops - First observed
get_service_info - First observed
get_vehicle_listing_by_id - First observed
import_calculator - First observed
market_stats - First observed
price_check - First observed
prices_by_county
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1611 npm1MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs117 npm54 PyPIMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.