Skip to main content
Glama

CarWallet Vehicle Maintenance & Licensing

Server Details

South African vehicle licence disc renewal estimates, service tracking, and car ownership cost tools.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.5/5.0

Scored across 10 tools

Disambiguation4/5

The tools mostly target clearly distinct resources and actions: vehicles, fuel logs, SARS trips, service records, fuel prices, product catalog, platform metrics, and SARS calculations/guidance. The only mild overlap is among the three SARS-related tools, but their descriptions differentiate ROI calculation, travel-summary totals, and compliance guidance well enough.

Naming Consistency5/5

All tool names use a consistent snake_case verb_noun pattern, primarily get_*, list_*, and calculate_*. The convention is predictable throughout the set.

Tool Count5/5

Ten tools is a well-scoped size for this domain, with each tool covering a distinct read, calculation, or reference function. The set does not feel bloated or thin.

Completeness2/5

The surface is almost entirely read/calculate-oriented: there are no tools to create or update vehicles, fuel logs, SARS trips, or service records. Despite the server being framed as vehicle maintenance and licensing, there are also no licensing/registration operations, leaving significant lifecycle gaps.

Available Tools

10 tools
calculate_fleet_sars_roiAInspect

Calculate 3-year SARS Section 8(1)(b) travel tax deduction, corporate tax cash return (27%), phantom fuel savings, and 3-year contract savings vs. legacy R399/mo tracking contracts.

NameRequiredDescriptionDefault
fleet_sizeNoNumber of vehicles in the fleet (default: 3).
sars_rate_per_kmNoSARS deemed rate per km in ZAR (default: 5.62 for R250k-R450k vehicle bracket).
annual_business_kmNoAverage annual business kilometres per vehicle (default: 25000).

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the burden. It does disclose key modelling assumptions (3-year horizon, 27% corporate tax rate, R399/mo legacy baseline) which is useful behavioural context, but it never states that this is a pure computation with no side effects, nor how the numbers are returned. Adequate, but a mutation/side-effect disclaimer and return-shape note are missing.

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?

A single dense sentence that front-loads the verb and enumerates the four computed figures. It is efficient and free of filler, though the packed jargon (Section 8(1)(b), phantom fuel savings) makes it slightly heavy for one sentence.

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 no output schema and no annotations, the description does the essential work of naming the four return values, so an agent knows what comes back. The only gap is that it does not describe the response structure (totals vs. per-vehicle) or confirm the computation is side-effect free.

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 every property already documents its meaning and default (fleet_size default 3, sars_rate_per_km default 5.62, annual_business_km default 25000). The description adds no parameter-level detail beyond the schema, so the baseline 3 applies; it does at least anchor the vehicle bracket context indirectly through the tax framing.

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 ("Calculate") and then names the exact outputs: SARS Section 8(1)(b) deduction, 27% corporate tax cash return, phantom fuel savings, and 3-year contract savings. That is far more specific than any sibling (get_sars_summary, get_sars_compliance_guide) and an agent can tell this is a modelling/projection tool rather than a data-fetch tool.

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

Usage Guidelines3/5

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

Usage is only implied: the words "Calculate ... ROI" and "vs. legacy R399/mo tracking contracts" suggest a what-if / sales-projection scenario, but there is no explicit when-to-use or when-not-to-use statement, and no routing away from get_sars_summary or get_sars_compliance_guide. Nothing is misleading, but the agent has to infer the trigger condition.

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

get_fuel_pricesAInspect

Get official South African regulated fuel prices (95 ULP, 93 ULP, 50ppm Diesel) from the Central Energy Fund (CEF), including next price adjustment date and projected change.

NameRequiredDescriptionDefault
regionNoSouth African price zone (Inland or Coastal).
fuel_gradeNoFuel grade to query (default: Petrol 95).

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the authoritative source (CEF) and that the response includes the next adjustment date and projected change, but it does not state freshness, caching, rate limits, or error behavior.

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?

A single front-loaded sentence that states the resource, grades, source, and included extras with no wasted words.

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

Completeness3/5

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

For a no-annotation, no-output-schema tool, the description covers purpose and source but does not describe the return format, units, currency, or the structure of the projected-change data, leaving some gaps an agent would need to discover by calling it.

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%, so both parameters are already documented with enums and defaults. The description lists fuel grades but adds no syntax or format beyond the schema, so the baseline 3 is appropriate.

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?

States a specific verb and resource — official South African regulated fuel prices — names the exact data source (CEF), and enumerates the three covered grades. It is clearly distinguishable from sibling tools like list_fuel_logs.

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

Usage Guidelines3/5

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

The description implies when to use it (official regulated price lookup) and names the source, but it gives no explicit when-not guidance or alternative tools for related tasks like viewing historical fuel logs.

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

get_platform_metricsBInspect

Inspect live CarWallet platform telemetry (registered drivers, vehicles, fuel logs, and SARS travel trips).

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. 'Inspect' and 'live' imply a read-only, real-time operation, but the description never says so explicitly, nor does it cover permissions, cost, or refresh semantics. Critically, it does not disclose the return shape (counts vs. records) and no output schema exists to compensate.

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?

A single front-loaded sentence identifying the resource with the covered domains in parentheses; every element earns its place and nothing is repeated.

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

Completeness2/5

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

For a tool with no annotations and no output schema, the description must explain what comes back. It only names the domains touched, leaving the agent unsure whether the response is aggregate telemetry (counts, totals) or raw records, which matters given the overlapping listing siblings.

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?

The tool takes zero parameters, so there is no parameter semantics to document and the baseline of 4 applies. Nothing in the description conflicts with the empty 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?

States a specific verb ('Inspect') and a specific resource ('live CarWallet platform telemetry') and enumerates the domains covered: drivers, vehicles, fuel logs, SARS trips. However, the phrasing leaves ambiguity about whether this returns aggregate counts/metrics or the underlying records, so it does not fully separate itself from siblings like list_vehicles, list_fuel_logs, and list_sars_trips.

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

Usage Guidelines2/5

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

There is no indication of when to call this instead of the many record-listing siblings (list_vehicles, list_fuel_logs, list_sars_trips, get_sars_summary). Since the described domains are exactly those listed by those siblings, an agent has no basis to choose between them without guessing.

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

get_product_catalogBInspect

Get CarWallet 4G OBD-II GPS Tracker hardware specs (Powered by Teltonika), Starter Bundle pricing (R1,809), Pro Telematics subscription (R110/month), Free App features, and direct checkout URL.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden; it does disclose the concrete return contents, which tells the agent this is a static, parameterless informational read. It stops short of confirming there is no filtering, no pagination, and whether pricing (R1,809, R110/month) is fixed or region/date dependent.

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?

A single dense sentence that front-loads the product identity and then lists the payload components. Efficient, though the parenthetical pricing and 'Powered by Teltonika' read as marketing keyword stuffing rather than guidance.

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

Completeness3/5

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

With no output schema, the description must convey return content, and it does so in reasonable detail. It is still incomplete on whether the payload is static/hardcoded, how often pricing changes, and why this tool exists alongside fleet/telematics siblings — all of which matter for correct invocation.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the description correctly implies a no-argument call.

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

Purpose3/5

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

The description names a specific verb and enumerates exactly what comes back (hardware specs, bundle pricing, subscription rate, app features, checkout URL), which is more informative than the generic name suggests. However, the name 'get_product_catalog' implies a catalog of products while the description describes a single fixed product payload, creating a scope mismatch an agent must reconcile.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus siblings like get_platform_metrics or get_fuel_prices, and no exclusions or prerequisites. The agent must infer from the content that this is a sales/pricing lookup rather than fleet data.

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

get_sars_compliance_guideAInspect

Get authoritative South African SARS Section 8(1)(b) travel logbook rules, Tax Administration Act Section 29 5-year retention requirements, mandatory logbook fields, and thermal receipt rules.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It implies a read-only static reference with no arguments, which is low-risk, but it never confirms the content is fixed/canonical versus user-specific, nor whether jurisdiction or version applies. Adequate but thin for an unannotated tool.

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?

A single front-loaded sentence with the verb first and a compact enumeration of covered topics. No filler, no redundancy.

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 no output schema, the description effectively previews the return content by listing the rule areas covered, which is what an agent needs. Missing is any hint of format (structured vs prose) or length, keeping it from a 5.

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?

The tool takes zero parameters, so there is nothing to disambiguate; baseline 4 applies. The description correctly implies no input is needed to retrieve the ruleset.

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 verb ('Get') and a precisely enumerated resource: SARS Section 8(1)(b) logbook rules, TAA Section 29 retention, mandatory fields, thermal receipt rules. An agent can tell this is a static reference/rules lookup. It does not name a sibling (e.g., get_sars_summary) to contrast with, so it stops short of a 5.

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

Usage Guidelines3/5

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

Usage is implied by the content ('authoritative rules'), so an agent can infer it should call this before advising on logbook compliance. However, there is no explicit when-to-use, when-not, or pointer to the data-bearing siblings like get_sars_summary or list_sars_trips.

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

get_sars_summaryBInspect

Calculate official SARS travel allowance tax pack totals for a vehicle across the South African tax year (1 March to 28/29 February), returning total km, business km, business %, and total fuel expenditure.

NameRequiredDescriptionDefault
tax_yearNoTax year starting year (e.g. 2026 for the 2026/2027 tax year starting 1 March 2026).
vehicle_idYesID of the vehicle to calculate SARS Section 8(1)(b) totals for.

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose the computed outputs (total km, business km, business %, fuel expenditure) and the period boundary, implying a read-only aggregation, but it never states that it is non-mutating, what happens when underlying trip/fuel data is missing or partial, or whether the result is persisted.

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?

A single dense sentence with the verb and resource front-loaded and no filler. It is long but every clause (tax year window, returned metrics) contributes information.

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

Completeness3/5

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

With no output schema and no annotations, the description does list the key return fields, which is helpful. However, for a computation tool that depends on other entities (trips, fuel logs), it omits data-precondition behavior and error/empty-state handling, leaving real gaps.

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 the schema already documents both parameters. The description adds the SARS year convention (1 March start, 28/29 February end), which marginally enriches tax_year semantics but does not explain formatting, defaults, or how an omitted tax_year is resolved.

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 verb (Calculate) and a precise resource (official SARS travel allowance tax pack totals for a single vehicle over the SA tax year), and enumerates the returned aggregates. Scope (single vehicle, per tax year) implicitly separates it from calculate_fleet_sars_roi and get_sars_compliance_guide, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

The tax-year window (1 March to 28/29 February) gives useful framing, but there is no explicit statement of when to use this versus calculate_fleet_sars_roi, get_sars_compliance_guide, or list_sars_trips. Prerequisites (e.g. whether trips and fuel logs must already be captured) are 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_service_recordsBInspect

Retrieve vehicle maintenance and service history records, including service dates, odometers, service types, costs, and service center names.

NameRequiredDescriptionDefault
vehicle_idNoOptional vehicle ID to filter service records.

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden, and 'Retrieve' plus the field list does establish this is a non-mutating read that returns maintenance details. However, it is silent on pagination, sort order, result volume, and what happens when vehicle_id is omitted (presumably all vehicles' records) - meaningful gaps for a tool with zero annotation coverage.

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?

A single well-formed sentence that front-loads the verb and resource, with the field list as useful elaboration. Nothing is redundant, though the field enumeration is dense and could be trimmed without loss.

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?

For a one-optional-parameter read tool with no output schema, describing the returned fields is exactly the value the description should add. The remaining gap is behavioral - defaults when vehicle_id is omitted and result-set size - which matters more given no annotations and no output schema.

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 parameter is already documented as an optional filter, so the baseline of 3 applies. The description adds no format, ID-source, or behavior detail (e.g., that omitting it returns fleet-wide records) 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?

States a specific verb ('Retrieve') and resource ('vehicle maintenance and service history records') and enumerates the fields returned, so an agent knows exactly what it gets. It does not name or contrast itself with any sibling such as list_vehicles or list_sars_trips, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus siblings that also surface vehicle data (list_vehicles, list_fuel_logs), and no stated exclusions or prerequisites. The only usage signal, that vehicle_id optionally filters, comes from the input schema rather than the description.

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

list_fuel_logsBInspect

Retrieve recent fuel fill-up records for the user's vehicles, including litres pumped, fuel grade, price per litre, total ZAR cost, station name, logged date, and calculated L/100km fuel economy.

NameRequiredDescriptionDefault
limitNoMaximum number of fuel logs to return (default 25, max 100).
searchNoOptional search keyword for station name or notes.
vehicle_idNoOptional ID of a specific vehicle to filter fuel logs.

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read-only operation ('Retrieve') and lists the data fields returned, which adds useful context. However, it does not explicitly state read-only safety, pagination behavior, or any side effects, leaving gaps for an agent unfamiliar with the tool.

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 a single, front-loaded sentence that efficiently conveys the action, resource, scope, and return fields. Every part earns its place, with no redundancy or filler.

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?

Given the tool's simplicity (3 optional parameters, no output schema, no annotations), the description provides adequate context by enumerating the returned fields and implying a read-only retrieval. It could be slightly more complete by mentioning default sorting order or pagination beyond the limit, but it is sufficient for an agent to call the tool correctly.

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 the input schema already fully documents the limit, search, and vehicle_id parameters. The description adds no new syntax or semantic details about these parameters beyond what is in the schema, so the baseline score of 3 is appropriate.

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 uses a specific verb 'Retrieve' and clearly identifies the resource as 'recent fuel fill-up records for the user's vehicles'. It also enumerates the returned fields, making the tool's scope unambiguous. However, it does not explicitly differentiate itself from sibling tools like get_fuel_prices or list_sars_trips, which would be needed for a 5.

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

Usage Guidelines2/5

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

The description states what the tool does but gives no guidance on when to use it versus alternatives. There is no mention of conditions, exclusions, or comparisons to sibling tools such as get_fuel_prices or list_sars_trips. Usage is only implied by the name and description.

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

list_sars_tripsBInspect

Retrieve SARS Section 8(1)(b) compliant business and private travel logs, including trip date, starting odometer, ending odometer, distance in km, destination, and specific business purpose.

NameRequiredDescriptionDefault
limitNoMaximum number of trips to return (default 50, max 200).
vehicle_idNoOptional ID of a specific vehicle to filter trips.
is_businessNoFilter by business travel (true) or private travel (false). Omit to return both.

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden; it does disclose the return fields (useful since there is no output schema) and that both business and private logs are included. However, it never states that this is a read-only listing, how results are ordered, or pagination/limit behavior beyond what the schema already says.

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?

A single front-loaded sentence that states the resource and then the fields. It is efficient with no filler, though the field enumeration makes it slightly list-heavy rather than action-oriented.

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

Completeness3/5

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

Without an output schema, enumerating return fields is valuable and partially compensates. But for a listing tool with filters, the description omits ordering, pagination behavior, and when to prefer it over sibling compliance/summary tools, leaving meaningful gaps.

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 (limit, vehicle_id, is_business) are fully documented in the schema with defaults and semantics. The description adds no parameter-level meaning beyond what the schema provides, so the baseline 3 applies.

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 names a specific verb ('Retrieve') and a well-scoped resource ('SARS Section 8(1)(b) compliant business and private travel logs'), and enumerates the returned fields. It implicitly separates itself from list_fuel_logs and get_sars_summary, though it never explicitly contrasts with those siblings.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus list_fuel_logs, get_sars_summary, or calculate_fleet_sars_roi, and no mention of scoping conditions such as omitting is_business to return both types or the default 50-trip limit. The agent must infer all routing decisions.

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

list_vehiclesAInspect

List all vehicles registered in the authenticated user's CarWallet garage, including make, model, year, license plate, current odometer, fuel type, and tank capacity.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it does disclose that results are scoped to the authenticated user's garage (no cross-user access) and enumerates the returned attributes in lieu of an output schema. It omits pagination, ordering, result-size limits, and the empty-garage case, and only implies read-only behavior via the verb 'List'.

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?

A single front-loaded sentence with the scope stated before the field enumeration. Every clause earns its place, and the field list substitutes usefully for the missing output schema.

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?

For a zero-parameter read with no output schema and no annotations, the description covers what is returned and whose data is returned. The remaining gap is operational behavior (ordering, pagination, limits), which is minor for a small per-user collection but not stated anywhere else.

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?

The tool takes zero parameters, so there is no parameter semantics to document; the description correctly implies an unfiltered full listing. Baseline 4 applies for a no-arg tool.

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 verb ('List') and resource ('vehicles') with an explicit scope ('authenticated user's CarWallet garage') and enumerates the returned fields, which clearly separates it from siblings like list_fuel_logs or get_service_records. It stops short of naming an alternative outright, so the differentiation is by resource noun rather than explicit routing.

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

Usage Guidelines2/5

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

The description never says when to reach for this tool versus get_service_records, list_fuel_logs, or list_sars_trips, nor does it state any preconditions beyond the implicit authenticated session. An agent must infer usage entirely from the tool name.

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. 3 tool updates
    • Changedget_fuel_prices1 field changed
      • changedInput schema / properties / region / description
        Previous value: -"South African price zone (Inland or Coastal). [Optional: omit to use server default filter]."New value: +"South African price zone (Inland or Coastal)."
    • Changedget_sars_summary2 fields changed
      • changedInput schema / properties / tax_year / description
        Previous value: -"Tax year starting year (e.g. 2026 for the 2026/2027 tax year starting 1 March 2026). [Optional: omit to use server default filter]."New value: +"Tax year starting year (e.g. 2026 for the 2026/2027 tax year starting 1 March 2026)."
      • changedInput schema / properties / vehicle_id / description
        Previous value: -"ID of the vehicle to calculate SARS Section 8(1)(b) totals for. [Required: non-empty valid value must be supplied]."New value: +"ID of the vehicle to calculate SARS Section 8(1)(b) totals for."
    • Changedlist_sars_trips1 field changed
      • changedInput schema / properties / is_business / description
        Previous value: -"Filter by business travel (true) or private travel (false). Omit to return both. [Optional: omit to use server default filter]."New value: +"Filter by business travel (true) or private travel (false). Omit to return both."
  2. 3 tool updates
    • Changedget_fuel_prices1 field changed
      • changedInput schema / properties / region / description
        Previous value: -"South African price zone (Inland or Coastal)."New value: +"South African price zone (Inland or Coastal). [Optional: omit to use server default filter]."
    • Changedget_sars_summary2 fields changed
      • changedInput schema / properties / tax_year / description
        Previous value: -"Tax year starting year (e.g. 2026 for the 2026/2027 tax year starting 1 March 2026)."New value: +"Tax year starting year (e.g. 2026 for the 2026/2027 tax year starting 1 March 2026). [Optional: omit to use server default filter]."
      • changedInput schema / properties / vehicle_id / description
        Previous value: -"ID of the vehicle to calculate SARS Section 8(1)(b) totals for."New value: +"ID of the vehicle to calculate SARS Section 8(1)(b) totals for. [Required: non-empty valid value must be supplied]."
    • Changedlist_sars_trips1 field changed
      • changedInput schema / properties / is_business / description
        Previous value: -"Filter by business travel (true) or private travel (false). Omit to return both."New value: +"Filter by business travel (true) or private travel (false). Omit to return both. [Optional: omit to use server default filter]."
  3. 10 tool updates
    • First observedcalculate_fleet_sars_roi
    • First observedget_fuel_prices
    • First observedget_platform_metrics
    • First observedget_product_catalog
    • First observedget_sars_compliance_guide
    • First observedget_sars_summary
    • First observedget_service_records
    • First observedlist_fuel_logs
    • First observedlist_sars_trips
    • First observedlist_vehicles

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    16
    18 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources