Skip to main content
Glama
vascocardosondBIM

mcp-server-for-revit

mcp-server-for-revit

Servidor MCP (Node.js) para interactuar con Autodesk Revit desde asistentes de IA (Claude, Cursor, etc.).

Este repositorio contiene dos cosas que conviene distinguir:

  1. El MCP “original” (bridge Node) — alineado con el ecosistema mcp-servers-for-revit: expone operaciones de Revit como herramientas MCP; el servidor se comunica con el plugin oficial de Revit mediante TCP (por defecto puerto 8080), no mediante WebSocket en este flujo de bridge.

  2. La extensión de este forkpuerto doble en el bridge (REVIT_PLUGIN_PORT / REVIT_SKETCH_PORT) y el add-in separado RevitSketchPoC (C# / WPF) en la carpeta revit-plugin/RevitSketchPoC/, que escucha en otro puerto (por defecto 8081) y se encarga únicamente de la herramienta create_house_from_sketch (interpretación de imagen + creación de paredes/habitaciones/puertas en Revit), con Ollama o Gemini configurable en el plugin.

[!NOTE] Para el flujo completo necesitas el plugin original de Revit (puerto 8080) y, si usas el boceto por MCP o UI, el RevitSketchPoC (puerto 8081). Instrucciones del plugin oficial: mcp-servers-for-revit. Detalle del PoC: revit-plugin/RevitSketchPoC/README.md.

Seguridad y Git

  • No hagas commits de archivos .env, claves en JSON, ni copias locales con secretos. El repositorio incluye .gitignore para node_modules/, artefactos .NET (bin/ / obj/), .env* y pluginsettings.local.json.

  • El archivo deploy/pluginsettings.json del PoC debe mantener GeminiApiKey vacío en Git; usa una copia local o sigue el pluginsettings.example.json como modelo.

Configuración (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 el cliente. El icono de herramientas indica que el MCP está conectado.

Dos puertos, dos plugins

Variable de entorno

Valor por defecto

Destino TCP

REVIT_PLUGIN_PORT

8080

Plugin originaltodas las herramientas excepto create_house_from_sketch

REVIT_SKETCH_PORT

8081

RevitSketchPoCsolo create_house_from_sketch

La herramienta create_house_from_sketch usa REVIT_SKETCH_PORT (o data.pluginPort en la solicitud). El campo pluginPort no se envía a Revit (el bridge lo elimina). Las herramientas restantes usan REVIT_PLUGIN_PORT.

Herramientas MCP soportadas

Herramienta

Descripción

get_current_view_info

Información de la vista activa

get_current_view_elements

Elementos en la vista activa

get_available_family_types

Tipos de familia disponibles

get_selected_elements

Elementos seleccionados

get_material_quantities

Cantidades de materiales

ai_element_filter

Consulta inteligente al modelo

analyze_model_statistics

Estadísticas del modelo

create_point_based_element

Elementos basados en puntos

create_line_based_element

Elementos basados en líneas

create_surface_based_element

Elementos basados en superficies

create_grid

Rejilla

create_level

Niveles

create_room

Habitaciones

create_dimensions

Cotas

create_structural_framing_system

Estructura de vigas

delete_element

Borrar por ID

operate_element

Operar (seleccionar, color, ocultar, etc.)

color_elements

Colorear por parámetro

tag_all_walls / tag_all_rooms

Etiquetas

export_room_data

Exportar datos de habitaciones

store_project_data / store_room_data / query_stored_data

Metadatos locales

send_code_to_revit

Enviar C# para ejecutar en Revit

create_house_from_sketch

Imagen de boceto → interpretación LLM (Ollama o Gemini en RevitSketchPoC) → paredes/habitaciones/puertas

say_hello

Prueba de conexión

Desarrollo (Node)

npm install
npm run build

Sketch PoC (C# / WPF)

La implementación actual y soportada está en revit-plugin/RevitSketchPoC/ (UI, router MCP TCP, Ollama/Gemini, transacciones de Revit). La carpeta samples/RevitSketchPoC/ puede existir como referencia antigua; sigue el README del plugin en revit-plugin/RevitSketchPoC/README.md.

Flujo resumido:

  1. El usuario envía una imagen (ribbon Sketch AI PoC o MCP create_house_from_sketch).

  2. El plugin llama al LLM (Ollama o Gemini según pluginsettings.json).

  3. Respuesta estructurada → creación de elementos en una Transaction en Revit.

Licencia

MIT

Related MCP Connectors