Autodesk Revit MCP Server
Autodesk Revit MCP Server
Autodesk Revit MCP Server
Model Context Protocol server for Autodesk Revit
Overview
Production-ready MCP server enabling AI agents to control Autodesk Revit through natural language. Integrates with Claude Desktop, Microsoft Copilot, and custom MCP clients.
Key Features:
- 100+ Revit API tools (geometry, views, sheets, families, MEP, structures)
- Localhost HTTP bridge with sub-second response time
- Thread-safe ExternalEvent architecture
- Advanced reflection API for unlimited Revit access
- Production-ready with comprehensive tool coverage
Quick Start
Prerequisites
- Windows 10/11
- Autodesk Revit 2024-2026
- Python 3.11+
- .NET Framework 4.8
Installation
# Clone repository
git clone https://github.com/Sam-AEC/Autodesk-Revit-MCP-Server.git
cd Autodesk-Revit-MCP-Server
# Build Revit add-in
.\scripts\build-addin.ps1 -RevitVersion 2024
# Install Python package
pip install -e packages/mcp-server-revit
Configure Claude Desktop
Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"revit": {
"command": "python",
"args": ["-m", "revit_mcp_server.mcp_server"],
"env": {
"MCP_REVIT_BRIDGE_URL": "http://127.0.0.1:3000",
"MCP_REVIT_MODE": "bridge"
}
}
}
}
Configure VS Code / GitHub Copilot
This repository includes a workspace MCP config at .vscode/mcp.json. After installing the Python package and starting Revit with the bridge add-in loaded, open this repository in VS Code and run MCP: List Servers or use the MCP Servers view.
For marketplace and registry publication details, see MCP Marketplaces and Client Distribution.
Verify Installation
Start Revit, then:
curl http://localhost:3000/health
Expected response:
{
"status": "healthy",
"revit_version": "2024"
}
Architecture
┌─────────────────────────────────┐
│ AI Client (Claude/Copilot) │
└───────────────┬─────────────────┘
│ MCP Protocol
┌───────────────▼─────────────────┐
│ MCP Server (Python) │
│ - Tool Registry │
│ - Security/Audit │
└───────────────┬─────────────────┘
│ HTTP :3000
┌───────────────▼─────────────────┐
│ Revit Bridge Add-in (C#) │
│ - HTTP Server │
│ - ExternalEvent Handler │
└───────────────┬─────────────────┘
│ Revit API
┌───────────────▼─────────────────┐
│ Autodesk Revit 2024-2026 │
└─────────────────────────────────┘
Threading Model: HTTP requests are queued and executed on Revit's main thread via ExternalEvent for thread safety.
Bridge Status: The bridge runs as a localhost HTTP server on port 3000, providing health checks and tool execution endpoints.
Available Tools
Document Management
revit.create_new_document- Create blank projectrevit.open_document- Open RVT/RFA filerevit.save_document- Save active documentrevit.close_document- Close documentrevit.get_document_info- Get project metadata
Levels & Grids
revit.create_level- Create level at elevationrevit.list_levels- List all levelsrevit.create_grid- Create grid line
Model Elements
revit.create_wall- Create wall from curverevit.create_floor- Create floor from profilerevit.create_roof- Create roof from profilerevit.create_column- Create structural columnrevit.create_beam- Create structural beamrevit.create_foundation- Create foundation elementrevit.create_room- Create room boundary
MEP Systems
revit.create_duct- Create HVAC ductrevit.create_pipe- Create plumbing piperevit.create_cable_tray- Create cable trayrevit.create_conduit- Create electrical conduitrevit.get_mep_systems- List MEP systems
Families & Components
revit.place_family_instance- Place family instancerevit.place_door- Place door in wallrevit.place_window- Place window in wallrevit.list_families- List loaded familiesrevit.edit_family- Edit family document
Element Operations
revit.delete_element- Delete elementrevit.copy_element- Copy element with translationrevit.move_element- Move element by vectorrevit.rotate_element- Rotate element around axisrevit.mirror_element- Mirror element across planerevit.pin_element- Pin element in placerevit.unpin_element- Unpin element
Parameters
revit.get_element_parameters- Read element parametersrevit.set_parameter_value- Write parameter valuerevit.get_parameter_value- Read single parameterrevit.batch_set_parameters- Batch update parametersrevit.get_type_parameters- Get type parametersrevit.set_type_parameter- Set type parameter
Views
revit.create_3d_view- Create isometric 3D viewrevit.create_section_view- Create section viewrevit.create_floor_plan_view- Create floor planrevit.duplicate_view- Duplicate viewrevit.apply_view_template- Apply view templaterevit.get_view_templates- List view templatesrevit.list_views- List all views
Sheets & Documentation
revit.create_sheet- Create sheet with titleblockrevit.place_viewport_on_sheet- Place viewport on sheetrevit.list_sheets- List all sheetsrevit.delete_sheet- Delete sheetrevit.duplicate_sheet- Duplicate sheetrevit.get_sheet_info- Get sheet informationrevit.list_titleblocks- List titleblock typesrevit.populate_titleblock- Fill titleblock parametersrevit.renumber_sheets- Renumber sheetsrevit.batch_create_sheets_from_csv- Create sheets from CSV
Annotation
revit.create_tag- Create element tagrevit.create_dimension- Create dimensionrevit.create_text_note- Create text annotationrevit.create_text_type- Create text typerevit.tag_all_in_view- Tag all elements in viewrevit.create_revision_cloud- Create revision cloud
Selection & Query
revit.get_selection- Get current selectionrevit.set_selection- Set element selectionrevit.list_elements_by_category- Query by categoryrevit.get_element_type- Get element typerevit.get_element_bounding_box- Get element boundsrevit.get_categories- List all categories
Groups & Links
revit.create_group- Create model grouprevit.ungroup- Ungroup elementsrevit.convert_to_group- Convert to grouprevit.get_group_members- Get group membersrevit.get_link_instances- List link instancesrevit.get_rvt_links- List Revit links
Schedules & Data
revit.create_schedule- Create schedule viewrevit.get_schedule_data- Extract schedule datarevit.export_schedules- Export schedules to CSVrevit.calculate_material_quantities- Calculate quantities
Export Operations
revit.export_pdf_by_sheet_set- Export to PDFrevit.export_dwg_by_view- Export to DWGrevit.export_ifc_with_settings- Export to IFCrevit.export_navisworks- Export to Navisworksrevit.export_image- Export view as imagerevit.render_3d_view- Render 3D view
Project Information
revit.get_phases- List project phasesrevit.get_phase_filters- List phase filtersrevit.get_design_options- List design optionsrevit.get_worksets- List worksetsrevit.get_warnings- Get model warningsrevit.get_project_location- Get project location
Worksharing
revit.sync_to_central- Synchronize with centralrevit.relinquish_all- Relinquish all elements
Materials & Rendering
revit.create_material- Create materialrevit.set_element_material- Assign materialrevit.get_render_settings- Get render settings
Analysis & Validation
revit.check_clashes- Run clash detectionrevit.get_room_boundary- Get room boundary
Advanced Features
revit.invoke_method- Universal Revit API method invocationrevit.reflect_get- Get property via reflectionrevit.reflect_set- Set property via reflection
Project Parameters
revit.list_shared_parameters- List shared parametersrevit.create_shared_parameter- Create shared parameterrevit.list_project_parameters- List project parametersrevit.create_project_parameter- Create project parameter
Revisions
revit.get_revision_sequences- Get revision sequences
Total: 100+ tools • Full API Reference: docs/tools.md
Development Status
This server is actively maintained and continuously improved. For the latest updates and known limitations, see:
- GitHub Issues - Bug reports and feature requests
- Changelog - Version history and updates
- Discussions - Community support
Security
Default: Localhost-only (127.0.0.1:3000), no authentication required.
Enterprise: Optional HTTPS, OAuth2 (Entra ID), audit logging, and rate limiting.
See docs/security.md for details.
Project Structure
Autodesk-Revit-MCP-Server/
├── packages/
│ ├── revit-bridge-addin/ # C# Revit Add-in
│ │ └── src/Bridge/
│ │ ├── App.cs # IExternalApplication
│ │ ├── BridgeServer.cs # HTTP server
│ │ └── BridgeCommandFactory.cs
│ └── mcp-server-revit/ # Python MCP Server
│ ├── src/revit_mcp_server/
│ │ ├── mcp_server.py # MCP protocol
│ │ ├── bridge/client.py # HTTP client
│ │ └── tools/ # Tool handlers
│ └── tests/
├── scripts/
│ ├── build-addin.ps1 # Build C# DLL
│ └── install.ps1 # Deploy to Revit
├── docs/
│ ├── tools.md # API reference
│ ├── architecture.md # System design
│ └── security.md # Security model
└── README.md
Documentation
- Installation Guide
- API Reference
- Architecture
- Security Model
- MCP Marketplaces and Client Distribution
- Claude Desktop Setup
- Contributing
License
MIT License - Copyright (c) 2025
Links
관련 서버
Kone.vc
스폰서Monetize your AI agent with contextual product recommendations
pixoo-mcp-server
Divoom Pixoo LED control
YesDev
AI-powered tools for efficient task, requirement, and project management using the YesDev platform.
Kibela
Manage content on the Kibela knowledge sharing platform.
Things3
Manage tasks and projects in Things3 on macOS.
Dooray MCP Server
Manage schedules using the Dooray API. Requires API key, member ID, and calendar ID to be configured.
NotesY
Access and manage Apple Notes on macOS via AppleScript.
Kultur.dev
Cultural intelligence MCP server providing AI-powered cultural context analysis, localization guidance, and cross-cultural communication insights for 195 countries.
TeXFlow
A document authoring and composition server for creating PDFs from LaTeX and Markdown, supporting collaborative editing and project-based workflows.
System Resource Monitor MCP Server
Monitors system resources in real-time, including CPU, memory, disk, network, battery, and internet speed.
Mailgo Cold Mail Marketing
AI-powered cold email campaign management through Model Context Protocol (MCP).