Skip to main content
Glama

CarWallet — Vehicle Licence Disc Renewal & Compliance

Get Sars Summary

get_sars_summary
Read-onlyIdempotent

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. When to use: Call this tool when you specifically need to execute 'get_sars_summary' on CarWallet Vehicle Compliance (carwallet.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_fuel_prices' or 'get_product_catalog' or 'calculate_fleet_sars_roi' for their respective operations). Parameters: vehicle_id (required), tax_year (optional). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

Input Schema

NameRequiredDescriptionDefault
tax_yearNoTax year starting year (e.g. 2026 for the 2026/2027 tax year starting 1 March 2026). [Optional: omit to use server default filter].
vehicle_idYesID of the vehicle to calculate SARS Section 8(1)(b) totals for. [Required: non-empty valid value must be supplied].

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema 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]."
  2. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, but the description adds material facts beyond them: public unauthenticated access and a 60 requests/min per-IP rate limit. It also restates zero state mutation, which is redundant with the annotations but harmless.

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

Conciseness3/5

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

It is front-loaded with the useful purpose sentence, but the middle section wastes space on a self-referential usage sentence and irrelevant alternative tools. The trailing 'Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs' is generic template text that adds little.

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 two-parameter read-only query this covers what matters: what is computed, the tax-year window, access and rate limits, and the shape of the result. No output schema exists, yet the return description is only a generic template rather than naming the actual summary fields, a small remaining gap.

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 explains both parameters including the tax_year starting-year convention. The description only echoes required/optional status and adds no syntax or edge-case detail, which is the expected baseline 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?

The first sentence states a specific verb (Calculate), resource (SARS travel allowance tax pack totals for a vehicle), and scope (South African tax year 1 March – 28/29 Feb), and lists the returned metrics. It implicitly distinguishes the vehicle-level calculation from calculate_fleet_sars_roi, though that contrast is never spelled out.

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?

There is a 'When to use' line and a 'Do NOT use' line naming alternatives, but the when-to-use clause is circular boilerplate ('when you specifically need to execute get_sars_summary') and the exclusions point to unrelated tools (get_fuel_prices, get_product_catalog) rather than the genuinely confusable sibling calculate_fleet_sars_roi.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources