Read-only Dutch vehicle knowledge, comparisons, terminology and cited sources for AI clients.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Read one stored sourceModelKey-to-targetModelKey relation, not a generated comparison. Returns model keys, relationType/meaning and rationale, with evidence, sources and citations. Preserve classification and limitations; do not strengthen the stored claims. Only DIRECT_ALTERNATIVE denotes a direct alternative. Existing models need not have a relation; the reverse direction is a separate lookup. Use get_model_context for one model and its peers, or search_vehicle_knowledge to discover keys. Unknown model returns MODEL_NOT_FOUND; self/missing relation returns COMPARISON_NOT_AVAILABLE. Public read-only access; no knowledge writes. Calls consume rate limits.
Required exact canonical model key whose stored outgoing peer relation is read. 1–200 lowercase ASCII letters/digits in single-hyphen-separated groups, e.g. volkswagen-golf; exact match, direction matters. Use get_model_context to discover peers.
Required exact canonical key of the target in the source model's stored peers. 1–200 lowercase ASCII letters/digits in single-hyphen-separated groups; exact match, must differ from sourceModelKey. Existence of two models does not guarantee a relation.
Read one stored sourceModelKey-to-targetModelKey relation, not a generated comparison. Returns model keys, relationType/meaning and rationale, with evidence, sources and citations. Preserve classification and limitations; do not strengthen the stored claims. Only DIRECT_ALTERNATIVE denotes a direct alternative. Existing models need not have a relation; the reverse direction is a separate lookup. Use get_model_context for one model and its peers, or search_vehicle_knowledge to discover keys. Unknown model returns MODEL_NOT_FOUND; self/missing relation returns COMPARISON_NOT_AVAILABLE. Public read-only access; no knowledge writes. Calls consume rate limits.
| Argument | Type | Description |
|---|---|---|
| sourceModelKey* | string | Required exact canonical model key whose stored outgoing peer relation is read. 1–200 lowercase ASCII letters/digits in single-hyphen-separated groups, e.g. volkswagen-golf; exact match, direction matters. Use get_model_context to discover peers. |
| targetModelKey* | string | Required exact canonical key of the target in the source model's stored peers. 1–200 lowercase ASCII letters/digits in single-hyphen-separated groups; exact match, must differ from sourceModelKey. Existence of two models does not guarantee a relation. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sourceModelKey",
"targetModelKey"
],
"properties": {
"sourceModelKey": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 200,
"minLength": 1,
"description": "Required exact canonical model key whose stored outgoing peer relation is read. 1–200 lowercase ASCII letters/digits in single-hyphen-separated groups, e.g. volkswagen-golf; exact match, direction matters. Use get_model_context to discover peers."
},
"targetModelKey": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 200,
"minLength": 1,
"description": "Required exact canonical key of the target in the source model's stored peers. 1–200 lowercase ASCII letters/digits in single-hyphen-separated groups; exact match, must differ from sourceModelKey. Existence of two models does not guarantee a relation."
}
},
"additionalProperties": false
}Read one existing Dutch vehicle definition by lowercase term slug or term.<slug>. Use search_vehicle_knowledge for free text or an unknown key, get_answer_context for a known answerId, or get_model_context for model-specific context. No fuzzy definition generation. Unknown valid key returns TERM_NOT_FOUND; uppercase/spaced inputs fail validation before normalization. Public read-only access; no knowledge writes. Calls consume rate limits.
| Argument | Type | Description |
|---|---|---|
| termKey* | string | Existing lowercase term slug or the same slug prefixed with term., e.g. apk or term.apk. 1–200 characters; ASCII letters/digits with single hyphen separators. No spaces, uppercase or fuzzy matching; these fail schema validation before normalization. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"termKey"
],
"properties": {
"termKey": {
"type": "string",
"pattern": "^(?:term\\.)?[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 200,
"minLength": 1,
"description": "Existing lowercase term slug or the same slug prefixed with term., e.g. apk or term.apk. 1–200 characters; ASCII letters/digits with single hyphen separators. No spaces, uppercase or fuzzy matching; these fail schema validation before normalization."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| answerId* | string | 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. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"answerId"
],
"properties": {
"answerId": {
"type": "string",
"pattern": "^answer\\.[a-z0-9-]+\\.[a-z0-9-]+$",
"maxLength": 200,
"minLength": 1,
"description": "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."
}
},
"additionalProperties": false
}Read the existing fuel-price provenance/status, not current pump prices or a vehicle's consumption. No arguments. Currently succeeds with SOURCE_REQUIRED_AT_RUNTIME and prices=[] because no validated current-price adapter is configured. Use get_source_context for an exact source ID or search_vehicle_knowledge for broader fuel knowledge. Never treat empty prices as zero or invent a current price. Public read-only access; no knowledge writes. Calls consume rate limits.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| modelKey* | string | 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. |
| includeAnswers | boolean | 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. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"modelKey"
],
"properties": {
"modelKey": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 200,
"minLength": 1,
"description": "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."
},
"includeAnswers": {
"type": "boolean",
"default": false,
"description": "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."
}
},
"additionalProperties": false
}Read one public SOURCE or SOURCE_GROUP by exact opaque sourceId to inspect provenance, freshness and limitations. Use search_vehicle_knowledge to discover sources; get_model_context or get_answer_context retrieves the knowledge a source supports. Not a search by URL or source label. Never split composite-looking IDs. Unknown ID returns SOURCE_NOT_FOUND. Public read-only access; no knowledge writes. Calls consume rate limits.
| Argument | Type | Description |
|---|---|---|
| sourceId* | string | 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. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sourceId"
],
"properties": {
"sourceId": {
"type": "string",
"pattern": "^[a-z0-9]+(?:[.:-][a-z0-9-]+)*$",
"maxLength": 200,
"minLength": 1,
"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."
}
},
"additionalProperties": false
}Discover public models, existing answers, terms and provenance from free text when no canonical key is known. Use get_model_context, get_answer_context, explain_dutch_vehicle_term or get_source_context for known IDs; compare_vehicle_models for a known model pair; get_fuel_price_context for fuel-source status. Results use deterministic lexical/intent relevance, never AI confidence; no supported match returns data=[] with limitations. Public read-only access; no knowledge writes. Calls consume rate limits.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Optional maximum result count; integer 1–10 inclusive, default 5. Fewer or zero results may be returned; this MCP limit differs from other transports. |
| query* | string | Required free-text query, 1–200 raw characters, no ASCII control characters. Use at least two searchable characters after accent/case/punctuation normalization. Dutch terms and model names search the existing index using lexical tokens and intent rules; no semantic generation. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "Optional maximum result count; integer 1–10 inclusive, default 5. Fewer or zero results may be returned; this MCP limit differs from other transports."
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Required free-text query, 1–200 raw characters, no ASCII control characters. Use at least two searchable characters after accent/case/punctuation normalization. Dutch terms and model names search the existing index using lexical tokens and intent rules; no semantic generation."
}
},
"additionalProperties": false
}