MCP cover image
See in Github
2025-04-15

2

Github Watches

16

Github Forks

57

Github Stars

revit-mcp-plugin

English | 简体中文

Introduction

revit-mcp-plugin is a Revit plugin based on the MCP protocol, enabling AI to interact with Revit.

This project is part of the revit-mcp project (receives messages, loads command sets, operates Revit), and needs to be used in conjunction with revit-mcp (provides tools to AI) and revit-mcp-commandset (specific feature implementations).

Environment Requirements

  • Revit 2019~2024

Usage Instructions

Register Plugin

Register the plugin and restart Revit:

<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
  <AddIn Type="Application">
    <Name>revit-mcp</Name>
    <Assembly>%your_path%\revit-mcp-plugin.dll</Assembly>
    <FullClassName>revit_mcp_plugin.Core.Application</FullClassName>
    <ClientId>090A4C8C-61DC-426D-87DF-E4BAE0F80EC1</ClientId>
    <VendorId>revit-mcp</VendorId>
    <VendorDescription>https://github.com/revit-mcp/revit-mcp-plugin</VendorDescription>
  </AddIn>
</RevitAddIns>

%your_path% needs to be replaced with the actual path after compilation.

Configure Commands

Add-in Modules -> Revit MCP Plugin -> Settings

This interface is used to configure the commands to be loaded into Revit. Click OpenCommandSetFolder to open the folder storing command sets. A typical command set folder structure looks like this:

CommandSetName/
├── 2019/                                # Compatible executable files for different versions
├── 2020/
├── 2021/
├── 2022/
├── 2023/
├── 2024/
└── command.json                         # Configuration file

Successfully identified commands need to be checked to be loaded and used.

Enable Service

Add-in -> Revit MCP Plugin -> Revit MCP Switch

Open the service to allow AI to discover your Revit program. Now AI can control your Revit!

Note: If you modify the configured commands after enabling the service, you may need to restart REVIT for the configuration to take effect. This is related to whether the command has already been registered.

Custom Commands

You can refer to the revit-mcp-commandset project to develop custom commands.

Project File Organization

revit-mcp-plugin/
├── Configuration/                            # Configuration management related classes
│   ├── CommandConfig.cs                      # Command configuration
│   ├── ConfigurationManager.cs               # Configuration manager
│   ├── DeveloperInfo.cs                      # Developer information
│   ├── FrameworkConfig.cs                    # Framework configuration
│   └── ServiceSettings.cs                    # Service settings
│
├── Core/                                     # Program entry and core functionality
│   ├── Application.cs                        # Application entry point
│   ├── CommandExecutor.cs                    # Command executor
│   ├── CommandManager.cs                     # Command manager
│   ├── ExternalEventManager.cs               # External event manager
│   ├── MCPServiceConnection.cs               # MCP service connection
│   ├── RevitCommandRegistry.cs               # Revit command registration
│   ├── Settings.cs                           # Application settings
│   └── SocketService.cs                      # Socket service implementation
│
├── Models/                                   # Data models
│   └── ...                                   # Various data model classes
│
├── UI/                                       # WPF form interfaces
│   └── ...                                   # Interface related classes
│
└── Utils/                                    # Utility classes
    ├── Logger.cs                             # Logging utility
    └── PathManager.cs                        # Path management utility

Configuration Directory

Responsible for managing various configuration information for the plugin:

  • CommandConfig.cs: Defines command-related configuration
  • ConfigurationManager.cs: Manages loading, saving, and accessing configurations
  • DeveloperInfo.cs: Stores developer-related information
  • FrameworkConfig.cs: Framework-level configuration settings
  • ServiceSettings.cs: Service-related settings

Core Directory

Contains the core functionality and entry point of the plugin:

  • Application.cs: Application entry point, responsible for initializing the plugin
  • CommandExecutor.cs: Core component responsible for executing Revit commands
  • CommandManager.cs: Manages and dispatches various commands in the plugin
  • ExternalEventManager.cs: Manages Revit external events
  • MCPServiceConnection.cs: MCP service connection
  • RevitCommandRegistry.cs: Registers and manages available Revit commands
  • Settings.cs: Triggers the display of the settings interface
  • SocketService.cs: Implements Socket communication with external clients

Models Directory

Contains data model classes used to pass data between different parts of the system.

UI Directory

Contains user interface related components of the plugin, implemented using the WPF framework.

Utils Directory

Provides various auxiliary tools:

  • Logger.cs: Logging tool for debugging and error tracking
  • PathManager.cs: Project-related file path management

相关推荐

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • Contraband Interactive
  • Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.

  • rustassistant.com
  • Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Alexandru Strujac
  • Efficient thumbnail creator for YouTube videos

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • apappascs
  • 发现市场上最全面,最新的MCP服务器集合。该存储库充当集中式枢纽,提供了广泛的开源和专有MCP服务器目录,并提供功能,文档链接和贡献者。

  • Mintplex-Labs
  • 带有内置抹布,AI代理,无代理构建器,MCP兼容性等的多合一桌面和Docker AI应用程序。

  • ShrimpingIt
  • MCP系列GPIO Expander的基于Micropython I2C的操作,源自ADAFRUIT_MCP230XX

  • n8n-io
  • 具有本机AI功能的公平代码工作流程自动化平台。将视觉构建与自定义代码,自宿主或云相结合,400+集成。

  • WangRongsheng
  • 🧑‍🚀 llm 资料总结(数据处理、模型训练、模型部署、 o1 模型、mcp 、小语言模型、视觉语言模型)|摘要世界上最好的LLM资源。

  • metorial
  • 数百个MCP服务器的容器化版本📡📡

  • langgenius
  • ravitemer
  • 一个功能强大的Neovim插件,用于管理MCP(模型上下文协议)服务器

  • patruff
  • Ollama和MCP服务器之间的桥梁,使本地LLMS可以使用模型上下文协议工具

    Reviews

    1 (1)
    Avatar
    user_pG5ztErP
    2025-04-17

    I recently tried the revit-mcp-plugin developed by revit-mcp, and it has significantly improved my workflow in Revit. The plugin is easy to install and integrate into existing projects, offering a seamless experience. Its features enhance productivity, making complex tasks more manageable. I highly recommend it to anyone looking to optimize their Revit usage! For more details, check it out at: https://github.com/revit-mcp/revit-mcp-plugin.