Skip to main content
Glama

Server Details

Real cost of car hire at 120+ airports: second driver, cover, deposits, debit cards, desk hours.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
jimiwalters-cmyk/car-rental-brain-mcp
GitHub Stars
0
Server Listing
Car Rental Brain

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation4/5

Each tool maps to a distinct scope: single-airport detail (airport_costs), cross-airport ranking (compare_airports), per-supplier breakdown (supplier_terms), coverage listing (list_airports), booking link (build_search_link), and meta info (get_capabilities). The only mild overlap is between airport_costs and supplier_terms, which both report price/deposit/debit-card facts, but the airport-vs-supplier granularity plus descriptions keep them separable.

Naming Consistency4/5

All names use consistent snake_case, and four of six follow the verb_noun pattern (build_search_link, compare_airports, get_capabilities, list_airports). Two are bare resource nouns (airport_costs, supplier_terms), a minor deviation that is still predictable and readable.

Tool Count5/5

Six tools is well-scoped for a cost-research/decision-support server: listing, comparing, detailing, supplier lookup, booking handoff, and a capabilities check. Every tool earns its place with no obvious redundancy or padding.

Completeness4/5

The surface covers the full research lifecycle: discover coverage, find airports, inspect costs and suppliers, compare, then act via a live search link. Minor gaps exist (e.g., no date-specific on-site price query or vehicle-class breakdown), but these are reasonably worked around by the live booking link.

Available Tools

6 tools
airport_costsAirport costsA
Read-onlyIdempotent
Inspect

The true cost of hiring a car at one airport: per-day price for the car alone, with a second driver, with full cover, automatic, no-deposit (from + typical); by pick-up month; second-driver fees; deposits; debit-card acceptance; desk closing times and out-of-hours fees; policies. Use when someone asks what car hire really costs at one airport, or about deposits, fees or desk hours there.

NameRequiredDescriptionDefault
monthNoOptional pick-up month YYYY-MM
airportYesAirport id, IATA code or name, e.g. 'faro', 'FAO', 'Faro Airport'
trip_daysNoOptional trip length in days

Output Schema

NameRequiredDescription
iataNo
noteNo
basisNo
errorNo
airportNo
countryNo
depositNo
paymentNo
currencyNo
desk_hoursNo
provenanceNo
report_urlNo
search_linkNo
second_driverNo
by_pickup_monthNo
price_per_day_7_day_hireNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds useful scope detail – that prices are reported as 'from' plus 'typical' and broken out by pick-up month and configuration – but says nothing about data freshness, currency, or what happens when an airport/month has no data. With annotations carrying the safety burden, this is a modest but real addition.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Dense but appropriately sized: the cost facets are front-loaded before the colon list, and the usage sentence closes it. Every clause names a distinct returned datum (deposits, desk hours, debit-card acceptance), so little is filler. Slightly list-heavy but not padded.

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

Completeness4/5

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 not be explained, and the description still conveys the shape of the answer (price tiers by configuration and month, plus fees and policies). Combined with complete schema coverage and read-only annotations, an agent has what it needs to call it correctly; only data currency and empty-result behavior are left open.

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

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (airport, month, trip_days) are already documented in the schema. The description reinforces that results are scoped to one airport and vary by pick-up month, but adds no format or interaction semantics beyond that. Baseline 3 applies 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.

Purpose4/5

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

Names a specific verb+resource ('the true cost of hiring a car at one airport') and enumerates the concrete facets it returns: per-day price under several configurations, pick-up month, second-driver fees, deposits, debit-card acceptance, desk hours and policies. It is unambiguous what this tool produces. It does not name a sibling such as compare_airports, so differentiation is left to inference.

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 final sentence gives a clear trigger: 'Use when someone asks what car hire really costs at one airport, or about deposits, fees or desk hours there.' The word 'one' implicitly routes multi-airport comparison elsewhere, but no alternative tool is named and no exclusions are stated explicitly. Clear context without explicit alternatives.

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

compare_airportsCompare airportsA
Read-onlyIdempotent
Inspect

Rank airports by real cost (car only / with driver / with cover), typical deposit, debit-card friendliness or late desk hours. Use for 'where in Spain is car hire cheapest in March?' or 'which airport is best for a debit card?'

NameRequiredDescriptionDefault
limitNoHow many airports to return (default 10).
monthNoOptional pick-up month YYYY-MM (price sort uses that month)
countryNoOptional country to compare within
sort_byNoWhat to rank by: price (car only), price_with_driver, price_with_cover, deposit (lowest first), debit (most debit-friendly), late_desk (open latest). Default price.
airportsNoOptional list of airports

Output Schema

NameRequiredDescription
noteNo
errorNo
airportsNo
sorted_byNo
provenanceNo

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered without description support. The description adds only that price sorting is month-dependent, which is closer to parameter semantics than behavior; it says nothing about result size limits beyond what the schema states or how ties/absent data are handled.

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?

Two tight sentences: the ranking dimensions come first, the disambiguating example queries second. Every parenthetical carries information about what 'cost' actually means, and there is 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.

Completeness4/5

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

With an output schema present, rich annotations and full schema coverage, the description only needs to convey purpose and ranking semantics, which it does. The remaining gap is that it never positions the tool against airport_costs or list_airports, leaving the agent to infer which sibling to pick for a single-airport lookup.

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

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the sort_by enum is documented field-by-field, so the schema does the heavy lifting and a 3 is the baseline. The description's parenthetical glosses ('car only / with driver / with cover', 'late desk hours') mirror the enum rather than add new meaning, and it does not explain the interaction between month and non-price sort modes or how the optional airports list combines with country.

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

Purpose4/5

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

The description opens with a specific verb (Rank) and resource (airports) and enumerates the exact metrics ranked — real cost tiers, deposit, debit friendliness, late desk hours — so the agent knows precisely what the output ordering means. It stops short of differentiating itself from the sibling airport_costs, which likely returns costs for a single airport, so sibling disambiguation is left to inference.

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 'Use for...' framing plus two concrete natural-language question examples ('where in Spain is car hire cheapest in March?', 'which airport is best for a debit card?') give a clear sense of when this tool is the right call. There are no explicit when-not conditions or named alternatives, so it sits just below the top band.

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

get_capabilitiesGet capabilitiesA
Read-onlyIdempotent
Inspect

What Car Rental Brain measures, how fresh it is, and which airports/countries are covered. Use first when unsure whether a place is covered.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
noteNo
errorNo
toolsNo
countriesNo
airports_measuredNo
latest_measurementNo

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is fully covered by structured fields. The description's contribution is the content emphasis on data freshness and coverage scope, which is modest value-add; it says nothing about size or shape of the response, though the output schema carries that.

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?

Two sentences with zero waste: the first declares what is returned (metrics, freshness, coverage scope), the second front-loads the usage trigger. Nothing is padded or restated from the title.

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

Completeness4/5

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

With an output schema present and rich annotations, the description only needed to say what the tool is for and when to reach for it, which it does. A brief note on whether coverage is static or refreshed (i.e., how to interpret the 'freshness' claim) would close the remaining gap.

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?

Zero parameters, so the baseline of 4 applies; there is nothing the description could usefully add about arguments. The description correctly implies the tool takes no scoping input.

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

Purpose4/5

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

States a specific resource — the measured metrics, data freshness, and airport/country coverage of "Car Rental Brain" — so the agent knows this is a metadata/coverage lookup rather than a data query. The distinction from list_airports (which presumably enumerates airports) is only implicit: 'which airports are covered' could be read as overlapping, and no sibling is named.

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?

'Use first when unsure whether a place is covered' gives an explicit trigger and ordering (call before other tools). It lacks a when-not clause or a pointer to which sibling to use once coverage is confirmed, so it stops short of full routing guidance.

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

list_airportsList airportsA
Read-onlyIdempotent
Inspect

Airports we measure, with the typical rental price per day. Filter by country. Use to find an airport id or to list what is covered in a country.

NameRequiredDescriptionDefault
countryNoOptional country, e.g. 'Portugal'

Output Schema

NameRequiredDescription
noteNo
errorNo
airportsNo

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior. The description adds useful data context (typical rental price per day, country filtering) but does not add behavioral details such as pagination or rate limits.

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 two tight sentences with no wasted text, front-loading what the tool returns before the filter and usage guidance.

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 simple read-only list tool with rich annotations, full schema coverage, and an output schema, the description is complete enough. It states the resource, included data, filter behavior, and primary use cases.

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

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the single optional country parameter is already documented with an example. The description adds that country acts as a filter, but does not provide syntax or default-behavior detail beyond the schema.

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

Purpose4/5

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

The description clearly states the resource (airports measured) and key returned attribute (typical rental price per day), with an optional country filter. It does not explicitly distinguish this listing tool from siblings like airport_costs or compare_airports, so it is clear but lacks sibling differentiation.

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?

It gives explicit use cases: finding an airport id or listing coverage in a country. It does not name alternatives or when-not-to-use conditions, but the context is clear enough for selection.

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

supplier_termsSupplier termsA
Read-onlyIdempotent
Inspect

Per supplier at an airport: typical price per day, second-driver fee, full-cover price, deposit held, whether the desk takes a debit card, and customers' desk review scores. Use when the person is choosing between suppliers at one airport or asks about a named supplier.

NameRequiredDescriptionDefault
airportYesAirport id, IATA code or name, e.g. 'faro', 'FAO', 'Faro Airport'
supplierNoOptional supplier name

Output Schema

NameRequiredDescription
noteNo
errorNo
airportNo
suppliersNo
provenanceNo
search_linkNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description adds the useful fact that this is a descriptive lookup returning terms and review scores, but says nothing about data currency, coverage gaps, or whether missing suppliers are omitted versus nulled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Two sentences, both load-bearing: the first defines the payload, the second defines the trigger, and the trigger is placed last so the reader knows what the tool is before when to use it. The field enumeration is long but each item is genuinely part of the return shape.

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

Completeness4/5

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 not be re-explained, and the description therefore has spare capacity to focus on selection. With only two well-described parameters and full annotation coverage, an agent has nearly everything needed; the only real gap is not knowing how this differs from airport_costs and compare_airports.

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

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are documented in-schema with examples, so the baseline is 3. The phrase 'per supplier at an airport' and 'asks about a named supplier' hints that omitting the optional supplier parameter yields all suppliers at that airport, but the description never states that behavior explicitly.

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

Purpose4/5

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

The description enumerates exactly what is returned per supplier at an airport (daily price, second-driver fee, full-cover price, deposit, debit-card acceptance, review scores), which is far more specific than the title alone. It scopes to 'at an airport' but never names the adjacent siblings (airport_costs, compare_airports) it is not, so differentiation is left partly to inference.

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?

It gives a clear trigger: 'when the person is choosing between suppliers at one airport or asks about a named supplier.' That implicitly separates the single-airport comparison case from cross-airport ones, but no alternative tool is named and no exclusion is stated for when airport_costs or compare_airports would be the right call.

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.

  1. 4 tool updates
    • Changedairport_costs1 field changed
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "type": "object"
        +}
    • Changedbuild_search_link4 fields changed
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / disclosure
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / measured_as_of
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / url
        Added value: +{
        +  "type": "string"
        +}
    • Changedcompare_airports1 field changed
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "type": "object"
        +}
    • Changedsupplier_terms1 field changed
      • addedOutput schema / properties / provenance
        Added value: +{
        +  "type": "object"
        +}
  2. 2 tool updates
    • Changedbuild_search_link7 fields changed
      • addedInput schema / properties / age / description
        Added value: +"Main driver's age in years (default 35). Under 25 or over 70 often costs more."
      • addedInput schema / properties / age / maximum
        Added value: +99
      • addedInput schema / properties / age / minimum
        Added value: +18
      • addedInput schema / properties / automatic / description
        Added value: +"True for automatic gearbox only."
      • addedInput schema / properties / car_type / description
        Added value: +"Car size; omit for every size."
      • addedInput schema / properties / debit_card / description
        Added value: +"True if the driver has no credit card - only cars whose desk takes a debit card for the deposit."
      • addedInput schema / properties / extra_driver / description
        Added value: +"True if a second driver will drive - their fee is then in every total."
    • Changedcompare_airports2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"How many airports to return (default 10)."
      • addedInput schema / properties / sort_by / description
        Added value: +"What to rank by: price (car only), price_with_driver, price_with_cover, deposit (lowest first), debit (most debit-friendly), late_desk (open latest). Default price."
  3. 6 tool updates
    • First observedairport_costs
    • First observedbuild_search_link
    • First observedcompare_airports
    • First observedget_capabilities
    • First observedlist_airports
    • First observedsupplier_terms

Publisher details

Operator
Car Rental Brain · Publisher source
Vendor relationship
First-party · Publisher source
Trust center
Not available
Restrictions
None. Free, no sign-up, no API key, no OAuth; read-only, open to anyone worldwide.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to calculate the true cost of flights by adding airline baggage, seat, priority boarding, check-in, and payment fees to fares, using sourced and dated fee data across many airlines.
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Fixed London chauffeur prices for AI agents: Heathrow/Gatwick/Stansted/Luton and cruise-port transfers, hourly and full-day hire, private day trips, Heathrow VIP meet & greet, plus pre-filled booking links. Public remote endpoint, no API key.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.