Archviz
FreeNot checkedProvides 3D architecture visualization from floorplan layouts, with tools for generating 3D models, rendering perspectives, and exporting models. Currently uses
About
Provides 3D architecture visualization from floorplan layouts, with tools for generating 3D models, rendering perspectives, and exporting models. Currently uses a stub provider with placeholder URLs.
README
3D architecture visualization MCP server with stub provider.
Status: Phase 4 MVP — Stub provider with placeholder URLs (no real 3D rendering)
Overview
mcp-archviz provides tools for 3D visualization of workspace layouts from mcp-floorplans.
Current implementation: STUB provider
- All URLs are placeholder (
stub:///) indicating no real rendering occurs - API matches future real providers (Roomify, Unreal Engine 5)
- Fully testable without external 3D rendering service
- Ready for Phase 5+ integration with real providers
Architecture
server.py
├─ MCP server with 3 tools
├─ generate_3d_model — 3D model from layout
├─ render_perspective — Perspective view from angle
└─ export_model — Export in multiple formats
test_archviz.py
└─ 15+ unit tests, all deterministic
Quick Start
# Install dependencies
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Run tests
pytest test_archviz.py -v
# Start MCP server (stdio mode for Claude)
python server.py
MCP Tools
generate_3d_model
Generate 3D model from floorplan layout.
Input:
{
"layout": {
"variant_id": "balanced-001",
"zones": [...],
"metrics": {
"total_sqm": 200,
"workstations": 12,
"meeting_rooms": 1,
"collaboration_zones_pct": 25
}
},
"style": "contemporary",
"brand_colors": {
"primary": "#1a73e8",
"secondary": "#4285f4"
}
}
Output: Model metadata
model_id— Unique model identifier3d_model_url— STUB URL to 3D model (GLB format)preview_image_url— STUB URL to preview imagedimensions— Calculated space dimensionszones— Zone objects with textures and materialsbrand_integration— Color accents from brand DNAinteractive_features— Planned features for real implementationformats_available— Export formats
render_perspective
Generate perspective view from specific angle.
Input:
{
"model_id": "model-abc123",
"angle_degrees": 45,
"height_m": 1.6
}
Output: Rendered view metadata
render_id— Unique render identifierrendered_image_url— STUB URL to rendered imagecamera— Camera position and angleavailable_angles— Standard view angles [0, 45, 90, ...]
export_model
Export 3D model in requested format.
Input:
{
"model_id": "model-abc123",
"format": "glb"
}
Supported formats:
glb— Web-ready 3D (Three.js, Babylon.js)gltf— Portable 3D formatusdz— Apple ARKit compatibleusd— Unreal Engine 5 compatiblestl— 3D printing formatobj— Blender/Maya compatible
Output: Export metadata
download_url— STUB URL to exported filefile_size_mb_estimate— Estimated file sizesupported_applications— Applications that can open formatcompression— Compression method used
Integration Pattern
Workflow: mcp-floorplans → mcp-archviz
1. Generate layout (mcp-floorplans)
└─ returns zones, metrics, stub floorplan URLs
2. Generate 3D model (mcp-archviz)
└─ receives layout
└─ returns model_id, stub 3D URLs
3. Render perspective (mcp-archviz)
└─ receives model_id, angle
└─ returns stub rendered image URL
4. Export (mcp-archviz)
└─ receives model_id, format
└─ returns stub export URL
Stub Provider Details
What "STUB provider" means:
All URLs returned follow the pattern stub:///path/to/resource:
stub:///models/{model_id}/model.glb
stub:///renders/{render_id}/perspective-45deg.png
stub:///exports/{export_id}/model.glb
Why stubs?
- No external dependency — Don't require 3D rendering service API key
- Deterministic — Same input always produces same output
- Testable — Can verify logic without network calls
- Honest — Clear indicator that images/models don't actually exist
- Autonomous — Agent can run without user provisioning real infrastructure
When real 3D is needed:
Phase 5+ will integrate:
- Roomify API (commercial 3D rendering)
- Unreal Engine 5 (heavy duty rendering)
- Blender API (open-source alternative)
- Three.js (web-based visualization)
Phase 4 Status
✅ COMPLETED:
- Stub 3D provider implementation
- All 3 tools with full signatures
- Metadata generation for future real implementation
- 15+ unit tests (all passing)
- Integration tests with mcp-floorplans output
- Style support (minimal, contemporary, luxury)
- Brand color integration
- Multi-format export support
⏸️ DEFERRED (Phase 5+):
- Real 3D model generation
- Real perspective rendering
- Real texture/material application
- Virtual walkthroughs
- AR/VR export
- Animation rigs
Example Response
Model generation response:
{
"status": "success",
"provider": "STUB:archviz",
"model_id": "model-abc12345",
"layout_id": "balanced-001",
"style": "contemporary",
"3d_model_url": "stub:///models/model-abc12345/model.glb",
"preview_image_url": "stub:///models/model-abc12345/preview.png",
"zones": [
{
"zone_name": "Open Space",
"zone_type": "open-space",
"3d_object_url": "stub:///zones/open-space.glb",
"texture_url": "stub:///textures/contemporary_open-space.png"
}
],
"brand_integration": {
"primary_color_accent": "#1a73e8",
"signage": "Brand logos and wayfinding (stub)"
},
"notes": "STUB provider — real 3D rendering deferred to Phase 5+. All URLs are placeholder (`stub:///`)."
}
Testing
# Run all tests
pytest test_archviz.py -v
# Test categories:
# - Model generation (all styles, with/without brand colors)
# - Perspective rendering (all angles, custom heights)
# - Model export (all formats)
# - Stub markers (all URLs should contain "stub:///")
# - Integration workflow (floorplan → model → render → export)
# - Error handling (missing parameters)
Architecture Decisions
- Stub over mock: Placeholder URLs clearly indicate test/placeholder state
- Full metadata: Each response includes real metadata (dimensions, materials, etc.)
- No 3D libs: Deliberately not using Three.js, Babylon, or Blender to avoid false impression of real rendering
- Type-safe: All inputs/outputs validated and documented
- Async-ready: All tools are async for scaling in production
Phase 3 Integration
Works alongside:
- mcp-interior — Interior redesign of existing spaces
- mcp-floorplans — Space layout calculation (provides input)
- WorkspaceAgent — Orchestrates all three services
References
- mcp-floorplans — Floorplan generation
- mcp-interior — Interior rendering
- WorkspaceAgent — Orchestrator
License
Proprietary — Virtus Agents
Installing Archviz
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/Simoagadir95/mcp-archvizFAQ
Is Archviz MCP free?
Yes, Archviz MCP is free — one-click install via Unyly at no cost.
Does Archviz need an API key?
No, Archviz runs without API keys or environment variables.
Is Archviz hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Archviz in Claude Desktop, Claude Code or Cursor?
Open Archviz on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Archviz with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
