Skip to main content
Glama
HamerCode

CityDPC-MCP

by HamerCode

CityDPC MCP Server

A Model Context Protocol (MCP) server for inspecting, analysing and editing CityJSON and CityGML building datasets through CityDPC. The accompanying evaluation compares language-model workflows with MCP, without tools, and with a separately configured code interpreter.

Quick start

Python 3.12 or newer is required; the pinned dependency set was verified with Python 3.12 on macOS. requirements-lock.txt records that environment, while requirements.txt contains the direct dependency ranges. Run these commands from the repository root:

git clone https://github.com/HamerCode/CityDPC-MCP.git
cd CityDPC-MCP
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements-lock.txt
python mcp-server/cityDPC.py

The server uses stdio. Configure an MCP client with the absolute path to .venv/bin/python as its command and the absolute path to mcp-server/cityDPC.py as its single argument. Set MCP_DATASET_DIR to a dataset directory if needed; the default is mcp-server/data/datasets/, which contains a sample dataset. Use a copy of valuable data: editing and save tools can change files. This is a local research server, not a hosted multi-user service.

Related MCP server: ifc-geometry-mcp

Documentation

Tools

The server exposes 18 tools: dataset discovery/loading, filtering and analysis, building counts and IDs, building details, party-wall analysis, roof volume per building, creation/removal and attribute editing, snapshots, rollback, saving and history. Tool names and schemas are defined in mcp-server/cityDPC.py. The historical tool spelling get_buiding_Id_list is retained for compatibility with recorded evaluations.

Repository

  • mcp-server/: the primary MCP server.

  • CityDPC/: the exact local CityDPC source used with the server, including its original Apache-2.0 license and attribution.

  • evaluation/: runners, task definitions, validation, ground truth, input datasets, analysis scripts, and existing result tables/plots. See evaluation instructions.

  • tests/: offline MCP integration smoke test.

Verification

python tests/smoke_mcp.py
cd evaluation
python -m evals.run --list-tests

These checks do not run paid model evaluations or re-evaluate model outputs. The paper's Tables 2 and 3 were reproduced from existing logs and all 300 numeric cells matched the supplied PDF. Historical tables and plots are retained as existing research outputs. Credentials, session tokens, temporary dataset copies and large raw execution traces are excluded.

Attribution and provenance

CityDPC is developed by Maxim Shamovich and Simon Raming: https://github.com/RWTH-E3D/CityDPC. Its license applies to the bundled CityDPC/ directory. No additional license for the research server/evaluation is asserted here.

This repository brings together the locally updated MCP server and evaluation as of 2026-09-09. Earlier separate copies existed in the private HamerJava/BA_Evaluation GitHub repository and the shamovich/ma_hamer institutional GitLab repository. See publication review for scope and validation.

Referencing this repository

Repository URL: https://github.com/HamerCode/CityDPC-MCP. For a fixed source snapshot in a paper, link to a specific Git commit as well. The accompanying paper is titled CityDPC-MCP: Enabling 3D city model processing via Model Context Protocol. Bibliographic author/DOI metadata is not inferred from its anonymized draft.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Browser-based geometry processing server that enables AI agents to create geometry, run analysis and operators, inspect results, and take screenshots via MCP.
    25
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for IFC geometric audit, providing tools to detect space clashes, extract space inventories, compute surface losses, check boundaries, and verify opening correspondences in BIM models.
    6
    Apache 2.0
  • A
    license
    C
    quality
    C
    maintenance
    MCP server for COBie Excel validation, updates, and PDF extraction.
    63
    1
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    MCP server for reading, viewing, and editing IFC models using IfcOpenShell and Bonsai. Enables querying model data, viewing via Blender's viewport, and making IFC-semantic edits without raw mesh operations.
    28
    MIT