Skip to main content
Glama
vascocardosondBIM

mcp-server-for-revit

mcp-server-for-revit

Servidor MCP (Node.js) para interagir com o Autodesk Revit a partir de assistentes de IA (Claude, Cursor, etc.).

Este repositório contém duas coisas que convém distinguir:

  1. O MCP “original” (bridge Node) — alinhado com o ecossistema mcp-servers-for-revit: expõe operações do Revit como ferramentas MCP; o servidor fala com o plugin Revit oficial por TCP (por defeito porta 8080), não por WebSocket neste fluxo de bridge.

  2. A extensão deste forkporta dupla no bridge (REVIT_PLUGIN_PORT / REVIT_SKETCH_PORT) e o add-in separado RevitSketchPoC (C# / WPF) na pasta revit-plugin/RevitSketchPoC/, que escuta outra porta (por defeito 8081) e trata apenas da tool create_house_from_sketch (interpretação de imagem + criação de paredes/quartos/portas no Revit), com Ollama ou Gemini configurável no plugin.

NOTE

Para o fluxo completo precisas doplugin Revit original (porta 8080) e, se usares o sketch por MCP ou UI, do RevitSketchPoC (porta 8081). Instruções do plugin oficial: mcp-servers-for-revit. Detalhe do PoC: revit-plugin/RevitSketchPoC/README.md.

Segurança e Git

  • Não commits ficheiros .env, chaves em JSON, nem cópias locais com segredos. O repositório inclui .gitignore para node_modules/, artefactos .NET (bin/ / obj/), .env* e pluginsettings.local.json.

  • O ficheiro deploy/pluginsettings.json do PoC deve manter GeminiApiKey vazio no Git; usa uma cópia local ou segue o pluginsettings.example.json como modelo.

Setup (cliente MCP)

Claude Code

claude mcp add mcp-server-for-revit -- npx -y mcp-server-for-revit

Claude Desktopclaude_desktop_config.json:

{
    "mcpServers": {
        "mcp-server-for-revit": {
            "command": "npx",
            "args": ["-y", "mcp-server-for-revit"],
            "env": {
                "REVIT_PLUGIN_PORT": "8080",
                "REVIT_SKETCH_PORT": "8081"
            }
        }
    }
}

Reinicia o cliente. O ícone de ferramentas indica que o MCP está ligado.

Duas portas, dois plugins

Variável de ambiente

Valor por defeito

Destino TCP

REVIT_PLUGIN_PORT

8080

Plugin originaltodas as tools exceto create_house_from_sketch

REVIT_SKETCH_PORT

8081

RevitSketchPoCapenas create_house_from_sketch

A tool create_house_from_sketch usa REVIT_SKETCH_PORT (ou data.pluginPort no pedido). O campo pluginPort não é enviado ao Revit (o bridge remove-o). As restantes tools usam REVIT_PLUGIN_PORT.

Ferramentas MCP suportadas

Tool

Descrição

get_current_view_info

Informação da vista ativa

get_current_view_elements

Elementos na vista ativa

get_available_family_types

Tipos de família disponíveis

get_selected_elements

Elementos selecionados

get_material_quantities

Quantidades de materiais

ai_element_filter

Consulta inteligente ao modelo

analyze_model_statistics

Estatísticas do modelo

create_point_based_element

Elementos baseados em ponto

create_line_based_element

Elementos baseados em linha

create_surface_based_element

Elementos baseados em superfície

create_grid

Grelha

create_level

Níveis

create_room

Quartos

create_dimensions

Cotas

create_structural_framing_system

Estrutura em vigas

delete_element

Apagar por ID

operate_element

Operar (selecionar, cor, ocultar, etc.)

color_elements

Colorir por parâmetro

tag_all_walls / tag_all_rooms

Etiquetas

export_room_data

Exportar dados de quartos

store_project_data / store_room_data / query_stored_data

Metadados locais

send_code_to_revit

Enviar C# para executar no Revit

create_house_from_sketch

Imagem de esboço → interpretação LLM (Ollama ou Gemini no RevitSketchPoC) → paredes/quartos/portas

say_hello

Teste de ligação

Desenvolvimento (Node)

npm install
npm run build

Sketch PoC (C# / WPF)

A implementação atual e suportada está em revit-plugin/RevitSketchPoC/ (UI, router MCP TCP, Ollama/Gemini, transações Revit). A pasta samples/RevitSketchPoC/ pode existir como referência antiga; segue o README do plugin em revit-plugin/RevitSketchPoC/README.md.

Fluxo resumido:

  1. Utilizador envia imagem (ribbon Sketch AI PoC ou MCP create_house_from_sketch).

  2. O plugin chama o LLM (Ollama ou Gemini conforme pluginsettings.json).

  3. Resposta estruturada → criação de elementos numa Transaction no Revit.

Licença

MIT

Related MCP Connectors