Skip to main content

MCP server voor monumentale statussen in Nederland.

Project description

Monumenten MCP Server 🏛️

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

[!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

Tool Parameters Description
get_verblijfsobject_id house_number, postal_code OR street + house_number + city, optional house_letter, house_suffix Finds BAG verblijfsobject ID for an address
get_monumental_status bag_verblijfsobject_id Checks if a property is a rijksmonument, in protected cityscape, or municipal monument

Quick Setup

Add to your AI assistant's MCP configuration:

{
  "mcpServers": {
    "monumenten": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/woonstadrotterdam/mcp-monumenten.git", "mcp-monumenten"]
    }
  }
}

For local development:

{
  "mcpServers": {
    "monumenten": {
      "command": "uv",
      "args": ["run", "src/mcp_monumenten/server.py"],
      "cwd": "/path/to/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, protected cityscape inclusion, 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)

uvx --from git+https://github.com/woonstadrotterdam/mcp-monumenten.git mcp-monumenten

Local Development

git clone https://github.com/woonstadrotterdam/mcp-monumenten.git
cd mcp-monumenten
uv sync
uv run src/mcp_monumenten/server.py

Data Sources

License

MIT License - see LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_monumenten-0.1.0.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_monumenten-0.1.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file mcp_monumenten-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_monumenten-0.1.0.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_monumenten-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3220b5ab1404d927f8a611a08cd907ff7010ce2559739d686296bc0c3df15015
MD5 a101f6e634cbb96567d31bd3a0ab1ec3
BLAKE2b-256 d1cc8d93318cb452130e07880948f836bf82f734e33409bca9d324dd78cbf841

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_monumenten-0.1.0.tar.gz:

Publisher: pypi-publish.yml on woonstadrotterdam/mcp-monumenten

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_monumenten-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_monumenten-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_monumenten-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c016a61db8efe7dce0b13a9123072cba1c3da79136b6281111d5d8627b57a53
MD5 93b68464de366ed1ddb419b7c4727e08
BLAKE2b-256 9e712e685e6e41b1543ff0cd3cff931c36e3971cd1184ec7c22a351aaad0ae27

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_monumenten-0.1.0-py3-none-any.whl:

Publisher: pypi-publish.yml on woonstadrotterdam/mcp-monumenten

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page