Skip to main content
Glama
vascocardosondBIM

mcp-server-for-revit

mcp-server-for-revit

AI 어시스턴트(Claude, Cursor 등)에서 Autodesk Revit과 상호작용하기 위한 MCP(Node.js) 서버입니다.

이 저장소에는 구분해야 할 두 가지가 포함되어 있습니다:

  1. "원본" MCP (Node 브리지)mcp-servers-for-revit 생태계와 일치하며, Revit 작업을 MCP 도구로 노출합니다. 서버는 이 브리지 흐름에서 WebSocket이 아닌 TCP(기본 포트 8080)를 통해 공식 Revit 플러그인과 통신합니다.

  2. 이 포크의 확장 기능 — 브리지의 이중 포트(REVIT_PLUGIN_PORT / REVIT_SKETCH_PORT) 및 revit-plugin/RevitSketchPoC/ 폴더에 있는 별도의 RevitSketchPoC 애드인(C# / WPF)입니다. 이 애드인은 다른 포트(기본 8081)를 수신하며 create_house_from_sketch 도구(이미지 해석 + Revit 내 벽/방/문 생성)만 처리합니다. 플러그인에서 Ollama 또는 Gemini를 구성할 수 있습니다.

[!NOTE] 전체 흐름을 사용하려면 원본 Revit 플러그인(포트 8080)이 필요하며, MCP 또는 UI를 통해 스케치를 사용하려면 RevitSketchPoC(포트 8081)가 필요합니다. 공식 플러그인 지침: mcp-servers-for-revit. PoC 세부 정보: revit-plugin/RevitSketchPoC/README.md.

보안 및 Git

  • .env 파일, JSON 키 또는 비밀 정보가 포함된 로컬 복사본을 커밋하지 마십시오. 저장소에는 node_modules/, .NET 아티팩트(bin/ / obj/), .env*pluginsettings.local.json에 대한 .gitignore가 포함되어 있습니다.

  • PoC의 deploy/pluginsettings.json 파일은 Git에서 GeminiApiKey를 비워두어야 합니다. 로컬 복사본을 사용하거나 pluginsettings.example.json을 템플릿으로 따르십시오.

설정 (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"
            }
        }
    }
}

클라이언트를 다시 시작하십시오. 도구 아이콘은 MCP가 연결되었음을 나타냅니다.

두 개의 포트, 두 개의 플러그인

환경 변수

기본값

TCP 대상

REVIT_PLUGIN_PORT

8080

원본 플러그인 — create_house_from_sketch를 제외한 모든 도구

REVIT_SKETCH_PORT

8081

RevitSketchPoCcreate_house_from_sketch 전용

create_house_from_sketch 도구는 REVIT_SKETCH_PORT(또는 요청 시 data.pluginPort)를 사용합니다. pluginPort 필드는 Revit으로 전송되지 않습니다(브리지가 제거함). 나머지 도구는 REVIT_PLUGIN_PORT를 사용합니다.

지원되는 MCP 도구

도구

설명

get_current_view_info

활성 뷰 정보

get_current_view_elements

활성 뷰의 요소

get_available_family_types

사용 가능한 패밀리 유형

get_selected_elements

선택된 요소

get_material_quantities

재료 수량

ai_element_filter

모델에 대한 지능형 쿼리

analyze_model_statistics

모델 통계

create_point_based_element

점 기반 요소

create_line_based_element

선 기반 요소

create_surface_based_element

면 기반 요소

create_grid

그리드

create_level

레벨

create_room

create_dimensions

치수

create_structural_framing_system

구조 프레임 시스템

delete_element

ID별 삭제

operate_element

작업(선택, 색상, 숨기기 등)

color_elements

매개변수별 색상 지정

tag_all_walls / tag_all_rooms

태그

export_room_data

방 데이터 내보내기

store_project_data / store_room_data / query_stored_data

로컬 메타데이터

send_code_to_revit

Revit에서 실행할 C# 코드 전송

create_house_from_sketch

스케치 이미지 → LLM 해석(RevitSketchPoC에서 Ollama 또는 Gemini) → 벽/방/문 생성

say_hello

연결 테스트

개발 (Node)

npm install
npm run build

스케치 PoC (C# / WPF)

현재 지원되는 구현은 revit-plugin/RevitSketchPoC/(UI, MCP TCP 라우터, Ollama/Gemini, Revit 트랜잭션)에 있습니다. samples/RevitSketchPoC/ 폴더는 이전 참조로 존재할 수 있습니다. revit-plugin/RevitSketchPoC/README.md에 있는 플러그인 README를 따르십시오.

요약된 흐름:

  1. 사용자가 이미지를 전송합니다(리본 Sketch AI PoC 또는 MCP create_house_from_sketch).

  2. 플러그인이 LLM을 호출합니다(pluginsettings.json에 따라 Ollama 또는 Gemini).

  3. 구조화된 응답 → Revit의 Transaction 내에서 요소 생성.

라이선스

MIT

Related MCP Connectors