Dutch Vehicle Context
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dutch Vehicle ContextCheck license plate 01-TH-FD for APK history, recalls, and odometer signals."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dutch Vehicle Context β MCP server & API for Dutch license plates
One license plate in, one linked vehicle report out. APK history, inspection defects with readable descriptions, the official assessment of the odometer reading, and the full recall chain β including what can break, how dangerous that is, and what the remedy is.
Runs as a remote MCP server and as a regular HTTPS API. Free, no API key, no registration.
https://vehicle-context.tradebrite.nlπ Documentation: https://tradebrite.nl/vehicle-context/
Connect in 10 seconds
Claude (web or desktop, any plan): Customize β Connectors β + β Add custom connector, paste https://vehicle-context.tradebrite.nl/mcp.
ChatGPT: custom connectors require Developer Mode (Pro/Team/Enterprise/Edu); on Plus it's not possible β use the HTTPS API there.
Claude Code:
claude mcp add --transport http vehicle-context https://vehicle-context.tradebrite.nl/mcpOr in your MCP configuration (Claude Desktop, Cursor, Windsurf, β¦):
{
"mcpServers": {
"vehicle-context": {
"type": "http",
"url": "https://vehicle-context.tradebrite.nl/mcp"
}
}
}You can then ask: βWhat do you know about license plate 01-TH-FD, is that a sensible buy?β
Prefer plain HTTP:
curl "https://vehicle-context.tradebrite.nl/v1/vehicle/context?plate=01-TH-FD"Why this exists
All the underlying data is public and free. The problem is how scattered it is: the constituents of an ordinary question are spread across eleven datasets and two code tables, and the most interesting conclusions appear in none of them.
Two practical examples.
The recall chain. The base register reports no more than Ja for an outstanding action. If you want to know which action, you have to go from license plate to reference code (t49b-isb7), to action description (j9yg-7rg9), to the hazard list (9ihi-jgpf). For the test vehicle, that produced two actions: a closed one from 2018 and an open one from 2024 about an airbag gas generator that can explode in an accident. Anyone who takes the first row reports the wrong one.
Recurring defects. A single rejection means little β it gets repaired. The same rejection in three consecutive years means something is structurally wrong. That conclusion exists nowhere; it only arises when you group records by inspection round. And there is the pitfall that almost got us: a re-inspection after repair has its own date but the same defects. Counting by date produces false alarms. See src/context.ts.
What you get back
One JSON response (~10 kB) with identity, technical, fuel, inspection, defects, odometer, recalls, status_flags, value, signals, and provenance.
The layer that makes this usable for an agent is signals β observations that never establish a defect, ordered by severity, each with a recommendation and its supporting evidence:
Signal | Meaning |
| Outstanding recall action, including defect, danger and remedy |
| Same defect in multiple inspection rounds |
| Registry assesses the odometer as illogical |
| No judgment is given β that is something different from a approval |
| History before the import is missing from the NL register |
| Diesel below EURO 5 |
| β¦ |
What it does not do
Theft status is not included, and that is not an omission. Whether a vehicle is registered as stocked or missing is, on principle, not provided as open data. Every response reports that explicitly, even if the rest is clean β otherwise a complete-looking report without a theft statement reads as βnot stolen,β and that is the most dangerous conclusion anyone could draw from this data.
Furthermore: no estimate of value, no technical inspection, no purchase advice. No damage history, no number of owners, no current odometer reading β those are not in the public registers.
Design principles
Never infer a missing value because it seems plausible. Every source carries a status:
ok/not_found/empty/not_published/unavailable/error.FACT β SIGNAL β UNKNOWN.
What is not public is explicitly reported as unknown.
One MCP tool, not dozens. Our tool list is 2,347 characters. A broad Dutch open-data MCP we set alongside it: 55,452 characters for 64 tools β about 15,000 tokens an agent has to read before it can ask anything.
A failing source fails visibly. Silence must not look like βnothing to report.β
Every derived conclusion carries its substantiation in
based_on.
Run it yourself
npm install
npx wrangler deploy # vul eerst je eigen account_id in wrangler.toml
node regression.mjs # acht gevallen tegen de live dienstNo keys are needed β all sources are public. No precomputed data in the bundle; everything is queried live (240β480 ms per source, in parallel).
Sources and license
Eleven datasets from the Dutch license plate registry and recall record, all available under Creative Commons Zero. Note: the data provider expressly does not allow attribution on reuse and prohibits the use of its name and logo, so these are deliberately omitted β only neutral register identification plus the dataset-id.
The data provider gives no guarantee of availability and may withdraw datasets without notice. Performance is fair use, hence the rate limit of 10 requests per 10 s and 60 per minute per IP on the hosted service.
Code: MIT, see LICENSE.
Privacy
A license plate can be personal data. The hosted service logs no license plates and no IP addresses β a log file with plates plus timestamps would provide exactly the missing connection between them in the source data. It does log: make, construction year, vehicle type, and the signals provided.
Related
Dutch Property Context β the same approach for Dutch homes: address in, year of construction, energy label, neighborhood scores, monumental status, and schools out.
Built by Tradebrite BV Β· info@tradebrite.nl
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
A paid remote MCP for hosted MCP server, built to return verdicts, receipts, usage logs, and audit-r
A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rleefers/dutch-vehicle-context'
If you have feedback or need assistance with the MCP directory API, please join our Discord server