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
Máy chủ liên quan
Kone.vc
nhà tài trợMonetize your AI agent with contextual product recommendations
Notion
Manage and interact with your entire Notion workspace.
Deck Builder MCP
Create and manipulate PowerPoint presentations programmatically using JSON or Markdown.
AI Survey via MCP
Create AI-moderated interviews and surveys via MCP and share survey links with participants instantly.
hh-jira-mcp-server
A MCP server for interacting with Jira. It requires external configuration via environment variables for credentials and filters.
LinkMCP
Hosted MCP server for LinkedIn. 25 tools: profiles, messages, search, post engagement, company data, enrichment.
Rodin3D Skills
A Skill for generating 3D models from single image, multiview images or text prompts using the Hyper3D Rodin Gen-2 API.
Task Manager (Go)
An intelligent task and project management server with LLM-driven complexity analysis and smart subtask creation, using file-based markdown storage.
Productboard MCP Server
Integrate the Productboard API into agentic workflows for product management.
DMARKOFF
The DMARKOFF MCP server gives your AI agents direct access to live DMARC monitoring data. Domain health, authentication results, policy status, security alerts. All available in your AI environment, without switching tools or opening a dashboard.
Todoist MCP
Manage Todoist tasks and projects using the Todoist CLI.