Skip to main content
Glama

KentekenKompas

get_answer_context

Read-onlyIdempotent

Read one existing Direct Answer by exact answerId; no text generation. Use search_vehicle_knowledge when the ID is unknown, get_model_context with includeAnswers=true for a model's answers, or explain_dutch_vehicle_term for a term key. Do not pass a free-text question as an ID. Unknown ID returns ANSWER_NOT_FOUND; preserve the returned evidence and limitations. Public read-only access; no knowledge writes. Calls consume rate limits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
answerIdYesStable 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.

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. Changed32 schema fields changed
    • addedInput schema / 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 / 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 / answer / description
      Added value: +"Existing published answer text; returned without generating new factual claims."
    • addedOutput schema / properties / data / 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 / 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 / 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 / evidenceIds / description
      Added value: +"Identifiers of the evidence supporting this answer; envelope evidence contains the exposed references."
    • addedOutput schema / properties / data / 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 / 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 / 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 / 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 / question / description
      Added value: +"Existing published question answered by this knowledge record."
    • addedOutput schema / properties / data / 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 / 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 / topic / description
      Added value: +"Optional topic identifier for a non-model or topic-specific Direct Answer."
    • 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.7/5.0
Behavior5/5

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

Annotations already mark readOnly, idempotent, non-destructive, but the description adds valuable behaviors beyond that: 'no text generation,' 'Unknown ID returns ANSWER_NOT_FOUND; preserve the returned evidence and limitations,' and 'Calls consume rate limits.' These give the agent actionable expectations for errors, side effects, and operational constraints without contradicting annotations.

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: purpose and non-behavior, routing to alternatives, and error/access constraints. No filler, each sentence earns its place, and the most important scoping information appears first.

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 single-parameter read tool with an output schema and safety annotations, the description covers usage, error handling, alternative tools, access rights, and rate limits. There is no obvious gap an agent would face when selecting or calling this tool.

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 input schema already describes answerId thoroughly with a pattern, length limits, and an explicit 'no free-text question' note. The description mostly repeats this ('by exact answerId,' 'Do not pass a free-text question as an ID'), adding little new meaning beyond what the schema provides. Baseline of 3 applies because schema coverage is 100%.

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 opens with 'Read one existing Direct Answer by exact answerId; no text generation,' which names a specific verb (read), a specific resource (one existing Direct Answer), and the exact input. It also lists sibling alternatives such as search_vehicle_knowledge, so a model can tell it apart immediately.

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?

It explicitly states when to use this tool versus alternatives: use search_vehicle_knowledge when the ID is unknown, get_model_context with includeAnswers=true for a model's answers, or explain_dutch_vehicle_term for a term key. It also gives a clear exclusion: 'Do not pass a free-text question as an ID.'

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