Dutch Vehicle Context
Provides comprehensive Dutch vehicle information from license plate numbers, including APK inspection history, recalls, odometer checks, and other signals, via a single MCP tool.
README
Dutch Vehicle Context — MCP server & API voor Nederlandse kentekens
Eén kenteken erin, één gekoppeld voertuigrapport eruit. APK-historie, afkeurpunten met leesbare omschrijving, het officiële oordeel over de kilometerstand, en de volledige terugroepketen — inclusief wat er stuk kan, hoe gevaarlijk dat is en wat het herstel is.
Draait als remote MCP-server en als gewone HTTPS-API. Gratis, geen API-sleutel, geen registratie.
https://vehicle-context.tradebrite.nl
📖 Documentatie: https://tradebrite.nl/vehicle-context/
Aansluiten in 10 seconden
Claude (web of desktop, elk abonnement): Customize → Connectors → + → Add custom connector, plak https://vehicle-context.tradebrite.nl/mcp.
ChatGPT: custom connectors vereisen Developer Mode (Pro/Team/Enterprise/Edu); op Plus kan het niet — gebruik daar de HTTPS-API.
Claude Code:
claude mcp add --transport http vehicle-context https://vehicle-context.tradebrite.nl/mcp
Of in je MCP-configuratie (Claude Desktop, Cursor, Windsurf, …):
{
"mcpServers": {
"vehicle-context": {
"type": "http",
"url": "https://vehicle-context.tradebrite.nl/mcp"
}
}
}
Daarna kun je vragen: "Wat weet je van kenteken 01-TH-FD, is dat een verstandige koop?"
Liever gewoon HTTP:
curl "https://vehicle-context.tradebrite.nl/v1/vehicle/context?plate=01-TH-FD"
Waarom dit bestaat
Alle onderliggende gegevens zijn openbaar en gratis. Het probleem is de versnippering: het antwoord op een normale vraag staat verspreid over elf datasets en twee codetabellen, en de interessantste conclusies staan in géén enkele daarvan.
Twee voorbeelden uit de praktijk.
De terugroepketen. Het basisregister meldt over een openstaande actie niet meer dan Ja.
Wil je weten wélke actie, dan moet je van kenteken naar referentiecode (t49b-isb7), naar de
actiebeschrijving (j9yg-7rg9), naar de gevarenlijst (9ihi-jgpf). Bij het testvoertuig
leverde dat twee acties op: een afgehandelde uit 2018 en een openstaande uit 2024 over een
airbag-gasgenerator die bij een ongeval kan exploderen. Wie de eerste rij pakt, rapporteert
de verkeerde.
Terugkerende gebreken. Eén afkeuring zegt weinig — dat wordt gerepareerd. Dezelfde
afkeuring in drie opeenvolgende jaren zegt dat er iets structureel niet in orde is. Die
conclusie staat nergens; hij ontstaat pas door registraties per keuringsronde te groeperen.
En let op de valkuil die ons bijna te pakken had: een herkeuring ná reparatie is een eigen
datum met dezelfde gebreken. Op datum tellen levert vals alarm. Zie
src/context.ts.
Wat je terugkrijgt
Eén JSON-antwoord (~10 kB) met identity, technical, fuel, inspection, defects,
odometer, recalls, status_flags, value, signals en provenance.
De laag die dit bruikbaar maakt voor een agent is signals — observaties die nooit een gebrek
vaststellen, gesorteerd op ernst, elk met een aanbeveling en de onderbouwing:
| Signaal | Betekenis |
|---|---|
open_recall |
Openstaande terugroepactie, met defect, gevaar en herstel |
recurring_defect |
Zelfde afkeurpunt in meerdere keuringsrondes |
odometer_illogical |
Register beoordeelt de kilometerstand als onlogisch |
odometer_no_judgement |
Er is géén oordeel — dat is iets anders dan een goedkeuring |
imported_vehicle |
Historie van vóór de import ontbreekt in het NL-register |
emission_zone_restricted |
Diesel onder EURO 5 |
apk_expired, not_insured, exported, taxi_history, source_unavailable |
… |
Wat het níét doet
Diefstalstatus zit er niet in, en dat is geen omissie. Of een voertuig als gestolen of vermist geregistreerd staat wordt principieel niet als open data verstrekt. Elk antwoord meldt dat expliciet, óók als de rest schoon is — anders leest een volledig ogend rapport zonder diefstalvermelding als "niet gestolen", en dat is de gevaarlijkste conclusie die iemand uit deze gegevens kan trekken.
Verder: geen taxatie, geen technische keuring, geen aankoopadvies. Geen schadeverleden, geen aantal eigenaren, geen actuele kilometerstand — die staan niet in de open registers.
Ontwerpprincipes
- Nooit een ontbrekende waarde invullen omdat hij waarschijnlijk lijkt. Elke bron draagt
een status:
ok/not_found/empty/not_published/unavailable/error. - FEIT ≠ SIGNAAL ≠ ONBEKEND.
- Wat niet openbaar is, wordt expliciet als onbekend gemeld.
- Eén MCP-tool, niet tientallen. Onze toollijst is 2.347 tekens. Een brede Nederlandse open-data-MCP die we ernaast legden: 55.452 tekens voor 64 tools — ongeveer 15.000 tokens die een agent moet inlezen vóór hij iets kan vragen.
- Een falende bron faalt zichtbaar. Stilte mag niet lijken op "niets te melden".
- Elke afgeleide conclusie draagt zijn onderbouwing in
based_on.
Zelf draaien
npm install
npx wrangler deploy # vul eerst je eigen account_id in wrangler.toml
node regression.mjs # acht gevallen tegen de live dienst
Geen sleutels nodig — alle bronnen zijn publiek. Geen voorberekende data in de bundle, alles wordt live bevraagd (240–480 ms per bron, parallel).
Bronnen en licentie
Elf datasets uit het Nederlandse kentekenregister en het terugroepregister, allemaal beschikbaar onder Creative Commons Zero. Let op: de bronhouder stáát bronvermelding bij hergebruik uitdrukkelijk niet toe en verbiedt gebruik van naam en logo, dus die staan hier bewust niet in — alleen de neutrale registeraanduiding plus de dataset-id.
De bronhouder geeft geen garantie op beschikbaarheid en mag datasets zonder opgaaf intrekken. Performance is fair use; vandaar de rate limit van 10 verzoeken per 10 s en 60 per minuut per IP op de gehoste dienst.
Code: MIT, zie LICENSE.
Privacy
Een kenteken kan een persoonsgegeven zijn. De gehoste dienst logt geen kentekens en geen IP-adressen — een logbestand met kentekens plus tijdstippen zou precies de koppeling maken die in de brondata ontbreekt. Wel: merk, bouwjaar, voertuigsoort en de afgegeven signalen.
Verwant
Dutch Property Context — dezelfde aanpak voor Nederlandse woningen: adres erin, bouwjaar, energielabel, buurtcijfers, monumentstatus en scholen eruit.
Gebouwd door Tradebrite BV · info@tradebrite.nl
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。