RhinoMCP
RhinoMCP: Rhino 3D용 MCP 서버
105개의 도구로 Model Context Protocol을 통한 AI 기반 3D 모델링, 분석, 진단 및 Grasshopper 통합을 지원합니다.
RhinoMCP는 기본 프리미티브부터 고급 서피스 모델링(loft, sweep, revolve), 불리언 연산, 메시 진단, 블록 관리, Grasshopper를 통한 파라메트릭 디자인까지 포괄하는 다양한 도구 세트로 Claude를 Rhino 3D에 연결합니다.
아키텍처
┌────────────────┐ stdio ┌──────────────┐ TCP/JSON ┌──────────────┐
│ Claude Desktop │◄──────────►│ rhino_mcp │◄─────────────►│ Rhino 3D │
│ │ (MCP) │ (Python) │ localhost: │ listener.py │
│ │ │ server.py │ 9876 │ (inside │
└────────────────┘ └──────────────┘ │ Rhino) │
└──────────────┘MCP 서버 (rhino_mcp/). FastMCP를 사용하는 Python 패키지입니다. stdio를 통해 Claude와 통신하고 TCP를 통해 Rhino와 통신합니다.
Rhino 리스너 (rhino/listener.py). Rhino 내부에서 실행되는 Python 스크립트입니다. TCP 서버를 열고 JSON 명령을 수신하여 RhinoCommon/rhinoscriptsyntax를 사용해 실행하고 결과를 반환합니다.
Related MCP server: Grasshopper MCP
기능
지오메트리 생성 (21개 도구)
도구 | 설명 |
| 단일 또는 일괄 점 생성 |
| 선 및 폴리라인 |
| 보간된 NURBS 커브 |
| 원형 지오메트리 |
| 사각형 폴리라인 |
| 솔리드 프리미티브 |
| 커브를 따른 돌출 및 파이프 |
| NURBS 서피스 및 메시 |
| 텍스트 점 |
| 단면을 통한 로프트 서피스 |
| 단일 및 이중 레일 스윕 |
| 축을 중심으로 프로파일 회전 |
| 평면 및 패치 서피스 |
변환 (8개 도구)
move, rotate, scale, scale_non_uniform, mirror, copy, array_linear, array_polar
불리언 연산 (3개 도구)
boolean_union, boolean_difference, boolean_intersection
수정 (18개 도구)
도구 | 설명 |
| 기본 수정 |
| 그룹화 |
| 지오메트리 결합 및 분해 |
| 커브 트림 및 분할 |
| 지오메트리 오프셋 |
| 모서리 처리 |
| 열린 브렙 캡 |
| 커브 편집 |
| 서피스에 커브 투영 |
| 모서리/경계 추출 |
블록 및 인스턴스 (4개 도구)
create_block, insert_block, list_blocks, explode_block
사용자 데이터 (2개 도구)
set_user_text, get_user_text: 메타데이터, BIM 데이터, 비용 등을 저장합니다.
레이어 (6개 도구)
list_layers, create_layer, delete_layer, set_layer_color, set_layer_visibility, set_current_layer
재질 (3개 도구)
list_materials, create_material, assign_material
분석 (10개 도구)
도구 | 설명 |
| 측정 |
| 공간 쿼리 |
| 객체 간 교차점 찾기 |
| 곡률 분석 |
| 점 포함 테스트 |
진단 (4개 도구)
도구 | 설명 |
| 유효성 확인, 불량 지오메트리 찾기 |
| 서피스의 틈 찾기 |
| 메시 품질 분석 |
| 메시 문제 자동 수정 |
뷰 (5개 도구)
zoom_extents, set_view, capture_view (base64 옵션 포함), list_views, set_display_mode
Grasshopper (3개 도구)
gh_run_script, gh_set_slider, gh_get_outputs
코드 실행 (2개 도구)
run_python, run_command: rhinoscriptsyntax 및 RhinoCommon에 대한 전체 액세스
실행 취소/다시 실행 (2개 도구)
undo, redo
씬 (4개 도구)
scene_info, get_objects, get_object (모서리 정보 포함 상세), select_objects
가져오기/내보내기 (2개 도구)
export (.3dm, .obj, .stl, .step, .iges, .fbx), import_file
굵게 = v2.0의 새로운 기능
사전 요구 사항
Rhino 7 또는 8 (Windows 또는 Mac)
Python 3.10+
uv 패키지 관리자 (설치)
설치
1. 클론 및 설치
git clone https://github.com/kbangaru-cyber/rhino-mcp.git
cd Rhino_MCP
uv sync2. Rhino 리스너 시작
Rhino에서:
도구 > PythonScript > 실행으로 이동
rhino/listener.py선택다음이 표시되어야 합니다:
============================================================
RhinoMCP Listener v2.0.0
Listening on 127.0.0.1:9876
Registered handlers: 90
Ready for MCP connection (Claude)
============================================================3. Claude Desktop 구성
Claude Desktop
claude_desktop_config.json 편집:
{
"mcpServers": {
"rhino": {
"command": "uv",
"args": ["--directory", "/ABSOLUTE/PATH/TO/Rhino_MCP", "run", "rhino-mcp"],
"env": {
"RHINO_MCP_HOST": "127.0.0.1",
"RHINO_MCP_PORT": "9876",
"RHINO_MCP_TIMEOUT": "30"
}
}
}
}사용 예시
간단한 건물 형태 만들기
"건물 볼륨으로 10x8x4미터 박스를 만들고, 중앙에 반지름 2, 높이 6의 실린더를 타워로 추가하세요. 함께 유니온하고 반지름 0.3으로 모든 모서리를 필렛하세요."
모델 문제 진단
"씬의 모든 객체에 문제가 있는지 확인하세요. 열린 모서리를 찾아 무엇을 수정해야 하는지 알려주세요."
파라메트릭 디자인
"프로파일 커브를 만들고 회전시켜 꽃병 형태를 만드세요. 그런 다음 주변에 장식용 실린더의 극좌표 배열을 만드세요."
내장 프롬프트
RhinoMCP는 안내된 워크플로우 프롬프트를 포함합니다:
model-from-description: 텍스트 설명에서 3D 모델을 생성하는 구조화된 워크플로우diagnose-model: 모델 문제를 찾고 수정하는 체계적인 접근 방식parametric-design: Grasshopper/파라메트릭 워크플로우 가이드
리소스
서버는 실시간 데이터를 MCP 리소스로 노출합니다:
URI | 설명 |
| 현재 씬 개요 |
| 레이어 트리 |
| 재질 목록 |
| 블록 정의 |
구성
환경 변수 | 기본값 | 설명 |
|
| Rhino 리스너 호스트 |
|
| Rhino 리스너 포트 |
|
| 명령 시간 초과 (초) |
개발
# Install dev dependencies
uv sync --extra dev
# Run tests (no Rhino needed)
uv run pytest -v
# Lint
uv run ruff check .
# Type check
uv run mypy rhino_mcp통합 테스트
Rhino가 실행 중이고 리스너가 활성화된 상태에서:
uv run pytest -v -m integration프로토콜
명령은 TCP를 통해 전송되는 JSON 객체입니다 (줄바꿈 구분):
{"id": "abc123", "action": "create_sphere", "params": {"center": [0,0,0], "radius": 5}}응답:
{"id": "abc123", "ok": true, "result": {"guid": "d3e4f5..."}}스레드 안전성
Rhino 리스너는 Rhino 8+에서 Rhino.RhinoApp.InvokeOnUiThread()를 사용하여 모든 지오메트리 연산이 UI 스레드에서 실행되도록 보장합니다. Rhino 7에서는 연산이 직접 실행됩니다 (단일 클라이언트 연결에 안전함).
라이선스
MIT. LICENSE 참조.
작성자
Karthick Raja B G, 포트폴리오 · GitHub
관련 프로젝트: SPIDER, 계산 기하학 및 공간 분석을 위한 Grasshopper 플러그인.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceConnects Rhino3D to Claude AI via the Model Context Protocol, enabling AI-assisted 3D modeling and design workflows through direct control of Rhino's functionality.12
- AlicenseNot gradedqualityCmaintenanceEnables AI-powered computational design in Rhino/Grasshopper with ML-based automatic layout optimization, component clustering, performance prediction, and real-time code execution in running Rhino instances.16MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to interact with Autodesk Revit to query project data, manage elements, and execute generated code via the Model Context Protocol. It provides full compatibility with GitHub Copilot and Claude to automate BIM modeling workflows.1391MIT
- AlicenseNot gradedqualityBmaintenanceGOLEM-3DMCP implements the Model Context Protocol to give AI agents direct, programmatic control of Rhino 8 — create geometry, run booleans, drive Grasshopper, capture viewports, and execute arbitrary Python scripts, all through natural language. Works with Claude Code, Cursor, Windsurf, and any MCP-compatible host.12MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.
Free OpenAI-compatible inference with signed provenance receipts and 3 focused MCP tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kbangaru-cyber/Rhino-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server