OpenSCAD MCP 서버
사용자가 텍스트 설명이나 이미지에서 3D 모델을 생성할 수 있도록 하는 MCP(Model Context Protocol) 서버로, 다중 뷰 재구성과 OpenSCAD를 사용하여 매개 변수 3D 모델을 만드는 데 중점을 둡니다.
특징
AI 이미지 생성 : Google Gemini 또는 Venice.ai API를 사용하여 텍스트 설명에서 이미지 생성
다중 뷰 이미지 생성 : 재구성을 위해 동일한 3D 객체의 다중 뷰를 생성합니다.
이미지 승인 워크플로 : 재구성 전 생성된 이미지를 검토하고 승인/거부합니다.
3D 재구성 : CUDA Multi-View Stereo를 사용하여 승인된 다중 뷰 이미지를 3D 모델로 변환
원격 처리 : LAN 내의 원격 서버에서 계산 집약적 작업을 처리합니다.
OpenSCAD 통합 : OpenSCAD를 사용하여 매개변수 3D 모델 생성
매개변수 내보내기 : 매개변수 속성을 유지하는 형식(CSG, AMF, 3MF, SCAD)으로 모델을 내보냅니다.
3D 프린터 검색 : 선택적 네트워크 프린터 검색 및 직접 인쇄
건축학
서버는 Python MCP SDK를 사용하여 구축되었으며 모듈식 아키텍처를 따릅니다.
지엑스피1
설치
저장소를 복제합니다.
git clone https://github.com/jhacksman/OpenSCAD-MCP-Server.git cd OpenSCAD-MCP-Server가상 환경 만들기:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate종속성 설치:
pip install -r requirements.txtOpenSCAD 설치:
우분투/데비안:
sudo apt-get install openscad
macOS:
brew install openscad
Windows: openscad.org 에서 다운로드
CUDA Multi-View Stereo 설치:
git clone https://github.com/fixstars/cuda-multi-view-stereo.git cd cuda-multi-view-stereo mkdir build && cd build cmake .. makeAPI 키 설정:
루트 디렉토리에
.env
파일을 만듭니다.API 키를 추가하세요:
GEMINI_API_KEY=your-gemini-api-key VENICE_API_KEY=your-venice-api-key # Optional REMOTE_CUDA_MVS_API_KEY=your-remote-api-key # For remote processing
원격 처리 설정
이 서버는 연산 집약적인 작업, 특히 CUDA 멀티뷰 스테레오 재구성의 원격 처리를 지원합니다. 이를 통해 LAN 내의 더 강력한 머신으로 처리 부담을 덜 수 있습니다.
서버 설정(CUDA GPU가 있는 머신에서)
서버 머신에 CUDA Multi-View Stereo를 설치하세요:
git clone https://github.com/fixstars/cuda-multi-view-stereo.git cd cuda-multi-view-stereo mkdir build && cd build cmake .. make원격 CUDA MVS 서버를 시작합니다.
python src/main_remote.py서버는 Zeroconf를 사용하여 로컬 네트워크에 자동으로 자신을 광고합니다.
클라이언트 구성
.env
파일에서 원격 처리를 구성하세요.REMOTE_CUDA_MVS_ENABLED=True REMOTE_CUDA_MVS_USE_LAN_DISCOVERY=True REMOTE_CUDA_MVS_API_KEY=your-shared-secret-key또는 서버 URL을 직접 지정할 수 있습니다.
REMOTE_CUDA_MVS_ENABLED=True REMOTE_CUDA_MVS_USE_LAN_DISCOVERY=False REMOTE_CUDA_MVS_SERVER_URL=http://server-ip:8765 REMOTE_CUDA_MVS_API_KEY=your-shared-secret-key
원격 처리 기능
자동 서버 검색 : 로컬 네트워크에서 CUDA MVS 서버 찾기
작업 관리 : 이미지 업로드, 작업 상태 추적 및 결과 다운로드
장애 허용 : 자동 재시도, 회로 차단기 패턴 및 오류 추적
인증 : 모든 원격 작업에 대한 보안 API 키 인증
상태 모니터링 : 지속적인 서버 상태 점검 및 상태 보고
용법
서버를 시작합니다:
python src/main.py서버는 http://localhost:8000 에서 시작됩니다.
MCP 도구를 사용하여 서버와 상호 작용합니다.
generate_image_gemini : Google Gemini API를 사용하여 이미지 생성
{ "prompt": "A low-poly rabbit with black background", "model": "gemini-2.0-flash-exp-image-generation" }generate_multi_view_images : 동일한 3D 객체의 여러 뷰를 생성합니다.
{ "prompt": "A low-poly rabbit", "num_views": 4 }create_3d_model_from_images : 승인된 다중 뷰 이미지에서 3D 모델을 만듭니다.
{ "image_ids": ["view_1", "view_2", "view_3", "view_4"], "output_name": "rabbit_model" }create_3d_model_from_text : 텍스트에서 3D 모델로의 완전한 파이프라인
{ "prompt": "A low-poly rabbit", "num_views": 4 }export_model : 모델을 특정 형식으로 내보냅니다.
{ "model_id": "your-model-id", "format": "obj" // or "stl", "ply", "scad", etc. }discover_remote_cuda_mvs_servers : 네트워크에서 CUDA MVS 서버를 찾습니다.
{ "timeout": 5 }get_remote_job_status : 원격 처리 작업의 상태를 확인합니다.
{ "server_id": "server-id", "job_id": "job-id" }download_remote_model_result : 원격 서버에서 완성된 모델을 다운로드합니다.
{ "server_id": "server-id", "job_id": "job-id", "output_name": "model-name" }discover_printers : 네트워크에서 3D 프린터를 검색합니다.
{}print_model : 연결된 프린터에서 모델을 인쇄합니다.
{ "model_id": "your-model-id", "printer_id": "your-printer-id" }
이미지 생성 옵션
서버는 다양한 이미지 생성 옵션을 지원합니다.
Google Gemini API (기본값): 고품질 이미지 생성을 위해 Gemini 2.0 Flash 실험 모델을 사용합니다.
일관된 스타일로 다중 뷰 생성을 지원합니다.
Google Gemini API 키가 필요합니다.
Venice.ai API (선택 사항): 대체 이미지 생성 서비스
flux-dev 및 fluently-xl을 포함한 다양한 모델을 지원합니다.
Venice.ai API 키가 필요합니다
사용자 제공 이미지 : 이미지 생성을 건너뛰고 사용자 고유의 이미지를 사용하세요
이미지를 서버에 직접 업로드
기존 사진이나 렌더링 작업에 유용합니다.
다중 뷰 워크플로
서버는 3D 재구성을 위한 다중 뷰 워크플로를 구현합니다.
이미지 생성 : 동일한 3D 객체의 여러 뷰 생성
이미지 승인 : 생성된 각 이미지를 검토하고 승인/거부합니다.
3D 재구성 : CUDA MVS를 사용하여 승인된 이미지를 3D 모델로 변환
LAN 내의 로컬 또는 원격 서버에서 처리 가능
모델 개선 : OpenSCAD를 사용하여 선택적으로 모델을 개선합니다.
원격 처리 워크플로
원격 처리 워크플로를 사용하면 계산 집약적 작업을 더욱 강력한 머신으로 오프로드할 수 있습니다.
서버 검색 : 네트워크에서 CUDA MVS 서버를 자동으로 검색합니다.
이미지 업로드 : 승인된 멀티뷰 이미지를 원격 서버에 업로드합니다.
작업 처리 : CUDA MVS를 사용하여 원격 서버의 이미지를 처리합니다.
상태 추적 : 작업 상태 및 진행 상황을 모니터링합니다.
결과 다운로드 : 처리가 완료되면 완성된 3D 모델을 다운로드합니다.
지원되는 내보내기 형식
서버는 다양한 형식으로 모델을 내보내는 것을 지원합니다.
OBJ : Wavefront OBJ 포맷(표준 3D 모델 포맷)
STL : 표준 삼각형 언어(3D 프린팅용)
PLY : 폴리곤 파일 형식(포인트 클라우드 및 메시용)
SCAD : OpenSCAD 소스 코드(매개변수 모델용)
CSG : OpenSCAD CSG 형식(모든 매개변수 속성 유지)
AMF : 적층 제조 파일 형식(일부 메타데이터 보존)
3MF : 3D 제조 포맷(메타데이터를 포함한 STL의 최신 대체 포맷)
웹 인터페이스
서버는 다음을 위한 웹 인터페이스를 제공합니다.
다중 뷰 이미지 생성 및 승인
다양한 각도에서 3D 모델 미리 보기
다양한 형식의 모델 다운로드
http://localhost:8000/ui/ 에서 인터페이스에 접속하세요
특허
MIT
기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
AI 이미지 생성 및 원격 처리를 지원하며, 다중 뷰 재구성과 OpenSCAD를 사용하여 사용자가 텍스트 설명이나 이미지에서 매개 변수 3D 모델을 생성할 수 있도록 합니다.
Related MCP Servers
- -securityFlicense-qualityEnables AI assistants to interact programmatically with Autodesk Fusion 360 for creating parametric 3D models through simple API calls.Last updated -14
- -securityAlicense-qualityA tool integration that wraps Tripo3D API capabilities for 3D model generation, texturing, animation, and format conversion, supporting text/image-to-3D workflows via natural language commands.Last updated -2MIT License
- -securityAlicense-qualityA server based on Model Context Protocol that processes and parses design files (Vextra/Figma/Sketch/SVG), enabling AI assistants to access and manipulate design content.Last updated -3AGPL 3.0
- AsecurityFlicenseAqualityProvides OpenSCAD rendering capabilities through a Model Context Protocol interface, allowing users to generate PNG images from OpenSCAD code without a GUI.Last updated -1