Car Handshake
Server Details
Find and compare live vehicle inventory from participating US dealers and contact them with consent.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Tool Definition Quality
Average 3.9/5 across 10 of 10 tools scored. Lowest: 3.1/5.
Each tool has a highly specific purpose with strict context rules (e.g., compare_vehicles only after shop_vehicles, fetch only for citations). No two tools appear to do the same thing; even search and shop_vehicles are explicitly separated by use case.
Most tools follow a verb_noun pattern (compare_vehicles, find_dealerships, get_vehicle), but 'fetch' and 'search' are single verbs without objects, and 'shop_vehicles' uses an uncommon verb. The mix of styles reduces consistency.
With 10 tools, the server covers the key stages of car shopping (discovery, comparison, details, dealership info, test drive, trade-in, inquiry) without being bloated. The count feels well-scoped for the domain.
The tool set covers the core shopping workflow, but it explicitly prevents refinement (one shop_vehicles call only) and lacks advanced features like financing calculators, vehicle history, or saved searches, leaving noticeable gaps for common user needs.
Available Tools
10 toolscompare_vehiclesCompare vehiclesARead-onlyIdempotentInspect
Only for explicit comparison: after exactly one shop_vehicles call, pass 2-4 distinct returned listing IDs. Never search or shop again.
| Name | Required | Description | Default |
|---|---|---|---|
| priorities | No | Shopper priorities, up to eight. | |
| listing_ids | Yes | 2-4 exact IDs returned by shop_vehicles. |
Output Schema
| Name | Required | Description |
|---|---|---|
| compared | Yes | |
| vehicles | Yes | |
| recommendation | Yes | |
| missing_listing_ids | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint – no contradiction. The description adds workflow context: dependency on a prior shop_vehicles call and the constraint on passing specific IDs. This is valuable beyond 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?
Two concise sentences, front-loaded with purpose, zero filler. Every word earns its place.
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?
Given the presence of an output schema (not shown), the return format need not be elaborated. The description covers precondition, constraint, and exclusion. Priorities are omitted but documented in schema. Slightly more context on what the comparison includes would improve completeness.
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%, baseline 3. Description mentions listing IDs constraint (2-4 distinct) but does not add meaning for 'priorities' parameter. The workflow hint ('after exactly one shop_vehicles') is useful but does not enhance parameter semantics beyond schema.
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 uses explicit verb 'compare' referencing vehicles via listing IDs. It distinguishes from siblings like search and shop_vehicles by stating it is 'only for explicit comparison' and instructing 'Never search or shop again.'
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?
Provides clear when to use: 'after exactly one shop_vehicles call, pass 2-4 distinct returned listing IDs.' Also states what not to do ('Never search or shop again'), implying alternatives (shop_vehicles for initial search, other tools for different tasks).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchFetch citationARead-onlyIdempotentInspect
Citation only after search; never shopping/detail. Fetch one exact ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Exact listing ID returned by search. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the behavioral constraint that the tool depends on a prior search (the ID must be a search result), which is valuable 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?
The description is extremely concise: two sentences that front-load the key constraint ('Citation only after search; never shopping/detail') and state the core action. Every word earns its place, and there is no redundancy.
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 simple tool with one parameter, an output schema, and comprehensive annotations, the description is nearly complete. It explains purpose, usage constraints, and parameter origin. The term 'citation' is context-dependent but likely clear given sibling tools. A minor gap is that it doesn't describe what the citation represents, but the output schema is expected to fill that.
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 the parameter 'id' is already described as 'Exact listing ID returned by search.' The tool description only reinforces this ('Fetch one exact ID') without adding new semantic details. Baseline 3 is appropriate given the schema already 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?
The description clearly states the tool fetches a citation using an exact ID, and explicitly distinguishes it from shopping/detail operations. The verb 'Fetch' combined with 'Citation only after search' provides a specific resource and scope, differentiating it from siblings like search and shop_vehicles.
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 explicitly tells the agent to use this tool only after a search and never for shopping/detail. It implies the ID must come from a search result, giving clear context. However, it does not name alternative tools or provide explicit when-not-to-use scenarios beyond the 'never shopping/detail' statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_dealershipsFind US/CA dealershipsARead-onlyIdempotentInspect
Use this once to find dealerships by name/place with IDs, addresses, and listing counts. Named stock: one shop_vehicles call with a returned dealer_id. For contacts or sales/service hours: get_dealership once.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| country | No | US default; CA for Canada. Quebec excluded. | |
| location | No | Place or postal text exactly as supplied. |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | |
| dealerships | Yes | |
| next_action | Yes | |
| interpreted_location | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. Description adds behavioral context beyond annotations: 'Use this once' suggests a one-time lookup pattern, and the workflow hint about shop_vehicles clarifies how to chain calls. No contradictions.
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 succinct sentences, each delivering essential information (purpose, workflow hint, sibling differentiation). No redundant or filler 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?
Given the output schema exists and sibling tools are listed, the description covers purpose, return value outline (IDs, addresses, listing counts), usage pattern, and guidance for alternative tools. Sufficient for agent decision-making.
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 50% (country, location documented). Description clarifies query is for name/place but does not detail limit parameter. While it adds some context, it doesn't fully compensate for the undocumented parameters; baseline 3 is appropriate.
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 'find dealerships by name/place' with clear output (IDs, addresses, listing counts). Explicitly distinguishes from get_dealership (contacts/hours) and shop_vehicles (stock via dealer_id), which are sibling tools.
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?
Directs agent to use this tool once to obtain a dealer ID, then call shop_vehicles for stock; also tells when to use get_dealership instead (contacts/hours). Provides clear when-to-use and when-to-avoid guidance relative to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dealershipGet dealership locations, hours, and contactsBRead-onlyIdempotentInspect
Use this with an exact dealer_id to return every public rooftop, contact, site, capability, and named sales/service schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| dealer_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| domain | Yes | |
| dealer_id | Yes | |
| locations | Yes | |
| vehicle_count | Yes | |
| agent_card_url | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds the scope of returned data ('every public...'), which is valuable but does not cover error handling, rate limits, or authorization requirements. No contradiction with 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?
Single sentence conveys all essential information without redundancy. Front-loaded with usage condition and scope. No wasted words.
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?
Given a single required parameter and an output schema present, the description adequately lists the returned data categories. However, it omits behavior for missing IDs, pagination (if any), or access permissions, though these are less critical with annotations indicating safe reads.
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 0%, so the description should compensate. It only notes that dealer_id must be 'exact', adding minimal semantic value beyond the schema's type/format. The agent gains little insight into constraints or usage nuances.
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?
Description clearly states the action ('return') and the resource ('every public rooftop, contact, site, capability, and named sales/service schedule') for a specific dealer_id. It implicitly differentiates from sibling 'find_dealerships' by requiring an exact ID, but does not explicitly contrast.
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?
Description specifies the condition for use: 'with an exact dealer_id'. However, it does not mention when not to use it, alternative tools like 'find_dealerships', or error scenarios like missing ID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vehicleGet vehicle detailsARead-onlyIdempotentInspect
For full detail, pass exact shop_vehicles listing_id; returns dealer.dealer_id.
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| vin | No | |
| body | No | |
| fuel | No | |
| make | Yes | |
| msrp | No | |
| trim | No | |
| year | Yes | |
| model | Yes | |
| price | No | |
| stock | No | |
| dealer | Yes | |
| engine | No | |
| photos | No | |
| status | Yes | |
| mileage | No | |
| city_mpg | No | |
| currency | No | |
| features | No | |
| location | Yes | |
| condition | No | |
| driveline | No | |
| listing_id | Yes | |
| updated_at | No | |
| battery_kwh | No | |
| charge_port | No | |
| description | No | |
| highway_mpg | No | |
| listing_url | No | |
| transmission | No | |
| vehicle_type | Yes | |
| dc_fast_charge | No | |
| distance_miles | No | |
| exterior_color | No | |
| interior_color | No | |
| motor_power_hp | No | |
| displacement_cc | No | |
| primary_photo_url | No | |
| listing_url_source | No | |
| electric_range_miles | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the agent knows this is a safe read. The description adds that it returns dealer.dealer_id but does not disclose behavior for missing IDs or other context. With annotations covering the safety profile, this is modest but acceptable additional context.
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 description is a single, efficient sentence that wastes no words. 'For full detail' front-loads the purpose, though it could be more direct. It is appropriately concise for the tool's simplicity.
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 simple read-only getter with one parameter and an output schema, the description covers the key aspects: the input source and a notable return field. It does not discuss errors or fallback behavior, but given the annotations and output schema, this is acceptable and effectively complete.
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?
With 0% schema description coverage, the description compensates by clarifying that listing_id must be the 'exact shop_vehicles listing_id', providing the source and precision required. This adds meaning beyond the schema's uuid type, though it could elaborate further on the ID's role.
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 implies this tool fetches full vehicle details via 'For full detail', and specifies the key input (listing_id) and a return field (dealer.dealer_id). It is clear in context but relies on the tool name/title for the explicit 'get vehicle' purpose, so it lacks the directness of the highest standard.
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 instruction to 'pass exact shop_vehicles listing_id' gives a clear when-to-use context: after obtaining a listing_id from the shop_vehicles tool, use this tool for full details. It implies a dependency but does not explicitly name alternative tools or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_trade_in_appraisalRequest trade-inBDestructiveIdempotentInspect
After explicit consent and confirmation, request a trade-in appraisal for this listing.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Email (or phone required). | ||
| phone | No | E.164 phone (or email required). | |
| dry_run | No | Validate with no dealer contact. | |
| message | No | Dealer note. | |
| last_name | Yes | Last name. | |
| first_name | Yes | First name. | |
| listing_id | Yes | Exact listing_id from prior results. | |
| consent_text | Yes | Accepted consent words; never fabricate consent. | |
| trade_in_make | Yes | ||
| trade_in_trim | No | ||
| trade_in_year | Yes | ||
| trade_in_model | Yes | ||
| idempotency_key | Yes | Unique retry key. | |
| allowed_channels | Yes | Consent channels. | |
| trade_in_mileage | No | ||
| preferred_contact | No | ||
| consent_granted_at | Yes | Consent timestamp (RFC 3339). | |
| trade_in_condition | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| lead_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, which the description supports ('request a trade-in appraisal' implies a mutation). The description adds a key precondition ('after explicit consent and confirmation'), which is helpful. However, it does not disclose potential side effects (e.g., dealer contact being initiated) or the idempotency retry behavior, and does not explain what happens on dry_run or if the listing's seller is contacted automatically.
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?
Single sentence, front‑loaded with the critical prerequisite, zero wasted words. Perfectly concise.
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 an 18‑parameter, 10‑required, destructive toy with an output schema, the description is too brief. It does not explain the return contract (output_schema exists but gets no mention), does not clarify the idempotency guarantee, and does not specify which channel the appraisal request uses. While annotations and schema carry some burden, the description's extreme brevity leaves important behavioral questions unanswered.
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 61%, meaning 39% of parameters lack schema descriptions. The tool description compensates partially by stating the high‑level workflow (consent, then request), but does not individually clarify undocumented fields like trade_in_make, trade_in_model, trade_in_condition, or trade_in_trim. The warning 'never fabricate consent' in consent_text's description is valuable, but not part of the tool's description.
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 uses a specific verb-resource pair ('request trade-in appraisal') and clearly ties it to a 'listing'. However, it doesn't explicitly differentiate from siblings like 'submit_vehicle_inquiry' or 'schedule_test_drive', which also involve dealer actions.
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 provides no guidance on when to use this tool vs. alternatives. Given complex prerequisites (explicit consent, consent confirmation, listing ownership) and many sibling tools, the lack of when/why guidance is a serious gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schedule_test_driveRequest test driveBDestructiveIdempotentInspect
After explicit consent and confirmation, request a test drive for this listing.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Email (or phone required). | ||
| phone | No | E.164 phone (or email required). | |
| dry_run | No | Validate with no dealer contact. | |
| message | No | Dealer note. | |
| last_name | Yes | Last name. | |
| first_name | Yes | First name. | |
| listing_id | Yes | Exact listing_id from prior results. | |
| consent_text | Yes | Accepted consent words; never fabricate consent. | |
| appointment_at | No | ||
| idempotency_key | Yes | Unique retry key. | |
| allowed_channels | Yes | Consent channels. | |
| preferred_contact | No | ||
| consent_granted_at | Yes | Consent timestamp (RFC 3339). |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| lead_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive and idempotent behavior, so the description's mention of consent confirms an important compliance requirement. However, the description adds minimal behavioral context beyond what annotations provide—it does not explain that this tool contacts the dealer, the role of the idempotency key, or the validation via dry_run. No contradiction with 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?
The description is a single sentence, front-loaded, and free of unnecessary words. However, it is so concise that it omits important context; a slightly longer description that includes usage guidelines would be more helpful without losing conciseness.
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?
Given the tool's complexity (13 parameters, 7 required, output schema exists), the description is too brief. It does not cover the consent flow, return value, idempotency behavior, or how this tool differs from sibling inquiry tools. The annotations and schema fill many gaps, but the description should provide a higher-level context for the AI agent.
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 high (85%), so the baseline is 3. The description does not add any parameter-specific meaning beyond what the schema already provides. For example, it does not clarify the purpose of 'idempotency_key', 'dry_run', or the relationship between 'email' and 'phone' requirements.
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 clearly states the action ('request a test drive') and the resource ('this listing'), making the purpose immediately understandable. However, it does not differentiate this tool from sibling tools like 'submit_vehicle_inquiry' or 'request_trade_in_appraisal', which could cause confusion for an AI agent deciding which tool to use.
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 mentions a prerequisite ('after explicit consent and confirmation'), but provides no guidance on when to use this tool versus alternatives. It does not specify when not to use it, nor does it reference any sibling tools that might be more appropriate for general inquiries or other actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch citationsARead-onlyIdempotentInspect
Citation only; never shopping/detail/compare. Search once, then fetch exact IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Vehicle-shopping query, verbatim. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| next_action | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well-covered. The description adds that this is a citation search and not for shopping, which is helpful but does not disclose any additional behavioral traits like rate limits, pagination behavior, or query requirements beyond what's in the schema. The description does not contradict 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?
The description is extremely concise with two short sentences, but it could benefit from slight restructuring: the first sentence could be more front-loaded by stating the purpose first rather than a negative. Still, it fits the tool's simplicity and contains no filler.
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?
Given the tool's low complexity (one required parameter, rich annotations, and an output schema), the description is complete enough. It explains the domain and strategy. It could mention the return format (list of citation IDs) but the output schema already exists, so it's not required.
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 input schema has one parameter (query) with 100% coverage, including a description that is already clear. The description adds no extra meaning to the parameter beyond 'citation only' context. Baseline 3 is appropriate since 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?
The description states 'citation only; never shopping/detail/compare', which clearly identifies the scope and domain. It also complements the title 'Search citations' with a verb-object relationship. However, it does not explicitly distinguish from siblings like 'shop_vehicles' or 'get_vehicle' beyond the domain hint.
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 explicitly provides usage rules: 'Never shopping/detail/compare' and instructs to 'search once, then fetch exact IDs'. This tells the agent when NOT to use the tool and gives a follow-up action. Sibling tools also allow inferring context, but the description alone is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shop_vehiclesShop vehiclesARead-onlyIdempotentInspect
Use for live US/CA cars/SUVs/trucks/EVs/motorcycles/RVs/trailers by place (near me), budget, mileage, make/model, condition, body, fuel, features, named dealer, or live-listing recommendation. Quebec excluded. Call once; never retry/refine/broaden. Fallback stays in-country; filters exact. Facts only; web only if asked. Named-dealer stock: find_dealerships then shop. Not repair/reliability/facts/MSRP/out-of-market, named-source, web-only, or no-app. Verbatim request; never ask for ZIP/postal.
| Name | Required | Description | Default |
|---|---|---|---|
| fuels | No | ||
| limit | No | ||
| makes | No | ||
| trims | No | ||
| bodies | No | ||
| cursor | No | ||
| models | No | ||
| country | No | US default; CA supported outside Quebec. | |
| request | Yes | Verbatim shopper request. | |
| sort_by | No | Default: relevance. | |
| features | No | Classes: third_row, awd_4wd, tow_package, apple_carplay, android_auto, adaptive_cruise, leather, heated_seats, ev_range_200_plus. | |
| statuses | No | Omit unless status is explicit; omission searches both available and intransit. | |
| year_max | No | ||
| year_min | No | ||
| price_max | No | ||
| price_min | No | ||
| conditions | No | ||
| dealer_ids | No | ||
| drivelines | No | ||
| nationwide | No | ||
| mileage_max | No | ||
| charge_ports | No | ||
| radius_miles | No | US miles; CA kilometres. Fallback widens geography only; filters remain exact. | |
| location_text | No | Free-text city/place/state/postal exactly as the shopper supplied; never ask for a ZIP code. | |
| transmissions | No | ||
| vehicle_types | No | ||
| dc_fast_charge | No | ||
| sort_direction | No | ||
| exterior_colors | No | ||
| interior_colors | No | ||
| electric_range_max | No | ||
| electric_range_min | No | ||
| displacement_cc_max | No | ||
| displacement_cc_min | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | |
| matches | Yes | |
| coverage | Yes | |
| fallback | Yes | |
| freshness | Yes | |
| next_action | Yes | |
| next_cursor | Yes | |
| total_relation | Yes | |
| applied_filters | Yes | |
| interpreted_request | Yes | |
| suggested_relaxations | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and idempotency. The description adds substantial behavioral context beyond these: it mandates single-call usage with no retries/refinement/broadening, explains fallback behavior ('stays in-country; filters exact'), specifies response type ('Facts only; web only if asked'), and prohibits asking for location details ('Verbatim request; never ask for ZIP/postal'). No contradiction with 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?
The description is a single dense paragraph that packs purpose, exclusions, behavioral rules, and guidance into a concise format. Every sentence adds value, and there is no repetition or filler. However, it could be slightly more structured (e.g., breaking into sections for 'what it does', 'exclusions', 'behavioral rules') to improve scanability. Given the amount of information, it remains efficient.
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 tool with 34 parameters, the description covers the main use cases and constraints well. It explains the core functionality, geographic limitation, single-call rule, and fallback behavior. The presence of an output schema reduces the need to describe return values. However, gaps remain: it does not mention pagination (cursor parameter) or the limit parameter, does not explain the fallback mechanism in detail, and does not address sorting or other optional filters. While strong for a typical MCP tool, it is not exhaustive given the tool's complexity.
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?
With schema description coverage at only 21%, the description must compensate. It names several filter dimensions (place, budget, mileage, make/model, condition, body, fuel, features, named dealer) that map to parameters like location_text, price_min/max, mileage_max/min, makes, models, conditions, bodies, fuels, features, dealer_ids. It clarifies that 'request' should be verbatim and that location_text should be the shopper's free-text input. However, many parameters (drivelines, transmissions, charge_ports, colors, etc.) are unaddressed, and the description does not provide a structured mapping between use cases and parameter names. While it adds meaning, it does not fully compensate for the low schema coverage.
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 specifies a precise verb-resource pair ('shop vehicles') and clearly scopes to live US/CA listings of common vehicle types (cars, SUVs, trucks, EVs, etc.). It enumerates supported query dimensions (place, budget, mileage, make/model, condition, etc.) and explicitly excludes Quebec. It distinguishes from sibling tools like find_dealerships by stating the prerequisite step for named-dealer stock, and lists what the tool is NOT for (repair, reliability, facts, MSRP, out-of-market, etc.), providing strong differentiation.
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 gives explicit 'when to use' guidance: it covers the supported query types and provides an alternative workflow ('Named-dealer stock: find_dealerships then shop'). It includes clear negative guidance ('Not repair/reliability/facts/MSRP/out-of-market...') and behavioral rules ('Call once; never retry/refine/broaden', 'Fallback stays in-country; filters exact'). It also tells the agent to never ask for ZIP/postal, which prevents improper UX.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_vehicle_inquirySend a vehicle inquiryADestructiveIdempotentInspect
After explicit consent and confirmation, send this listing's dealer a question.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Email (or phone required). | ||
| phone | No | E.164 phone (or email required). | |
| dry_run | No | Validate with no dealer contact. | |
| message | Yes | Dealer note. | |
| last_name | Yes | Last name. | |
| first_name | Yes | First name. | |
| listing_id | Yes | Exact listing_id from prior results. | |
| consent_text | Yes | Accepted consent words; never fabricate consent. | |
| idempotency_key | Yes | Unique retry key. | |
| allowed_channels | Yes | Consent channels. | |
| preferred_contact | No | ||
| consent_granted_at | Yes | Consent timestamp (RFC 3339). |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| lead_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/destructive/idempotent hints, so the bar is lower. The description adds the crucial consent requirement and states that the tool sends an external message to the dealer, which is a side effect. This provides 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?
The description is a single sentence that is front-loaded with the consent condition and states the action and target. Every word earns its place, with no redundancy or padding.
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?
The tool has many parameters, but the schema is rich with descriptions. The description covers the essential purpose and the critical consent requirement. An output schema exists, so the description need not explain return values. It is adequate but not exhaustive for such a multi-parameter external side-effect tool.
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 high (92%), so the baseline is 3. The description adds no specific parameter semantics; the consent-related parameters are already well described in the schema. The consent phrase in the description reinforces but does not exceed schema content.
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 uses a specific verb ('send') and identifies the resource ('this listing's dealer a question'), clearly distinguishing it from sibling tools like schedule_test_drive or search. It also includes the important prerequisite of consent, adding scope.
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 usage after explicit consent and confirmation, giving a clear condition for when to invoke. It does not explicitly mention alternatives or exclusions, but the tool's function is distinct among siblings, making the context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Live franchised-dealer inventory, quotes, and consented salesperson handoffs.
Search live US dealership inventory, get market prices, and send buyer inquiries. Free, no API key.
Automotive inventory search for AI assistants: vehicles, dealers, deals, and market data.
Search used car inventory, check NHTSA recalls, decode VINs, and manage automated search scouts.
Related MCP Servers
- AlicenseAqualityDmaintenanceAggregates and searches used car listings from multiple sources (Cars.com, Autotrader, KBB) with price, mileage, dealer info, and optional CarFax-style filters (1-owner, no accidents, personal use).14MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to search and aggregate used-vehicle listings across Cars.com, Autotrader, and KBB, with filters for price, mileage, dealer information, and CARFAX-style history conditions.1MIT
- FlicenseNot gradedqualityBmaintenanceSearch, localized specs (180 spec types across 19 categories), compare, and structured filters over 102k+ vehicle variants in 19 languages, from cars-data.com.
- AlicenseAqualityCmaintenanceEnables AI assistants to search live used-car inventory, verify whether asking prices are fair market value, estimate annual road tax and running costs, and initiate contact with sellers for the Portuguese market.6111MIT