Hermes Architectural MCP
An open-source, Docker-first MCP service that converts existing architectural plans into dimension-verified millimetre geometry, IFC models, and consistent CPU-rendered views for Hermes Studio.
What it guarantees
The service separates visual interpretation from deterministic geometry. It will not export IFC or render a project until its explicit PlanSpec passes boundary, expected-area, containment, and overlap checks.
PDF dimensions are treated as candidates only. Exact geometry must be represented in millimetres and validated. This prevents a 100 m2 plan from being presented as a visually enlarged but dimensionally unsupported design.
Capabilities
- inspect vector or raster PDF plans and render a review preview;
- detect dimension text candidates without trusting them automatically;
- validate site boundaries, spaces, total area, containment, and overlaps;
- export validated walls as IFC using IfcOpenShell;
- build one Blender model and render repeatable interior/exterior views on CPU;
- persist source files, reports, IFC,
.blend, and PNG outputs; - expose tools through MCP Streamable HTTP at
/mcp.
This is an early engineering release. It does not replace architectural, structural, life-safety, accessibility, or local-code review by licensed professionals.
Deploy with Dockhand
The provided compose.yaml joins an existing external Docker network named proxy and does not publish a host port.
Create or update a Dockhand stack using
compose.yaml.Confirm the
proxynetwork already exists.Deploy the stack.
From another container on
proxy, verify:curl http://architectural-mcp:8000/healthIn Hermes Studio, add an HTTP MCP server with:
http://architectural-mcp:8000/mcpImport
hermes-skill/SKILL.mdas a Hermes skill.
The container stores projects in the named volume architectural_projects.
Internal PDF upload
The MCP tool accepts base64 PDFs, but local files are more efficiently uploaded over the internal Docker network:
curl --fail --silent --show-error \
-H 'Content-Type: application/pdf' \
--data-binary '@/workspace/plan.pdf' \
'http://architectural-mcp:8000/api/projects/my-project/plan-pdf'
No upload route is published to the host in the supplied stack.
Development
uv sync --extra dev
uv run ruff check src tests
uv run pytest -q
docker build -t hermes-architectural-mcp:local .
MCP tools
service_infoanalyze_plan_pdfcreate_or_update_planvalidate_projectexport_project_ifcrender_project_viewslist_project_outputs
See examples/restaurant-100m2.json for the PlanSpec shape.
Container publishing
Pushes to main run tests and publish linux/amd64 images to:
ghcr.io/twuijri/hermes-architectural-mcp:latest
License
MIT