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
TanukiMCP
Automate and manage WordPress sites using browser automation and API integration.
MCP Platform
Local MCP runtime with multi-agent orchestration, distributed tool servers, and ML-powered media recommendations.
ELC conference
ELC conference
Jira MCP Server
A server for integrating Jira with Claude, enabling project and issue management. Requires configuration via environment variables.
PostalForm MCP
Mail real letters from agents: PDF → checkout → status.
Targetprocess
Enables AI assistants to interact with Targetprocess data using semantic operations.
Automatisch MCP Server
Connect AI assistants to Automatisch for workflow automation.
mcp-nfse-nacional
MCP Server to query NFSe on the Brazilian national portal (nfse.gov.br). Search for invoices, download XMLs and PDFs directly from your AI agent.
arxiv-mcp-server
arXiv paper search and full-text reading
floor plan generator
BuildFloorPlan is an AI floor plan generator for homeowners, interior designers, builders, and small planning teams who need to move from rough input to a reviewable layout faster. It turns short briefs, sketches, images, and PDFs into clearer floor plan outputs in seconds, supports technical 2D layouts, colored presentation-ready plans, and quick 3D previews, and helps users compare layout directions before renovation, client presentation, or internal review. It is designed for fast first drafts, supports editing and refinement workflows, and does not require CAD experience. You can start free with starter credits, and paid plans add more credits, longer history, and commercial usage options.