geospatial-cadastral-mcp-server

TCLUBNL/geospatial-cadastral-mcp-server

3.3

If you are the rightful owner of geospatial-cadastral-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Unified access to Dutch geospatial, cadastral, and topographical data APIs.

Tools
8
Resources
0
Prompts
0

🗺️ Geospatial & Cadastral MCP Server

Unified access to Dutch geospatial, cadastral, and topographical data

License: MIT Python 3.9+ MCP Protocol

Access comprehensive Dutch geospatial data from PDOK (Publieke Dienstverlening Op de Kaart) and Kadaster through Claude Desktop. Query addresses, building heights, cadastral parcels, noise data, and administrative boundaries.


🌍 Available Data Sources (8 APIs)

APIDescriptionExample Use
PDOK Location ServerSearch addresses, parcels, and locations"Find all addresses on Damrak"
BAG RegistryDetailed building and address data"Get building details for address X"
Kadastrale KaartCadastral parcel boundaries (GeoJSON)"Show parcel boundaries"
3D Basisvoorziening3D building heights (AHN4 data)"What's the height of this building?"
3D GeluidEnvironmental noise modeling data"Get noise levels near highway"
BGT/BRTBase Registration Topography"Show topographical features"
Bestuurlijke GebiedenAdministrative boundaries"Find municipality boundaries"
Coordinate ConverterRD ↔ WGS84 conversion"Convert these coordinates"

📍 All coordinates returned in both RD (EPSG:28992) and WGS84 (EPSG:4326) formats


🚀 Quick Start

Prerequisites

  • Python 3.9+
  • No API key required (uses public PDOK services)

1️⃣ Installation

# Clone the repository
git clone https://github.com/TCLUBNL/geospatial-cadastral-mcp-server.git
cd geospatial-cadastral-mcp-server

# Create virtual environment
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

2️⃣ Test the Server

python3 -c "from server.tools.search_location import search_location; r = search_location('Damrak 1, Amsterdam'); print(f'✅ Found: {r["results"][0]["display_name"]}')"

Expected output: ✅ Found: Damrak 1, 1012JS Amsterdam


🔌 Claude Desktop Integration

Step 1: Find Your Config File

macOS:

nano ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows:

notepad %APPDATA%\Claude\claude_desktop_config.json

Step 2: Add Server Configuration

Replace /absolute/path/to/ with your actual paths:

{
  "mcpServers": {
    "geospatial-cadastral": {
      "command": "/absolute/path/to/venv/bin/python",
      "args": ["/absolute/path/to/geospatial-cadastral-mcp-server/mcp_server_simple.py"],
      "env": {
        "PYTHONPATH": "/absolute/path/to/geospatial-cadastral-mcp-server"
      }
    }
  }
}

💡 Tip: Use pwd in your terminal to get the absolute path.

Step 3: Restart Claude Desktop

Quit Claude Desktop completely and reopen it. You should see the 🔌 icon indicating MCP servers are connected.

Step 4: Test in Claude

Try these example queries:

  • "Find the address Damrak 1 in Amsterdam"
  • "What's the height of the building at this address?"
  • "Show me cadastral parcel boundaries for this location"
  • "Convert RD coordinates 121000, 487000 to WGS84"
  • "Get noise data near Schiphol airport"

📡 Available Tools

ToolDescriptionExample Use
search_locationFind addresses, parcels, locationsSearch for any Dutch address
get_bag_addressDetailed building informationGet construction year, surface area
get_cadastral_parcelParcel boundaries with GeoJSONVisualize property boundaries
get_3d_building_dataBuilding heights from AHN4Get elevation and height data
get_noise_dataEnvironmental noise levelsCheck noise pollution
get_topographyBGT/BRT topographical dataGet terrain features
get_administrative_boundariesMunicipality bordersFind administrative regions
validate_coordinatesRD ↔ WGS84 conversionConvert between coordinate systems

🧠 Architecture

┌─────────────────────────────────────────┐
│   Claude Desktop (MCP Host)             │
│   ┌─────────────────────────────────┐   │
│   │ Geospatial & Cadastral Client   │   │
│   └──────────────┬──────────────────┘   │
└──────────────────┼──────────────────────┘
                   │ MCP Protocol (stdio)
┌──────────────────┼──────────────────────┐
│                  ▼                       │
│   Geospatial & Cadastral MCP Server     │
│   ┌─────────────────────────────────┐   │
│   │  8 Tools for Dutch Geo Data     │   │
│   └──────────────┬──────────────────┘   │
└──────────────────┼──────────────────────┘
                   │ HTTPS
        ┌──────────┼──────────┐
        ▼          ▼           ▼
    ┌─────┐   ┌─────────┐  ┌──────────┐
    │PDOK │   │Kadaster │  │  AHN4    │
    └─────┘   └─────────┘  └──────────┘

⚠️ Known Limitations

  • Rate Limits: PDOK services have standard rate limits
  • Coverage: Data is specific to the Netherlands only
  • 3D Data: Building height data availability varies by region
  • Coordinate Systems: Primarily uses Dutch RD (EPSG:28992) with WGS84 conversion

🔗 Related MCP Servers


📝 License

MIT License • Data sourced from Dutch government open data (PDOK, Kadaster)

Data Sources:

  • PDOK - Dutch Public Services On the Map
  • Kadaster - Dutch Land Registry

🤝 Contributing

Issues and pull requests are welcome! Feel free to contribute improvements or report bugs.


Built with ❤️ by TCLUB NL

Star this repo if you find it useful!