Dutch Property Context
Dutch property report by address. Combines nine official open sources: construction year, floor area, energy label, neighbourhood statistics, environmental noise and air quality, national monument status and nearby schools. Separates fact, signal and unknown. Remote MCP, no API key.
Documentation
Waarom dit bestaat
Vraag een AI-agent naar een Nederlands adres en hij gaat het web op. Dat levert een antwoord op dat er goed uitziet en soms klopt. De onderliggende gegevens zijn openbaar en betrouwbaar, maar ze staan in negen verschillende registers met elk hun eigen sleutel, formaat en eigenaardigheden.
Het lastigste deel is niet het ophalen maar het koppelen. Bij het bouwen liepen we op precies die koppelingen vast: een monumentnummer dat we publiceerden bleek het interne objectnummer te zijn en wees naar een pand in een heel andere provincie. Een adres zonder plaatsnaam kreeg een monument uit Coevorden toegewezen. En Binnenrotte 101, Amsterdam gaf zonder enig voorbehoud het pand in Rotterdam terug.
Dat zijn geen fouten in de bronnen — die klopten allemaal. Het koppelen ging mis. Deze laag neemt dat werk over en zegt er expliciet bij hoe zeker het is dat we het juiste pand te pakken hebben.
Voor wie, en waarvoor
Makelaars en taxateurs
Objectieve uitgangspositie bij een opname: bouwjaar, oppervlakte, label, beschermde status.
Kopers en hun adviseurs
Wat staat er officieel geregistreerd, en welke punten verdienen navraag bij de bouwkundige keuring.
Verduurzaming en installatie
Bouwjaarcohort, energielabel en oppervlakte als startpunt voor een isolatie- of warmtepompadvies.
Bouwers van AI-agents
Eén MCP-tool die een agent zelf aanroept zodra er een Nederlands adres in het gesprek valt.
Wat je terugkrijgt
Eén JSON-antwoord, ongeveer 11 kB, met deze blokken:
| Blok | Inhoud |
|---|---|
identity | Het gevonden pand, plus match_verified: is dit werkelijk het gevraagde adres? |
building | Bouwjaar, gebruiksoppervlakte, gebruiksdoel, pand-identificaties |
energy | Geregistreerd energielabel, geldigheid, gebouwtype, berekend verbruik |
location | Coördinaten, gemeente, buurt- en wijkcode |
neighbourhood | Buurtcijfers: inwoners, dichtheid, leeftijdsopbouw, huishoudsamenstelling, gemiddelde WOZ, koop/huur, afstand tot huisarts, supermarkt, school en kinderopvang |
environment | Omgevingsgeluid (Lden), fijnstof PM2.5 en stikstofdioxide NO₂ |
heritage | Rijksmonumentstatus met het echte registernummer |
protected_area | Ligging in een beschermd stads- of dorpsgezicht, en in UNESCO-werelderfgoed |
schools | Basis- en voortgezet onderwijs in de buurt, met afstand en onderwijsstructuur |
signals | De observaties, elk met een aanbeveling en de onderbouwing |
provenance | Per bron: welke, wanneer opgehaald, met welke status en licentie |
De signalen zijn het punt
Een signaal stelt nooit een gebrek vast. Bouwjaar 1921 betekent niet dat er loden leidingen zijn — het betekent dat dat het nakijken waard is. Zo werken ze allemaal:
- construction_era_checks — wat bij dit bouwjaarcohort gecontroleerd hoort te worden
- conflicting_construction_year — twee registers noemen een ander bouwjaar; beide worden getoond, wij kiezen niet
- energy_label_expiring / no_energy_label / energy_label_address_mismatch
- protected_townscape en world_heritage_area — gevolgen voor vergunningen
- address_match_unverified — het gevraagde adres is niet met zekerheid teruggevonden
- source_unavailable — een bron antwoordde niet; het veld is onbekend, niet leeg
Wat het níét doet
Dit is geen taxatie, geen woningwaarde en geen juridisch of bouwkundig advies. Er zit geen vraagprijs, geen erfpachtcanon, geen VvE-informatie en geen kadastrale eigendomshistorie in — die gegevens zijn niet vrij beschikbaar.
Let op identity.match_verified
Staat die op false, dan is het gevraagde adres niet met zekerheid teruggevonden en gaat de rest van het antwoord mogelijk over een ánder pand. Presenteer de gegevens dan niet als feit. Bij match_ambiguous zijn er meerdere even goede kandidaten, en die staan er allemaal bij.
Omgevingsdocumenten onder de Omgevingswet zijn niet aangesloten; die vragen een aparte sleutel. Dat staat als not_configured in het antwoord — een status, geen leeg veld.
Zo gebruik je het
Als MCP-server, in Claude, Cursor of een andere agent
Cursor: één klik —
Claude (web of desktop, werkt op elk abonnement inclusief gratis): ga naar Customize → Connectors → + → Add custom connector en plak https://property-context.tradebrite.nl/mcp. Claude kan dit niet zelf voor je installeren; het is bewust een handeling van jou, want een connector mag namens jou handelen.
ChatGPT: custom connectors zitten achter Developer Mode en zijn alleen beschikbaar op Pro, Team, Enterprise en Edu — op een Plus-abonnement kan het niet. Gebruik daar de gewone HTTPS-API hieronder.
Claude Code:
claude mcp add --transport http property-context https://property-context.tradebrite.nl/mcp
Of handmatig in je MCP-configuratie:
{
"mcpServers": {
"property-context": {
"type": "http",
"url": "https://property-context.tradebrite.nl/mcp"
}
}
}
Daarna kun je gewoon vragen: "Wat moet ik weten over Grote Markt 2 in Haarlem voor ik ga bezichtigen?"
Als HTTPS-API
curl "https://property-context.tradebrite.nl/v1/property/context?address=Grote%20Markt%202,%20Haarlem"
| Parameter | Betekenis |
|---|---|
address | Nederlands adres, bij voorkeur met plaatsnaam of postcode. Ook 2242KE 1 werkt. |
depth | compact (standaard) of full. Full geeft de volledige scholenlijst en de bron-URL's. |
refresh | 1 omzeilt de cache van een uur. |
Bronnen, licentie en grenzen aan het gebruik
De gegevens komen uit officiële Nederlandse registers: de Basisregistratie Adressen en Gebouwen, CBS-buurtcijfers, RIVM-metingen voor geluid en luchtkwaliteit, het energielabelregister van RVO, de rijksmonumenten- en beschermde-gebiedenregisters, en de onderwijsadressen van DUO.
Een deel daarvan staat onder CC BY 4.0, wat betekent dat bronvermelding verplicht is. Daarom zit in elk antwoord het blok provenance met per bron de naam en de status — ook in het compacte formaat. Neem die bronvermelding over als je de gegevens doorgeeft aan een eindgebruiker; die verplichting gaat met de data mee.
Energielabels mogen niet in grote aantallen worden doorgeleverd. Dat is de reden dat er een rate limit op zit; die volgt uit de voorwaarden van de bronhouder en niet uit onze capaciteit.
Rate limit
10 verzoeken per 10 seconden en 60 per minuut, per IP-adres. Bij overschrijding volgt HTTP 429 met een Retry-After -header. Heb je structureel meer nodig, mail dan even.
Aansprakelijkheid
Deze dienst wordt kosteloos en zonder garanties aangeboden. Beslissingen over aankoop, verbouwing of verduurzaming blijven de verantwoordelijkheid van de gebruiker.
Hetzelfde idee, ander onderwerp
Dutch Vehicle Context
Dezelfde aanpak voor Nederlandse voertuigen: één kenteken levert APK-historie, afkeurpunten met vertaalde omschrijving, het oordeel over de kilometerstand en de volledige terugroepketen — inclusief wat er stuk kan en hoe gevaarlijk dat is.
Bekijk Dutch Vehicle Context →
Broncode
De code staat open op GitHub, onder MIT-licentie: github.com/rleefers/dutch-property-context. Je kunt hem zelf draaien op een eigen Cloudflare-account; er zijn geen sleutels nodig voor de open bronnen. In de repo staat ook de regressietest waarmee we controleren dat de koppelingen kloppen.
Deze dienst staat ook in de officiële MCP-registry als nl.tradebrite/dutch-property-context.
Vragen of iets kapot?
Gebouwd en onderhouden door Tradebrite BV. Klopt er iets niet, mis je een bron, of wil je meer volume? Laat het weten — meldingen over een concreet adres zijn het nuttigst.