Skip to main content
Glama

Voxcars (Portugal)

find_similar_cars

Read-onlyIdempotent

Given one listing, find comparable ones: same make, similar year, mileage and price band. Use this when the user likes a car but wants alternatives — 'find me something similar', 'the same but cheaper', 'what else is around this price'. Pass maxPrice for the cheaper case; without it, comparables are drawn from a band around the reference price. Comparability is by structure (make/model/year/km/price), not by text similarity: it answers 'is this well priced for what it is', which a keyword search cannot.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYesSlug of the reference listing, as returned by search_cars or get_car_detail.
limitNoMaximum number of comparables (default 6, max 20).
maxPriceNoOptional budget ceiling, in EUR. Use it for 'similar but cheaper'; it overrides the default band around the reference price.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
carsYes
totalYesComparables returned.
marketYes
currencyNo
referenceYesThe listing the comparables are measured against, echoed back for the comparison.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavioral details beyond those: the default price-band behavior when maxPrice is omitted, that maxPrice overrides the band, and the structural nature of matching. This gives an agent a clear model of how the tool behaves at runtime without contradicting 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly structured: the core verb and resource come first, followed by trigger examples, then parameter behavior, then a sibling-differentiation note. Every sentence adds distinct information and there is no repetition of the schema fields. It is dense but not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with moderate complexity and a rich output schema, the description covers all essential dimensions: what it does, when to use it, parameter behavior, and how it differs from related tools. It does not need to explain return values because an output schema exists. An agent has enough context to select and invoke this tool correctly in the appropriate scenario.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 adds value beyond the schema by explaining the semantics of maxPrice ('Use it for 'similar but cheaper'; it overrides the default band around the reference price') and by indicating that slug is the reference listing. These use-case-oriented explanations help the agent map user intent to parameters more reliably than the schema descriptions alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action with a resource: 'Given one listing, find comparable ones' and defines comparability precisely (same make, similar year, mileage and price band). It also distinguishes itself from sibling tools by clarifying that it is structural, not text-based: 'Comparability is by structure (make/model/year/km/price), not by text similarity'. This leaves no ambiguity about what the tool does and how it differs from search_cars_by_description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit trigger patterns: 'Use this when the user likes a car but wants alternatives' with concrete natural-language examples ('find me something similar', 'the same but cheaper'). It also explains when to pass maxPrice. However, while it implies the alternative domain with 'which a keyword search cannot', it does not explicitly name the sibling tool (e.g., search_cars_by_description) that should be used instead for text-similarity searches, so the routing guidance is slightly incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools have clear boundaries: search_cars handles structural queries, search_cars_by_description handles descriptive queries, and find_similar_cars finds alternatives to a reference listing. There is some overlap between search_cars and find_similar_cars when finding comparable cars, but the descriptions clarify which to use for each intent.

Naming Consistency4/5

Names broadly follow a verb_noun pattern: search_cars, get_car_detail, get_price_stats, search_articles. The main inconsistency is mixing 'search' and 'find' verbs, and search_cars_by_description is longer and less symmetric than the others, but the pattern remains readable and predictable.

Tool Count5/5

Six tools is well-scoped for a car search and market-analysis server. Each tool serves a distinct user need from listing search to price statistics to editorial content, with no redundancy or bloat.

Completeness5/5

The tool surface covers the complete read-only lifecycle of a car-search domain: structural search, descriptive search, similar-car discovery, detail retrieval, market-level price stats, and supporting editorial articles. No obvious dead ends or missing operations within the stated purpose.

Resources