Skip to main content
Glama

Privi Car: signed vehicle history report

car_history

The full signed history for a buyer, lender, insurer or the owner: every record, chain check, odometer timeline with rollback flags, accidents on record, service due, and cost of ownership. Private by default: the owner opens it with the owner_key or hands a buyer a 'history' key from car_key_issue. Built from what the owner recorded; Privi does not inspect the vehicle.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "vehicle": "<vehicle>",
      "access": "<access>"
    },
    "name": "car_history"
  }
}

Input Schema

NameRequiredDescriptionDefault
accessYesThe owner_key, or a key token (pck_...) with the 'history' scope
vehicleYesvehicle_id (car_...) or the 17-character VIN

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Beyond annotations it discloses the privacy model (private by default, key-scoped sharing) and an important trust limitation: the report is built only from what the owner recorded and Privi does not inspect the vehicle. Worth noting the annotations mark readOnlyHint=false for what reads like a retrieval operation; the 'signed' report could plausibly create an attestation, so it is ambiguous rather than contradictory. Unspecified: behavior with an expired or wrong-scope key.

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?

Three tight sentences with the payload contents front-loaded, then access, then provenance. No filler, no restating of the title, and each sentence contributes distinct information.

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 usefully compensates by enumerating the report's sections, so the agent knows what comes back. It lacks only edge-case behavior — invalid key, missing vehicle, or what an unrecorded VIN yields.

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 (access as owner_key or pck_... token with 'history' scope; vehicle as car_... id or 17-character VIN). The description adds only the provenance of the key via car_key_issue, which is marginal beyond the schema, so the baseline of 3 applies.

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?

Specific verb-and-resource framing ('full signed history for a buyer, lender, insurer or the owner') followed by an enumeration of exactly what is included: records, chain check, odometer timeline with rollback flags, accidents, service due, cost of ownership. That content list makes it clearly distinguishable from a lightweight sibling like car_info or car_vin_check without the agent opening another schema.

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

Usage Guidelines4/5

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

The description establishes the access pattern that governs use — owner uses owner_key, a buyer gets a 'history' key issued via car_key_issue — which is actionable routing to a named sibling. It stops short of an explicit 'use this instead of car_info when X' exclusion, so there is no stated when-not guidance.

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.