Monumenten

io.github.woonstadrotterdamPublished by GitHub account woonstadrotterdamv3.0.1Updated Oct 24, 2026

Look up Dutch BAG verblijfsobject IDs and monumental status.

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated overview

Looks up Dutch BAG address identifiers and checks whether a property is a protected monument.

What you can do
Provides two tools for Dutch addresses. get_verblijfsobject_id converts a postal code plus house number, or a street address with city, into BAG verblijfsobject records, handling house letters and suffixes. get_monumental_status takes a 16-digit verblijfsobject ID and returns monumental status such as rijksmonument, rijksbeschermd stads- or dorpsgezicht, and municipal monument. It queries the Dutch BAG address registry and the national cultural heritage registry.
When to use it
Useful when an assistant needs to resolve Dutch addresses to official BAG identifiers or determine whether a building is a protected monument, for example in rent-point or housing valuation work. It is specific to the Netherlands and to these two lookups.
Requirements
Runs locally as a Python package via uvx (mcp-monumenten) or uv; requires Python 3.11 or later. No accounts, API keys, or environment variables are declared. Network access is needed to reach the Dutch BAG and heritage data sources.
Before you install
The server sends the addresses or identifiers you query to external Dutch registry data sources. It is read-only, so it does not change or delete data. Results depend on the accuracy of those external registries.

Installation

In SourceWeft

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

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Monumenten MCP Server 🏛️

A Model Context Protocol (MCP) server that enables AI assistants to check monumental status of Dutch addresses relevant for woningwaardering (rent-point system). Connects to the Dutch BAG (Basisadministratie Adressen en Gebouwen) data and Ministry of Cultural Heritage (Rijksdienst voor het Cultureel Erfgoed) to identify national monuments, nationally protected cityscapes, and municipal monuments.

Built on the MCP Python SDK v2 (MCPServer). Tools return structured results; validation and lookup failures raise ToolError (is_error=true) so the model can retry.

Requires Python 3.11+.

[!NOTE] This MCP server is based on the monumenten package. For more information, see the monumenten package.

What This Does

This MCP server allows AI assistants to:

  • 🏠 Find verblijfsobject IDs - Convert Dutch addresses to BAG identifiers (verblijfsobject_id)
  • 🏛️ Check monumental status - Determine if a property is protected as cultural heritage
  • 📍 Support flexible address input - Search by postal code + house number or full address
  • 🔍 Handle address variations - Support house letters and suffixes (30A, 30-2, etc.)

Available Tools

ToolParametersResult
get_verblijfsobject_idhouse_number, postal_code OR street + house_number + city, optional house_letter, house_suffixStructured matches list of BAG verblijfsobject records
get_monumental_statusbag_verblijfsobject_id (16 digits)Structured monumental status (provincie, rijksmonument, rijksbeschermd stads-/dorpsgezicht, municipal monument; provinciaal_monument is always null)

Quick Setup

Add to your AI assistant's MCP configuration:

json
{  "mcpServers": {    "monumenten": {      "command": "uvx",      "args": ["mcp-monumenten"]    }  }}

For local development:

json
{  "mcpServers": {    "monumenten": {      "command": "uv",      "args": ["run", "--project", "/path/to/mcp-monumenten", "mcp-monumenten"]    }  }}

Streamable HTTP (mcp-monumenten --http) listens on http://127.0.0.1:8000/mcp by default.

Claude Code plugin

Requires uv. Then:

text
/plugin marketplace add woonstadrotterdam/mcp-monumenten/plugin install monumenten@woonstad-rotterdam

Or add the server directly: claude mcp add monumenten -- uvx mcp-monumenten.

Usage Examples

Finding Monumental Status

"What is the monumental status of Coolsingel 30, Rotterdam?"

The AI will:

  1. Convert the address to a BAG verblijfsobject ID
  2. Check monument registries
  3. Report rijksmonument status, rijksbeschermd stads-/dorpsgezicht, or municipal monument designation

"Is 1234AB 30-2 a rijksmonument?"

The AI can handle:

  • Postal code + house number format
  • House number suffixes (30-2, 30A, etc.)
  • Direct verblijfsobject ID lookups

Address Flexibility

The server handles Dutch address formats:

  • 1234AB 30 - Basic postal code + house number
  • 1234AB 30-2 - With house number suffix
  • 1234AB 30A - With house letter
  • Coolsingel 30, Rotterdam - Full street address

Installation

Via uvx (Recommended)

bash
uvx mcp-monumenten

Local Development

bash
git clone https://github.com/woonstadrotterdam/mcp-monumenten.gitcd mcp-monumentenuv syncuv run --project . mcp-monumenten

Data Sources

License

MIT License - see LICENSE file for details.

Source: README.md at commit 05c8f83

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v3.0.1LatestSep 16, 2026
  2. v3.0.0Sep 16, 2026

Score

50% 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 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts