Skip to main content
Glama
kbangaru-cyber

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개 도구)

도구

설명

create_point, create_points

단일 또는 일괄 점 생성

create_line, create_polyline

선 및 폴리라인

create_curve

보간된 NURBS 커브

create_circle, create_arc, create_ellipse

원형 지오메트리

create_rectangle

사각형 폴리라인

create_sphere, create_box, create_cylinder, create_cone, create_torus

솔리드 프리미티브

create_extrusion, create_pipe

커브를 따른 돌출 및 파이프

create_surface_from_points, create_mesh

NURBS 서피스 및 메시

create_text

텍스트 점

create_loft

단면을 통한 로프트 서피스

create_sweep1, create_sweep2

단일 및 이중 레일 스윕

create_revolve

축을 중심으로 프로파일 회전

create_planar_surface, create_patch

평면 및 패치 서피스

변환 (8개 도구)

move, rotate, scale, scale_non_uniform, mirror, copy, array_linear, array_polar

불리언 연산 (3개 도구)

boolean_union, boolean_difference, boolean_intersection

수정 (18개 도구)

도구

설명

delete, set_color, set_material, set_name, set_layer

기본 수정

group, ungroup

그룹화

join, explode

지오메트리 결합 및 분해

trim, split

커브 트림 및 분할

offset_curve, offset_surface

지오메트리 오프셋

fillet_edge, chamfer_edge, fillet_curves

모서리 처리

cap_planar_holes

열린 브렙 캡

extend_curve, rebuild_curve

커브 편집

project_to_surface

서피스에 커브 투영

duplicate_edge, duplicate_border

모서리/경계 추출

블록 및 인스턴스 (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개 도구)

도구

설명

get_bounding_box, get_area, get_volume, get_length

측정

distance, closest_point

공간 쿼리

intersect

객체 간 교차점 찾기

get_curvature

곡률 분석

is_point_on_surface, is_point_in_solid

점 포함 테스트

진단 (4개 도구)

도구

설명

check_objects

유효성 확인, 불량 지오메트리 찾기

get_naked_edges

서피스의 틈 찾기

check_mesh

메시 품질 분석

repair_mesh

메시 문제 자동 수정

뷰 (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 sync

2. Rhino 리스너 시작

Rhino에서:

  1. 도구 > PythonScript > 실행으로 이동

  2. rhino/listener.py 선택

  3. 다음이 표시되어야 합니다:

============================================================
  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://scene/info

현재 씬 개요

rhino://layers

레이어 트리

rhino://materials

재질 목록

rhino://blocks

블록 정의

구성

환경 변수

기본값

설명

RHINO_MCP_HOST

127.0.0.1

Rhino 리스너 호스트

RHINO_MCP_PORT

9876

Rhino 리스너 포트

RHINO_MCP_TIMEOUT

30

명령 시간 초과 (초)

개발

# 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 플러그인.

A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    13
    91
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    GOLEM-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.
    12
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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