Skip to main content
Glama

KentekenKompas

get_model_context

Read-onlyIdempotent

Read model-level knowledge for an exact modelKey; optionally include its existing Direct Answers. Use search_vehicle_knowledge to discover a key, get_answer_context for a known answerId, or compare_vehicle_models for a known pair. Not a license-plate lookup or individual-car assessment. Unknown key returns MODEL_NOT_FOUND; incomplete coverage remains a successful result with coverage and limitations. Public read-only access; no knowledge writes. Calls consume rate limits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelKeyYesCanonical model identifier from search results or kk://models, e.g. volkswagen-golf. 1–200 characters; lowercase ASCII letters/digits separated by single hyphens. Exact match; no aliases, spaces, uppercase, URL or license plate.
includeAnswersNoOptional, default false. When true, include the model's existing Direct Answers in data.answers and merge their evidence, sources and limitations. Does not generate answers or change the model's freshness.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesTool-specific successful result. Search returns an array (possibly empty); exact tools return the requested record or projection. Tool errors use a separate isError envelope.
sourcesYesResolved public SOURCE/SOURCE_GROUP records supporting this result. Search may leave this empty; use get_source_context for a discovered source ID.
coverageNoAvailable coverage metadata; incomplete or absent coverage is not an assurance of complete knowledge. Preserve limitations.
evidenceYesExposed evidence references with classifications and source IDs. May be empty (including search); not proof that knowledge has no provenance.
freshnessYesAvailable freshness metadata. Distinguish dataAsOf, sourceCheckedAt, editorialReviewedAt and generatedAt; missing fields do not mean current.
citationUrlNoHuman-readable KentekenKompas citation URL for this record/context; distinct from an original sourceUrl and a kk:// resource identity.
limitationsYesExplicit scope and interpretation limits to preserve in client answers. Empty does not certify complete coverage.
schemaVersionYesTransport envelope contract kk-api-v1; distinct from the nested knowledge schema, knowledgeVersion and server version.
knowledgeVersionYesActive knowledge release identifier from its manifest; not the API contract or MCP/registry server version.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed61 schema fields changed
    • addedInput schema / properties / includeAnswers / description
      Added value: +"Optional, default false. When true, include the model's existing Direct Answers in data.answers and merge their evidence, sources and limitations. Does not generate answers or change the model's freshness."
    • addedInput schema / properties / modelKey / description
      Added value: +"Canonical model identifier from search results or kk://models, e.g. volkswagen-golf. 1–200 characters; lowercase ASCII letters/digits separated by single hyphens. Exact match; no aliases, spaces, uppercase, URL or license plate."
    • addedOutput schema / properties / citationUrl / description
      Added value: +"Human-readable KentekenKompas citation URL for this record/context; distinct from an original sourceUrl and a kk:// resource identity."
    • addedOutput schema / properties / coverage / description
      Added value: +"Available coverage metadata; incomplete or absent coverage is not an assurance of complete knowledge. Preserve limitations."
    • addedOutput schema / properties / data / description
      Added value: +"Tool-specific successful result. Search returns an array (possibly empty); exact tools return the requested record or projection. Tool errors use a separate isError envelope."
    • addedOutput schema / properties / data / properties / answers / description
      Added value: +"Existing model Direct Answers, present only when includeAnswers=true; an empty list means none exposed for the model."
    • addedOutput schema / properties / data / properties / answers / items / properties / answer / description
      Added value: +"Existing published answer text; returned without generating new factual claims."
    • addedOutput schema / properties / data / properties / answers / items / properties / answerId / description
      Added value: +"Stable existing Direct Answer identifier, 1–200 characters, matching answer.<lowercase-model-or-topic>.<lowercase-intent> (ASCII letters, digits and hyphens in both parts). Copy the full ID from discovery; no free-text question."
    • addedOutput schema / properties / data / properties / answers / items / properties / citationUrl / description
      Added value: +"Human-readable KentekenKompas citation URL for this record/context; distinct from an original sourceUrl and a kk:// resource identity."
    • addedOutput schema / properties / data / properties / answers / items / properties / classification / description
      Added value: +"Knowledge classification: OFFICIAL, reproducibly DERIVED, or EDITORIAL. Preserve this label; it is not a confidence score."
    • addedOutput schema / properties / data / properties / answers / items / properties / evidenceIds / description
      Added value: +"Identifiers of the evidence supporting this answer; envelope evidence contains the exposed references."
    • addedOutput schema / properties / data / properties / answers / items / properties / freshness / description
      Added value: +"Available freshness metadata. Distinguish dataAsOf, sourceCheckedAt, editorialReviewedAt and generatedAt; missing fields do not mean current."
    • addedOutput schema / properties / data / properties / answers / items / properties / intents / description
      Added value: +"Existing intent labels attached to this Direct Answer; these are discovery metadata, not generated confidence estimates."
    • addedOutput schema / properties / data / properties / answers / items / properties / limitations / description
      Added value: +"Explicit scope and interpretation limits to preserve in client answers. Empty does not certify complete coverage."
    • addedOutput schema / properties / data / properties / answers / items / properties / modelKey / description
      Added value: +"Canonical model identifier from search results or kk://models, e.g. volkswagen-golf. 1–200 characters; lowercase ASCII letters/digits separated by single hyphens. Exact match; no aliases, spaces, uppercase, URL or license plate."
    • addedOutput schema / properties / data / properties / answers / items / properties / question / description
      Added value: +"Existing published question answered by this knowledge record."
    • addedOutput schema / properties / data / properties / answers / items / properties / sourceIds / description
      Added value: +"Opaque IDs of supporting public sources or source groups. An empty array means no references exposed here, not proof of completeness."
    • addedOutput schema / properties / data / properties / answers / items / properties / sourceIds / items / description
      Added value: +"Opaque public SOURCE or SOURCE_GROUP ID, 1–200 characters; lowercase ASCII letters/digits with dot, colon or hyphen separators as specified by the pattern. Copy exactly from sources or search; never split or reconstruct composite-looking IDs."
    • addedOutput schema / properties / data / properties / answers / items / properties / topic / description
      Added value: +"Optional topic identifier for a non-model or topic-specific Direct Answer."
    • addedOutput schema / properties / data / properties / classification / description
      Added value: +"Knowledge classification: OFFICIAL, reproducibly DERIVED, or EDITORIAL. Preserve this label; it is not a confidence score."
    • addedOutput schema / properties / data / properties / model / description
      Added value: +"Validated model-level knowledge; not an assessment of one individual vehicle."
    • addedOutput schema / properties / data / properties / model / properties / bodyProfile / description
      Added value: +"Imported public body-style profile. Retains the knowledge release's nested fields; not specifications of an individual vehicle."
    • addedOutput schema / properties / data / properties / model / properties / brand / description
      Added value: +"Brand label of the canonical model, not an individual vehicle registration."
    • addedOutput schema / properties / data / properties / model / properties / buyerActions / description
      Added value: +"Existing public buyer checks/actions; no external action is performed by returning them."
    • addedOutput schema / properties / data / properties / model / properties / canonicalRoute / description
      Added value: +"Relative human-readable website route for the canonical model."
    • addedOutput schema / properties / data / properties / model / properties / citationUrl / description
      Added value: +"Human-readable KentekenKompas citation URL for this record/context; distinct from an original sourceUrl and a kk:// resource identity."
    • addedOutput schema / properties / data / properties / model / properties / configurationProfile / description
      Added value: +"Imported public configuration context; available variants and coverage are release-specific."
    • addedOutput schema / properties / data / properties / model / properties / coverage / description
      Added value: +"Available coverage metadata; incomplete or absent coverage is not an assurance of complete knowledge. Preserve limitations."
    • addedOutput schema / properties / data / properties / model / properties / directAnswerId / description
      Added value: +"Stable ID of this model's primary existing Direct Answer; retrieve it with get_answer_context."
    • addedOutput schema / properties / data / properties / model / properties / editorialIndicator / description
      Added value: +"Imported indicator with explicit knowledge classification; not a probability or individual-vehicle verdict."
    • addedOutput schema / properties / data / properties / model / properties / evidenceReferences / description
      Added value: +"Public model-level evidence records as supplied by the release."
    • addedOutput schema / properties / data / properties / model / properties / freshness / description
      Added value: +"Available freshness metadata. Distinguish dataAsOf, sourceCheckedAt, editorialReviewedAt and generatedAt; missing fields do not mean current."
    • addedOutput schema / properties / data / properties / model / properties / insights / description
      Added value: +"Existing public model insights with their release-specific fields and limitations."
    • addedOutput schema / properties / data / properties / model / properties / limitations / description
      Added value: +"Explicit scope and interpretation limits to preserve in client answers. Empty does not certify complete coverage."
    • addedOutput schema / properties / data / properties / model / properties / model / description
      Added value: +"Canonical model label or model-level knowledge object, as specified by the field's schema."
    • addedOutput schema / properties / data / properties / model / properties / modelKey / description
      Added value: +"Canonical model identifier from search results or kk://models, e.g. volkswagen-golf. 1–200 characters; lowercase ASCII letters/digits separated by single hyphens. Exact match; no aliases, spaces, uppercase, URL or license plate."
    • addedOutput schema / properties / data / properties / model / properties / namedVariants / description
      Added value: +"Existing public named-variant records; no inferred or generated variants."
    • addedOutput schema / properties / data / properties / model / properties / peers / description
      Added value: +"Existing outgoing model relations. Relation type matters; not every peer is a direct alternative. Use compare_vehicle_models for a known pair."
    • addedOutput schema / properties / data / properties / model / properties / powertrainProfile / description
      Added value: +"Imported public powertrain context; no promise of every engine or individual vehicle configuration."
    • addedOutput schema / properties / data / properties / model / properties / riskQuestion / description
      Added value: +"Published model-level risk/question context, not an assessment of a specific car."
    • addedOutput schema / properties / data / properties / model / properties / schemaVersion / description
      Added value: +"Public knowledge record contract version kk-public-knowledge-v1; different from the enclosing API schema and server version."
    • addedOutput schema / properties / data / properties / model / properties / sourceIds / description
      Added value: +"Opaque IDs of supporting public sources or source groups. An empty array means no references exposed here, not proof of completeness."
    • addedOutput schema / properties / data / properties / model / properties / sourceIds / items / description
      Added value: +"Opaque public SOURCE or SOURCE_GROUP ID, 1–200 characters; lowercase ASCII letters/digits with dot, colon or hyphen separators as specified by the pattern. Copy exactly from sources or search; never split or reconstruct composite-looking IDs."
    • addedOutput schema / properties / data / properties / model / properties / useFit / description
      Added value: +"Published use-fit context; editorial interpretation rather than a personal purchase recommendation."
    • addedOutput schema / properties / data / properties / model / properties / vehicleFormContext / description
      Added value: +"Imported public vehicle-form context and its applicability boundaries."
    • addedOutput schema / properties / data / properties / model / properties / vehicleRole / description
      Added value: +"Published description of the model's vehicle/use role."
    • addedOutput schema / properties / evidence / description
      Added value: +"Exposed evidence references with classifications and source IDs. May be empty (including search); not proof that knowledge has no provenance."
    • addedOutput schema / properties / evidence / items / properties / classification / description
      Added value: +"Knowledge classification: OFFICIAL, reproducibly DERIVED, or EDITORIAL. Preserve this label; it is not a confidence score."
    • addedOutput schema / properties / evidence / items / properties / evidenceId / description
      Added value: +"Identifier of a cited evidence reference; resolve its sourceIds for provenance, not as a confidence score."
    • addedOutput schema / properties / evidence / items / properties / sourceIds / description
      Added value: +"Opaque IDs of supporting public sources or source groups. An empty array means no references exposed here, not proof of completeness."
    • addedOutput schema / properties / evidence / items / properties / sourceIds / items / description
      Added value: +"Opaque public SOURCE or SOURCE_GROUP ID, 1–200 characters; lowercase ASCII letters/digits with dot, colon or hyphen separators as specified by the pattern. Copy exactly from sources or search; never split or reconstruct composite-looking IDs."
    • addedOutput schema / properties / freshness / description
      Added value: +"Available freshness metadata. Distinguish dataAsOf, sourceCheckedAt, editorialReviewedAt and generatedAt; missing fields do not mean current."
    • addedOutput schema / properties / freshness / properties / dataAsOf / description
      Added value: +"Optional date/time to which the underlying data relates; absent means not supplied, not current."
    • addedOutput schema / properties / freshness / properties / editorialReviewedAt / description
      Added value: +"Optional date/time of editorial review; does not certify that all underlying data was refreshed."
    • addedOutput schema / properties / freshness / properties / generatedAt / description
      Added value: +"Timestamp of generation. At envelope level this is the active manifest's generatedAt, not a source refresh or publication date."
    • addedOutput schema / properties / freshness / properties / sourceCheckedAt / description
      Added value: +"Optional date/time when the source was checked, not necessarily the date the data describes."
    • addedOutput schema / properties / knowledgeVersion / description
      Added value: +"Active knowledge release identifier from its manifest; not the API contract or MCP/registry server version."
    • addedOutput schema / properties / limitations / description
      Added value: +"Explicit scope and interpretation limits to preserve in client answers. Empty does not certify complete coverage."
    • addedOutput schema / properties / schemaVersion / description
      Added value: +"Transport envelope contract kk-api-v1; distinct from the nested knowledge schema, knowledgeVersion and server version."
    • addedOutput schema / properties / sources / description
      Added value: +"Resolved public SOURCE/SOURCE_GROUP records supporting this result. Search may leave this empty; use get_source_context for a discovered source ID."
    • changedOutput schema / properties / sources / items / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "category": {
      -        "enum": [
      -          "OFFICIAL_PRIMARY_DATA",
      -          "OFFICIAL_GUIDANCE",
      -          "PRIMARY_NON_GOVERNMENT",
      -          "REPUTABLE_EDITORIAL",
      -          "BACKGROUND_REFERENCE",
      -          "KENTEKENKOMPAS_DERIVED",
      -          "KENTEKENKOMPAS_EDITORIAL"
      -        ],
      -        "type": "string"
      -      },
      -      "citationUrl": {
      -        "format": "uri",
      -        "type": "string"
      -      },
      -      "freshness": {
      -        "additionalProperties": {},
      -        "propertyNames": {
      -          "type": "string"
      -        },
      -        "type": "object"
      -      },
      -      "kind": {
      -        "const": "SOURCE",
      -        "type": "string"
      -      },
      -      "label": {
      -        "type": "string"
      -      },
      -      "limitations": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "sourceId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[a-z0-9]+(?:[.:-][a-z0-9-]+)*$",
      -        "type": "string"
      -      },
      -      "sourceUrl": {
      -        "format": "uri",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "const": "PUBLIC",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "sourceId",
      -      "kind",
      -      "visibility",
      -      "label",
      -      "category",
      -      "citationUrl",
      -      "sourceUrl",
      -      "freshness",
      -      "limitations"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "category": {
      -        "enum": [
      -          "OFFICIAL_PRIMARY_DATA",
      -          "OFFICIAL_GUIDANCE",
      -          "PRIMARY_NON_GOVERNMENT",
      -          "REPUTABLE_EDITORIAL",
      -          "BACKGROUND_REFERENCE",
      -          "KENTEKENKOMPAS_DERIVED",
      -          "KENTEKENKOMPAS_EDITORIAL"
      -        ],
      -        "type": "string"
      -      },
      -      "citationUrl": {
      -        "format": "uri",
      -        "type": "string"
      -      },
      -      "citationUrls": {
      -        "items": {
      -          "format": "uri",
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "description": {
      -        "type": "string"
      -      },
      -      "freshness": {
      -        "additionalProperties": {},
      -        "propertyNames": {
      -          "type": "string"
      -        },
      -        "type": "object"
      -      },
      -      "kind": {
      -        "const": "SOURCE_GROUP",
      -        "type": "string"
      -      },
      -      "label": {
      -        "type": "string"
      -      },
      -      "limitations": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "memberOrderMeaning": {
      -        "type": "string"
      -      },
      -      "memberSourceIds": {
      -        "items": {
      -          "maxLength": 200,
      -          "minLength": 1,
      -          "pattern": "^[a-z0-9]+(?:[.:-][a-z0-9-]+)*$",
      -          "type": "string"
      -        },
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "sourceId": {
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "pattern": "^[a-z0-9]+(?:[.:-][a-z0-9-]+)*$",
      -        "type": "string"
      -      },
      -      "visibility": {
      -        "const": "PUBLIC",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "sourceId",
      -      "kind",
      -      "visibility",
      -      "label",
      -      "category",
      -      "citationUrl",
      -      "description",
      -      "memberSourceIds",
      -      "memberOrderMeaning",
      -      "citationUrls",
      -      "freshness",
      -      "limitations"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "description": "Detailed provenance category. Keep it distinct from the coarser OFFICIAL/DERIVED/EDITORIAL classification.",
      +        "enum": [
      +          "OFFICIAL_PRIMARY_DATA",
      +          "OFFICIAL_GUIDANCE",
      +          "PRIMARY_NON_GOVERNMENT",
      +          "REPUTABLE_EDITORIAL",
      +          "BACKGROUND_REFERENCE",
      +          "KENTEKENKOMPAS_DERIVED",
      +          "KENTEKENKOMPAS_EDITORIAL"
      +        ],
      +        "type": "string"
      +      },
      +      "citationUrl": {
      +        "description": "Human-readable KentekenKompas citation URL for this record/context; distinct from an original sourceUrl and a kk:// resource identity.",
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "freshness": {
      +        "additionalProperties": {},
      +        "description": "Available freshness metadata. Distinguish dataAsOf, sourceCheckedAt, editorialReviewedAt and generatedAt; missing fields do not mean current.",
      +        "propertyNames": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "kind": {
      +        "const": "SOURCE",
      +        "description": "Discriminator: SOURCE is one public source; SOURCE_GROUP is an explicit grouped provenance record.",
      +        "type": "string"
      +      },
      +      "label": {
      +        "description": "Human-readable label supplied by the knowledge record.",
      +        "type": "string"
      +      },
      +      "limitations": {
      +        "description": "Explicit scope and interpretation limits to preserve in client answers. Empty does not certify complete coverage.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "sourceId": {
      +        "description": "Opaque public SOURCE or SOURCE_GROUP ID, 1–200 characters; lowercase ASCII letters/digits with dot, colon or hyphen separators as specified by the pattern. Copy exactly from sources or search; never split or reconstruct composite-looking IDs.",
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[a-z0-9]+(?:[.:-][a-z0-9-]+)*$",
      +        "type": "string"
      +      },
      +      "sourceUrl": {
      +        "description": "Original public source URL for a SOURCE record; distinct from the KentekenKompas explanation URL.",
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "const": "PUBLIC",
      +        "description": "PUBLIC marks provenance permitted in the public knowledge contract.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "sourceId",
      +      "kind",
      +      "visibility",
      +      "label",
      +      "category",
      +      "citationUrl",
      +      "sourceUrl",
      +      "freshness",
      +      "limitations"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "category": {
      +        "description": "Detailed provenance category. Keep it distinct from the coarser OFFICIAL/DERIVED/EDITORIAL classification.",
      +        "enum": [
      +          "OFFICIAL_PRIMARY_DATA",
      +          "OFFICIAL_GUIDANCE",
      +          "PRIMARY_NON_GOVERNMENT",
      +          "REPUTABLE_EDITORIAL",
      +          "BACKGROUND_REFERENCE",
      +          "KENTEKENKOMPAS_DERIVED",
      +          "KENTEKENKOMPAS_EDITORIAL"
      +        ],
      +        "type": "string"
      +      },
      +      "citationUrl": {
      +        "description": "Human-readable KentekenKompas citation URL for this record/context; distinct from an original sourceUrl and a kk:// resource identity.",
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "citationUrls": {
      +        "description": "Human-readable citation links associated with the group; not its members' sourceUrl fields.",
      +        "items": {
      +          "format": "uri",
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "description": {
      +        "description": "Public explanation of the source group's purpose and composition.",
      +        "type": "string"
      +      },
      +      "freshness": {
      +        "additionalProperties": {},
      +        "description": "Available freshness metadata. Distinguish dataAsOf, sourceCheckedAt, editorialReviewedAt and generatedAt; missing fields do not mean current.",
      +        "propertyNames": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "kind": {
      +        "const": "SOURCE_GROUP",
      +        "description": "Discriminator: SOURCE is one public source; SOURCE_GROUP is an explicit grouped provenance record.",
      +        "type": "string"
      +      },
      +      "label": {
      +        "description": "Human-readable label supplied by the knowledge record.",
      +        "type": "string"
      +      },
      +      "limitations": {
      +        "description": "Explicit scope and interpretation limits to preserve in client answers. Empty does not certify complete coverage.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "memberOrderMeaning": {
      +        "description": "Explanation of whether/how member ordering matters; do not infer ranking or chronology.",
      +        "type": "string"
      +      },
      +      "memberSourceIds": {
      +        "description": "Explicit, non-empty list of source IDs belonging to this group; use these rather than splitting the group's opaque sourceId.",
      +        "items": {
      +          "description": "Opaque public SOURCE or SOURCE_GROUP ID, 1–200 characters; lowercase ASCII letters/digits with dot, colon or hyphen separators as specified by the pattern. Copy exactly from sources or search; never split or reconstruct composite-looking IDs.",
      +          "maxLength": 200,
      +          "minLength": 1,
      +          "pattern": "^[a-z0-9]+(?:[.:-][a-z0-9-]+)*$",
      +          "type": "string"
      +        },
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "sourceId": {
      +        "description": "Opaque public SOURCE or SOURCE_GROUP ID, 1–200 characters; lowercase ASCII letters/digits with dot, colon or hyphen separators as specified by the pattern. Copy exactly from sources or search; never split or reconstruct composite-looking IDs.",
      +        "maxLength": 200,
      +        "minLength": 1,
      +        "pattern": "^[a-z0-9]+(?:[.:-][a-z0-9-]+)*$",
      +        "type": "string"
      +      },
      +      "visibility": {
      +        "const": "PUBLIC",
      +        "description": "PUBLIC marks provenance permitted in the public knowledge contract.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "sourceId",
      +      "kind",
      +      "visibility",
      +      "label",
      +      "category",
      +      "citationUrl",
      +      "description",
      +      "memberSourceIds",
      +      "memberOrderMeaning",
      +      "citationUrls",
      +      "freshness",
      +      "limitations"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds valuable behavioral context beyond annotations: 'Unknown key returns MODEL_NOT_FOUND; incomplete coverage remains a successful result with coverage and limitations' and 'Calls consume 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.

Conciseness4/5

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

The description is concise with three sentences, front-loading the core purpose and including key routing and constraints. Each sentence adds value, though the 'Not a license-plate lookup' clause could be seen as extra given the schema already forbids it, but it strengthens usage clarity.

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?

The description is complete for this tool: it covers purpose, usage, behavior (error cases, rate limits), and alternatives, while the schema and output schema handle parameter and return specifics. The agent has everything needed to call it 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?

The schema provides 100% coverage for both parameters with detailed descriptions including format, constraints, and defaults. The description reaffirms they are read-only and the includeAnswers flag does not generate answers. Since the schema already covers semantics, the description adds limited extra value, fitting the baseline of 3.

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?

The description clearly states the tool reads model-level knowledge for a specific modelKey and optionally includes existing Direct Answers. It distinguishes it from related tools by naming alternatives for different use cases (search_vehicle_knowledge, get_answer_context, compare_vehicle_models) and explicitly states what it is not (license-plate lookup or individual-car assessment).

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

Usage Guidelines5/5

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

The description explicitly provides when to use this tool and when to use alternatives: 'Use search_vehicle_knowledge to discover a key, get_answer_context for a known answerId, or compare_vehicle_models for a known pair.' This gives clear routing instructions, and the mention of public read-only access and rate limits sets expectations for usage.

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