Revit MCP
Interaja com o Autodesk Revit usando o protocolo MCP. Este servidor fornece ferramentas de IA e requer o plugin Revit correspondente para funcionar.
Documentação
revit-mcp
Inglês | 简体中文
Descrição
O revit-mcp permite que você interaja com o Revit usando o protocolo MCP por meio de clientes compatíveis com MCP (como Claude, Cline, etc.).
Este projeto é o lado do servidor (fornecendo ferramentas para IA), e você precisa usar o revit-mcp-plugin (que controla o Revit) em conjunto.
Participe do Discord | Grupo QQ
Recursos
- Permite que a IA obtenha dados do projeto Revit
- Permite que a IA controle o Revit para criar, modificar e excluir elementos
- Envia código gerado por IA para o Revit executar (pode não ser bem-sucedido; a taxa de sucesso é maior em alguns cenários simples com requisitos claros)
Requisitos
- nodejs 18+
O ambiente de instalação completo ainda precisa considerar as necessidades do revit-mcp-plugin, consulte revit-mcp-plugin
Instalação
1. Construir serviço MCP local
Instalar dependências
npm install
Compilar
npm run build
2. Configuração do cliente
Cliente Claude
Cliente Claude -> Configurações > Desenvolvedor > Editar Configuração > claude_desktop_config.json
{
"mcpServers": {
"revit-mcp": {
"command": "node",
"args": ["<path to the built file>\\build\\index.js"]
}
}
}
Reinicie o cliente Claude. Quando você vir o ícone de martelo, significa que a conexão com o serviço MCP está normal.

Framework
flowchart LR
CladueDesktop --> revit-mcp --> SocketService--commandName-->CommandlSet--command-->CommandExecute
CommandManager --> CommandlSet
CommandExecute --executeResult--> SocketService
CommandProject1 --> CommandManager
CommandProject2 --> CommandManager
CommandProject... --> CommandManager
subgraph ide1 [MCPClient]
CladueDesktop
end
subgraph ide2 [MCPServer]
revit-mcp
end
subgraph ide3 [Revit]
subgraph ide3.1 [revit-mcp-plugin]
SocketService
CommandlSet
CommandManager
CommandExecute
end
end
Ferramentas Suportadas
| Nome | Descrição |
|---|---|
| get_current_view_info | Obter informações da vista atual |
| get_current_view_elements | Obter elementos da vista atual |
| get_available_family_types | Obter tipos de família disponíveis no projeto atual |
| get_selected_elements | Obter elementos selecionados |
| create_point_based_element | Criar elemento baseado em ponto (porta, janela, mobiliário) |
| create_line_based_element | Criar elemento baseado em linha (parede, viga, tubo) |
| create_surface_based_element | Criar elemento baseado em superfície (piso, teto) |
| delete_elements | Excluir elementos |
| reset_model | Redefinir modelo (excluir modelo de processo ao executar diálogo contínuo) |
| modify_element | Modificar propriedades do elemento (parâmetros de instância) |
| search_modules | Pesquisar módulos disponíveis |
| use_module | Usar módulo |
| send_code_to_revit | Enviar código para o Revit executar |
| color_splash | Colorir elementos com base em um valor de parâmetro |
| tag_walls | Etiquetar todas as paredes na vista |
