Bonsai-mcp

by JotaDeRodriguez
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables interactions with IFC (Industry Foundation Classes) models through Bonsai BIM, allowing users to query models, analyze spatial structures, inspect project information, and examine building elements and their relationships.

  • Provides tools for executing Python code in Blender, creating and modifying 3D objects, applying materials, and analyzing IFC models through a socket-based connection.

Bonsai-mcp - IfcOpenShell을 통한 IFC용 Blender 모델 컨텍스트 프로토콜 통합

Bonsai-mcp는 BlenderMCP 의 포크로, Bonsai를 통해 IFC(Industry Foundation Classes) 모델에 대한 전담 지원을 통해 기존 기능을 확장합니다. 이 통합은 Claude 또는 모든 LLM(단, Claude Desktop Client를 사용해서만 테스트했습니다)을 Blender에 연결하여 IfcOpenShell 명령을 실행할 수 있는 기능을 보여주는 간단한 개념 증명입니다.

특징

  • IFC 특정 기능 : IFC 모델 쿼리, 공간 구조 분석 및 건물 요소 검사
  • 5가지 강력한 IFC 도구 : 프로젝트 정보 검사, 엔터티 나열, 속성 조사, 공간 구조 탐색 및 관계 분석
  • 순차적 사고 : 구조화된 문제 해결을 위한 modelcontextprotocol/servers 의 순차적 사고 도구 포함
  • BlenderMCP의 원래 구현에서 코드 실행 도구 : Blender에서 객체를 생성 및 수정하고, 재료를 적용하고, Python 코드를 실행합니다.
  • 표준 모델로 테스트 : 기본 ifcopenshell 주택 모델( AC20-FZK-Haus.ifc )로 작동하는 것이 검증되었습니다.

구성 요소

이 시스템은 두 가지 주요 구성 요소로 구성됩니다.

  1. Blender 애드온( addon.py ) : IFC 관련 작업을 포함하여 명령을 수신하고 실행하기 위해 Blender 내에 소켓 서버를 생성하는 Blender 애드온입니다.
  2. MCP 서버( blender_mcp_tools.py ) : 모델 컨텍스트 프로토콜을 구현하고 Blender 애드온에 연결하는 Python 서버

설치

필수 조건

  • 블렌더 3.0 이상
  • Python 3.10 이상
  • uv 패키지 관리자
  • Blender용 Bonsai BIM 애드온(IFC 기능용)

uv 설치:

스코틀랜드 사람:

지엑스피1

윈도우:

powershell -c "irm https://astral.sh/uv/install.ps1 | iex" set Path=C:\Users\[username]\.local\bin;%Path%

다른 플랫폼의 경우 uv 설치 가이드를 참조하세요.

저장소를 복제합니다

git clone https://github.com/JotaDeRodriguez/Bonsai_mcp

데스크톱 통합을 위한 Claude

claude_desktop_config.json 파일을 편집하여(Claude > 설정 > 개발자 > 구성 편집) 다음을 포함합니다.

{ "mcpServers": { "Bonsai-mcp": { "command": "uv", "args": [ "--directory", "\\your\\path\\to\\Bonsai_mcp", "run", "tools.py" ] } } }

블렌더 애드온 설치

  1. 이 저장소에서 addon.py 파일을 다운로드하세요
  2. 블렌더 열기
  3. 편집 > 기본 설정 > 추가 기능으로 이동하세요.
  4. "설치..."를 클릭하고 addon.py 파일을 선택하세요
  5. "인터페이스: Blender MCP - IFC" 옆의 상자를 체크하여 애드온을 활성화하세요.

용법

연결 시작

  1. Blender에서 3D 보기 사이드바로 이동합니다(표시되지 않으면 N을 누르세요)
  2. "Blender MCP - IFC" 탭을 찾으세요
  3. "Claude에게 연결"을 클릭하세요
  4. MCP 서버가 실행 중인지 확인하세요

Claude와 함께 사용

연결되면 Claude의 인터페이스에 Blender MCP IFC 통합을 위한 도구와 함께 망치 아이콘이 표시됩니다.

IFC 도구

이 포크는 5가지 강력한 IFC 전용 도구를 추가합니다.

1. get_ifc_project_info

이름, 설명, 다양한 엔터티 유형의 수를 포함하여 IFC 프로젝트에 대한 기본 정보를 알아보세요.

예: "이 IFC 프로젝트에 대한 기본 정보는 무엇입니까?"

2. 리스트_ifc_엔터티

특정 유형(벽, 문, 공간 등)의 IFC 엔터티를 나열합니다.

예: "IFC 모델의 모든 벽을 나열하세요" 또는 "이 건물의 창문을 보여주세요"

3. get_ifc_properties

GlobalId로 특정 IFC 엔터티의 모든 속성을 가져옵니다.

예: "ID가 1Dvrgv7Tf5IfTEapMkwDQY인 이 벽의 속성은 무엇입니까?"

4. get_ifc_spatial_structure

IFC 모델의 공간적 계층 구조(부지, 건물, 층수, 공간)를 파악합니다.

예: "이 건물의 공간 구조를 보여주세요"

5. get_ifc_relationships

특정 IFC 엔터티에 대한 모든 관계를 가져옵니다.

예: "현관문의 관계는 무엇입니까?"

블렌더 코드 실행

원래 MCP 구현의 레거시 기능입니다. Claude가 Blender에서 임의의 Python 코드를 실행할 수 있도록 합니다. 주의해서 사용하세요.

순차적 사고 도구

이러한 통합에는 문제 해결 및 분석을 위한 세부적이고 단계별 사고 과정을 용이하게 하는 순차적 사고 도구도 포함됩니다.

도구 매개변수:

  • thought (문자열): 현재 생각 단계
  • nextThoughtNeeded (부울): 다른 사고 단계가 필요한지 여부
  • thoughtNumber (정수): 현재 생각 번호
  • totalThoughts (정수): 필요한 총 생각 수 추정
  • isRevision (부울, 선택 사항): 이것이 이전 생각을 수정하는지 여부
  • revisesThought (정수, 선택 사항): 어떤 생각이 재고되고 있는가
  • branchFromThought (정수, 선택 사항): 분기점 생각 번호
  • branchId (문자열, 선택 사항): 지점 식별자
  • needsMoreThoughts (부울, 선택 사항): 더 많은 생각이 필요한 경우

예: "순차적 사고를 사용하여 이 건물의 에너지 효율성을 분석하세요"

예제 명령

다음은 Claude에게 IFC 모델을 사용하여 수행할 수 있는 작업의 몇 가지 예입니다.

  • "IFC 모델을 분석하고 벽, 문, 창문이 몇 개 있는지 알려주세요."
  • "이 건물 모델의 공간 구조를 보여주세요"
  • "이 IFC 모델의 모든 공간과 해당 속성을 나열하세요"
  • "이 건물의 모든 구조적 요소를 식별하세요"
  • "이 벽과 다른 요소들 사이의 관계는 무엇인가?"
  • "IFC 모델을 기반으로 이 건물에 대한 유지관리 계획을 수립하기 위해 순차적 사고를 활용하세요."

문제 해결

  • 연결 문제 : Blender 애드온 서버가 실행 중이고 MCP 서버가 Claude에 구성되어 있는지 확인하세요.
  • IFC 모델이 로드되지 않음 : Bonsai BIM 애드온이 설치되어 있고 IFC 파일이 로드되었는지 확인하세요.
  • 시간 초과 오류 : 요청을 단순화하거나 더 작은 단계로 나누어보세요.

기술적 세부 사항

IFC 통합은 Bonsai BIM 모듈을 사용하여 Blender의 ifcopenshell 기능에 접근합니다. 통신은 기존 BlenderMCP와 마찬가지로 TCP 소켓을 통한 JSON 기반 프로토콜을 따릅니다.

제한 사항 및 보안 고려 사항

  • 원래 프로젝트의 execute_blender_code 도구는 여전히 사용 가능하며, Blender에서 임의의 Python 코드를 실행할 수 있습니다. 주의해서 사용하고 작업 내용을 항상 저장하세요.
  • 복잡한 IFC 모델의 경우 작업을 더 작은 단계로 나누어야 할 수도 있습니다.
  • IFC 쿼리 성능은 모델 크기와 복잡성에 따라 달라집니다.

크레딧

할 일

커서 구현 'get_selected_ifc_elements' 설명 추가

-
security - not tested
A
license - permissive license
-
quality - not tested

Claude와 Blender를 통합하는 모델 컨텍스트 프로토콜 서버로, 사용자는 자연어 명령을 통해 IFC(Industry Foundation Classes) 빌딩 모델을 분석하고 상호 작용할 수 있습니다.

  1. Features
    1. Components
      1. Installation
        1. Prerequisites
        2. Clone the repository
        3. Claude for Desktop Integration
        4. Installing the Blender Addon
      2. Usage
        1. Starting the Connection
        2. Using with Claude
      3. IFC Tools
        1. 1. get_ifc_project_info
        2. 2. list_ifc_entities
        3. 3. get_ifc_properties
        4. 4. get_ifc_spatial_structure
        5. 5. get_ifc_relationships
      4. Excecute Blender Code
        1. Sequential Thinking Tool
          1. Tool parameters:
        2. Example Commands
          1. Troubleshooting
            1. Technical Details
              1. Limitations & Security Considerations
                1. Credits
                  1. TODO
                    ID: d7w1e52hby