Dutch Property Context

nl.tradebritePublished by tradebrite.nlOfficial publisherv0.5.1Updated Oct 24, 2026

Dutch property report by address: build year, energy label, neighbourhood, monument, schools.

VerifiedStreamable HTTPWeb executableLocation & LifestyleData & Analytics

Overview

AI-generated overview

Remote MCP server that turns a Dutch residential address into a verified property report from official open registers.

What you can do
Look up a Dutch address and get one linked property report: BAG build year, floor area and use purpose, registered energy label, CBS neighbourhood figures, RIVM noise and air quality, monument and protected-townscape status, and nearby schools and amenities, with provenance per source and match-confidence signals.
When to use it
Useful when an assistant answers questions about a Dutch home before a viewing, purchase or renovation, and you want sourced register data instead of web guesses, including explicit warnings when the address match is uncertain.
Requirements
A remote streamable HTTP endpoint; no API key or registration is needed. Connect the MCP URL in a client that supports custom connectors, or call the HTTPS API directly. Network access to the hosted service is required.
Before you install
Read the match_verified and match_ambiguous fields: when the address is not confidently found, the rest of the report may describe a different building. Signals are observations, not defects. No valuation, legal or structural advice. Some sources require attribution, so pass provenance on to end users.

Installation

In SourceWeft

  1. Open Dutch Property Context in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/nl.tradebrite%2Fdutch-property-context/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "dutch-property-context": {
      "type": "http",
      "url": "https://property-context.tradebrite.nl/mcp"
    }
  }
}

README

Dutch Property Context — MCP server & API voor Nederlandse adressen

Eén adres erin, één gekoppeld pandrapport eruit. Bouwjaar en oppervlakte uit de BAG, het geregistreerde energielabel, CBS-buurtcijfers, omgevingsgeluid en luchtkwaliteit, rijksmonumentstatus, beschermd stads- of dorpsgezicht, en scholen in de buurt.

Draait als remote MCP-server en als gewone HTTPS-API. Gratis, geen API-sleutel, geen registratie.

https://property-context.tradebrite.nl

📖 Documentatie: https://tradebrite.nl/property-context/


Aansluiten in 10 seconden

[Add dutch-property-context MCP server to Cursor]

Claude (web of desktop, elk abonnement): Customize → Connectors → + → Add custom connector, plak https://property-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:

bash
claude mcp add --transport http property-context https://property-context.tradebrite.nl/mcp

Of in je MCP-configuratie (Claude Desktop, Cursor, Windsurf, …):

json
{  "mcpServers": {    "property-context": {      "type": "http",      "url": "https://property-context.tradebrite.nl/mcp"    }  }}

Daarna kun je vragen: "Wat moet ik weten over Grote Markt 2 in Haarlem voor ik ga bezichtigen?"

Liever gewoon HTTP:

bash
curl "https://property-context.tradebrite.nl/v1/property/context?address=Grote%20Markt%202,%20Haarlem"

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 registers met elk hun eigen sleutel, formaat en eigenaardigheden.

Het lastigste is niet het ophalen maar het koppelen, en daar ging het bij ons herhaaldelijk mis voordat we het doorhadden:

  • Het monumentnummer dat we publiceerden bleek het interne objectnummer te zijn. Prinsengracht 263 kreeg een nummer mee dat in het monumentenregister naar een pand in Zierikzee wijst.
  • De monumentquery was niet plaatsgebonden, dus een adres in Asten kreeg een monument in Coevorden toegewezen.
  • Binnenrotte 101, Amsterdam gaf zonder enig voorbehoud het pand in Rotterdam terug, met match_verified: true.

Geen van de bronnen was stuk. Het koppelen was stuk. Deze laag neemt dat werk over, en zegt er expliciet bij hoe zeker het is dat we het juiste pand te pakken hebben.

Wat je terugkrijgt

Eén JSON-antwoord (~11 kB) met identity, building, energy, location, neighbourhood, environment, heritage, protected_area, schools, signals en provenance.

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. Bij match_ambiguous staan alle even goede kandidaten erbij.

signals zijn observaties, nooit vastgestelde gebreken. Bouwjaar 1921 betekent niet dat er loden leidingen zijn — het betekent dat dat het nakijken waard is.

SignaalBetekenis
construction_era_checksWat bij dit bouwjaarcohort gecontroleerd hoort te worden
conflicting_construction_yearTwee registers noemen een ander bouwjaar; beide worden getoond
energy_label_expiring / no_energy_labelStatus van het geregistreerde label
protected_townscape / world_heritage_areaGevolgen voor vergunningen
address_match_unverifiedHet gevraagde adres is niet met zekerheid teruggevonden
source_unavailableEen bron antwoordde niet — onbekend, niet leeg

Wat het níét doet

Geen taxatie, geen woningwaarde, geen juridisch of bouwkundig advies. Geen vraagprijs, geen erfpachtcanon, geen VvE-informatie en geen eigendomshistorie — die zijn niet vrij beschikbaar.

Ontwerpprincipes

  1. Nooit een ontbrekende waarde invullen omdat hij waarschijnlijk lijkt.
  2. FEIT ≠ SIGNAAL ≠ ONBEKEND.
  3. Provenance per bron, ook in depth=compact — een deel van de bronnen staat onder CC BY en dan is bronvermelding een licentievoorwaarde.
  4. Eén MCP-tool, niet tientallen. Onze toollijst is 2.419 tekens. Een brede Nederlandse open-data-MCP die we ernaast legden: 55.452 tekens voor 64 tools.
  5. Een falende bron faalt zichtbaar.
  6. Een veld dat nooit gevuld wordt, hoort er niet in.

Zelf draaien

bash
npm installpython3 scripts/build_school_index.py     # bouwt data/schools.jsonpython3 scripts/build_amenities_index.py  # bouwt data/amenities.jsonpython3 scripts/build_places_index.py     # bouwt data/places.jsonnpx wrangler deploy                       # vul eerst je account_id in wrangler.tomlnode regression.mjs                       # dertien gevallen tegen de live dienst

De indexbestanden staan bewust niet in de repo: ze zijn afgeleid van CC BY-bronnen en in een paar minuten opnieuw te bouwen. Een EP_ONLINE_KEY (gratis aan te vragen bij RVO) is optioneel; zonder die sleutel ontbreekt alleen het energielabel, netjes als not_configured.

Let op de bundelgrens. Boven ongeveer 3,7 MB slaat de koude start van een Cloudflare Worker om van 0,2 naar 9 seconden, óók op /health. Geïsoleerd nagemeten. Er kan dus geen vierde index bij zonder R2.

Bronnen en licentie

BAG (Public Domain Mark 1.0) · EP-Online/RVO (eigen voorwaarden, geen bulk-doorlevering) · CBS Wijken & Buurten en Kerncijfers (CC BY 4.0) · RIVM geluid en luchtkwaliteit (publiek domein) · RCE rijksmonumenten en beschermde gebieden (CC BY 4.0) · DUO onderwijsadressen (CC BY).

Attributie is bij een deel hiervan verplicht. Daarom zit provenance in elk antwoord. Geef die door als je de gegevens aan een eindgebruiker toont; die verplichting gaat met de data mee.

Code: MIT, zie LICENSE.

Privacy

De gehoste dienst logt geen adressen, geen postcodes en geen IP-adressen. Wel: de gemeente (grofmazig), de afgegeven signalen en de bronstatussen.

Verwant

Dutch Vehicle Context — dezelfde aanpak voor Nederlandse voertuigen: kenteken erin, APK-historie, terugkerende afkeurpunten en de volledige terugroepketen eruit.


Gebouwd door Tradebrite BV · [email protected]

Source: README.md at commit 026b8a0

Tools

1

get_verified_property_context

Geeft de geverifieerde context van een Nederlands woonadres uit officiële open bronnen: BAG (bouwjaar, oppervlakte, gebruiksdoel), CBS-buurtcijfers, RIVM (omgevingsgeluid, PM2.5, NO2), het geregistreerde energielabel, rijksmonumentstatus, ligging in een beschermd stads- of dorpsgezicht, en nabije scholen. Gebruik dit wanneer iemand vraagt naar feiten, risico's of omgeving van een Nederlands adres. Het antwoord heeft deze blokken: `identity` (welk pand is dit), `building` (bouwjaar, oppervlakte, gebruiksdoel), `energy`, `location`, `neighbourhood` (CBS), `environment` (geluid, PM2.5, NO2), `heritage` (rijksmonument), `protected_area` (beschermd stads- of dorpsgezicht, UNESCO-werelderfgoed), `schools`, `planning`, `signals` en `provenance`. Die eerste blokken bevatten feiten uit een bron; `provenance` vertelt per bron welke, wanneer opgehaald en met welke status. `signals` zijn observaties die nadrukkelijk GEEN gebrek vaststellen: bouwjaar 1921 betekent niet dat er loden leidingen zijn, het betekent dat dat geverifieerd moet worden. Een status `not_configured` of `unavailable` betekent dat wij het niet hebben opgehaald, niet dat het niet bestaat — vul zulke velden nooit zelf in met een schatting. Let in het bijzonder op `identity.match_verified`. Staat die op false, dan is het gevraagde adres niet teruggevonden en gaat de rest van het antwoord over een ander pand; meld dat dan aan de gebruiker in plaats van de gegevens te presenteren. Bij `identity.match_ambiguous` zijn er meerdere even goede kandidaten en staan die in `match_alternatives`. Dit is geen taxatie en geen juridisch of bouwkundig advies.

Parametersdepthaddressrequired

Version history

1
  1. v0.5.1LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Tradebrite integrations