Skip to main content
Glama

RhinoMCP

by reer-ide
MIT License

RhinoMCP - Rhino モデルコンテキストプロトコル統合

このプロジェクトはREER, INC.によって開発され、コミュニティが利用およびテストできるように公開されています。RhinoMCPの機能改善と拡張にご協力いただける貢献者を歓迎します。RhinoMCPは、Model Context Protocol(MCP)を介してRhino、GrasshopperなどをClaude AIに接続し、ClaudeがRhinoを直接操作できるようにします。この統合により、プロンプトによる支援を受けた3Dモデリング、シーン作成、および操作が可能になります。( blender_mcpに触発されました)

このプロジェクトでは、次の 2 つのサーバー実装が提供されます。

  • Claude Desktop 統合用の標準 Stdio プロトコル MCP サーバー
  • カスタム Web クライアント統合用の SSE (サーバー側イベント) プロトコル サーバー

特徴

ライノ
  • 双方向通信: ソケットベースのサーバーを介してClaude AIをRhinoに接続します
  • オブジェクトの操作と管理:メタデータを含む Rhino での 3D オブジェクトの作成と変更
  • レイヤー管理: Rhino レイヤーの表示と操作
  • シーン検査: 現在の Rhino シーンの詳細情報を取得します (スクリーンキャプチャを含む)
  • コード実行: Claude の Rhino で任意の Python コードを実行する
  • オブジェクトの選択: Rhinoで現在選択されているオブジェクトに関する情報を取得します
  • RhinoScriptSyntaxドキュメント: RhinoScriptSyntaxのドキュメントを参照します
グラスホッパー(開発中)

重要事項:Claude では Grasshopper 統合ツールが利用可能のように見えますが、現在開発中であり、完全にはご利用いただけません。今後のリリースで Grasshopper の完全な機能を実装できるよう取り組んでいます。

コンポーネント

このシステムは、次の 2 つの主要コンポーネントで構成されています。

  1. Rhino 側スクリプト ( rhino_script.py ) : Rhino 内で実行され、コマンドを受信して実行するソケット サーバーを作成する Python スクリプト
  2. MCP サーバー ( rhino_mcp/server.py ) : モデルコンテキストプロトコルを実装し、Rhino スクリプトに接続する Python サーバー

インストール

前提条件

  • Rhino 7以降
  • Python 3.10以降
  • UVパッケージマネージャー
  • Conda(環境管理用)または既存のPythonインストール

インストールオプション

uvをインストールする

Mac を使用している場合は、ターミナルを開いて次のコマンドを実行します。

wget -qO- https://astral.sh/uv/install.sh | sh

WindowsではPowershellを開いて実行します

irm https://astral.sh/uv/install.ps1 | iex

それ以外の場合、インストール手順はウェブサイトに掲載されています: Install uv

⚠️UVをインストールする前に続行しないでください

オプション 1: uvx/pip を使用したクイックインストール (推奨)

まず、Claude Desktop と統合する必要があります。

  1. Claude Desktop > 設定 > 開発者 > 設定の編集に移動します
  2. claude_desktop_config.jsonファイルを開き、次の構成を追加します。
{ "mcpServers": { "rhino": { "command": "uvx", "args": ["reer-rhino-mcp"] } } }
  1. ファイルを保存する

カーソルを使用する場合:Macユーザーの場合は、「設定」>「MCP」に移動し、次のコードを貼り付けます。

  • グローバルサーバーとして使用するには、「新しいグローバルMCPサーバーを追加」ボタンを使用して貼り付けます。
  • プロジェクト固有のサーバーとして使用するには、プロジェクトのルートに.cursor/mcp.jsonを作成し、貼り付けます。
{ "mcpServers": { "rhino": { "command": "uvx", "args": [ "reer-rhino-mcp" ] } } }

Windows ユーザーの場合は、[設定] > [MCP] > [サーバーの追加] に移動し、次の設定で新しいサーバーを追加します。

{ "mcpServers": { "rhino": { "command": "cmd", "args": [ "/c", "uvx", "reer-rhino-mcp" ] } } }

次に、Rhino 側のスクリプトをインストールします。

  1. リポジトリからrhino_script.pyファイルをダウンロードします。
  2. オープンライノ
  3. Rhino 7の場合:
    • Python エディターを開きます。
      • 「ツール」メニューをクリックします
      • 「Pythonエディタ」を選択します(またはCtrl+Alt+P / Cmd+Alt+Pを押します)。
    • Python エディターの場合:
      • 「ファイル」>「開く」をクリックします
      • rhino_script.pyに移動して選択します。
      • 「実行」をクリック(またはF5キーを押す)
  4. Rhino 8の場合:
    • 「ツール」メニューをクリックします
    • 「RhinoScript」>「実行」を選択
    • rhino_script.pyに移動して選択します。
  5. スクリプトは自動的に開始され、Python エディターに次のメッセージが表示されます。
    RhinoMCP script loaded. Server started automatically. To stop the server, run: stop_server()

最後に、Claude Desktopを再起動すると、MCPサーバーが自動的に起動し、Rhinoに接続します。

この方法は、ソース コードを変更せずに RhinoMCP を使用したいほとんどのユーザーに推奨されます。

この方法については、ビデオ チュートリアルもご覧ください。

オプション2: ローカル開発インストール

ソースコードを変更したり、プロジェクトに貢献したりしたい場合は、開発モードでインストールできます。

リポジトリをクローンする

Condaの使用
  1. Python 3.10 で新しい conda 環境を作成します。
    conda create -n rhino_mcp python=3.10 conda activate rhino_mcp
  2. uvパッケージ マネージャーをインストールします。
    pip install uv
  3. 開発モードでパッケージをインストールします。
    uv pip install -e .
既存のPythonインストールの使用

Python がすでにインストールされている場合は、MCP サーバーをベース環境に直接インストールできます。

  1. 開発モードでパッケージをインストールします。
    pip install -e .
  2. Claude Desktop の設定では、Python インストールへの正しいシステムパスを見つける必要があります。これは次のコマンドで確認できます。
    which python # On macOS/Linux where python # On Windows
クロードデスクトップ統合

オプション 1 と同じですが、 claude_desktop_config.jsonファイルで Python インタープリターへのフル パスを指定する必要があります。

{ "mcpServers": { "rhino": { "command": "/your/python/path", "args": ["-m", "rhino_mcp.server"] } } }

Python パスの例:

  • Windows: C:\\Users\\username\\anaconda3\\envs\\rhino_mcp\\python.exe
  • macOS: /Users/username/anaconda3/envs/rhino_mcp/bin/python

必ず次の点に注意してください:

  • Python パスを、conda 環境の Python へのパス、または 2 番目の方法を使用する場合はシステム Python へのパスに置き換えます。
  • ファイルを保存し、Claude Desktopを再起動します。

重要な注意: conda 環境を使用している場合は、上記のように Python インタープリターへのフルパスを指定する必要があります。

SSE (サーバー側イベント) プロトコル Rhino MCP サーバー

SSEサーバーは、Rhino MCPサーバーの代替実装であり、サーバーサイドイベントを使用してリアルタイム通信を行います。このサーバーは127.0.0.1:8080で動作し、カスタムWebクライアントと連携するように設計されています。標準のMCPサーバーと同じ機能を提供しますが、Webベースのアプリケーションに適した異なるトランスポートプロトコルを使用します。

SSE サーバーを使用するには:

  1. python -m rhino_mcp.server_sseを使用してサーバーを実行します。
  2. Webクライアントをws://127.0.0.1:8080/sseに接続します。
  3. http://127.0.0.1:8080/messages/にメッセージを送信します

SSE サーバーは、標準の MCP サーバーと同じ Rhino 操作をすべてサポートしているため、Rhino コントロール用のカスタム Web インターフェイスの構築に最適です。

使用法

クロードと一緒に使う

接続すると、Claude または他の LLM は次の MCP ツールを使用できるようになります。

  • get_rhino_scene_info() : レイヤーとサンプルオブジェクトに焦点を当てた簡略化されたシーン情報を取得します。
  • get_rhino_layers() : Rhinoシーン内のすべてのレイヤーに関する情報を取得します
  • execute_code(code) : Rhinoで任意のPythonコードを実行する
  • get_rhino_objects_with_metadata(filters, metadata_fields) : シーン内のオブジェクトに関する詳細情報をメタデータとともに取得します。オプションでフィルタリングも可能です。
  • capture_rhino_viewport(layer, show_annotations, max_size) : オプションの注釈とレイヤーフィルタリングを使用してビューポートをキャプチャします。
  • get_rhino_selected_objects(include_lights, include_grips) : Rhinoビューポートで現在選択されているオブジェクトに関する情報を取得します。
  • look_up_RhinoScriptSyntax(function_name) : Rhino3D開発者ウェブサイトからRhinoScriptSyntax関数のドキュメントを直接参照します。

コマンド例

クロードに依頼できる作業の例をいくつか示します。

  • 「現在のRhinoシーンに関する情報を入手する」
  • 「原点に立方体を作成する」
  • 「Rhinoドキュメント内のすべてのレイヤーを取得する」
  • 「この Python コードを Rhino で実行します: ...」
  • 「Rhino で選択した壁の寸法を教えていただけますか?」
  • 「Rhinoで選択したフロアの表面積を計算するのを手伝ってください」
  • 「SelectedObjects関数のドキュメントを表示してください」
  • 「Rhino スクリプトで AddCylinder 関数を使用するにはどうすればよいですか?」
  • ...

貢献

RhinoMCPプロジェクトへの貢献を歓迎します!ご興味をお持ちいただけましたら、以下の方法で貢献いただけます。

  1. バグレポート: バグを見つけた場合は、問題の詳細な説明と再現手順を記載した問題を作成してください。
  2. 機能リクエスト: 新しい機能のアイデアをお持ちですか? 問題を開いて議論しましょう。
  3. コードの貢献: 機能を追加したり、バグを修正したりしたいですか?
    • リポジトリをフォークする
    • 変更用の新しいブランチを作成する
    • 変更内容を明確に記述したプルリクエストを送信します

コードが既存のスタイルに従っており、適切なドキュメントが含まれていることを確認してください。

免責事項

本ソフトウェアは、明示的または黙示的を問わず、いかなる種類の保証もなく、「現状のまま」提供されます。REER, INC. は、品質、信頼性、互換性、特定目的への適合性など、本ソフトウェアに関して一切の保証、表明、または保証を行いません。

このソフトウェアを使用することにより、お客様は、REER, INC. が、ソフトウェアの使用または使用不能から生じる直接的、間接的、偶発的、特別、または結果的な損害に対して責任を負わないことを認め、同意するものとします。

このプロジェクトは現在開発中であり、バグや不完全な機能が含まれている可能性があります。品質と信頼性の向上に努めておりますが、本番環境での実装には十分な注意を払ってください。

関連ドキュメントとリソース

-
security - not tested
-
license - not tested
-
quality - not tested

Rhino と Grasshopper を Claude AI に接続し、Rhino 環境との直接的な AI 対話を通じてプロンプト支援による 3D モデリング、シーン作成、および操作を可能にするモデル コンテキスト プロトコル サーバー。

  1. 特徴
    1. ライノ
    2. グラスホッパー(開発中)
  2. コンポーネント
    1. インストール
      1. 前提条件
      2. インストールオプション
    2. uvをインストールする
      1. オプション 1: uvx/pip を使用したクイックインストール (推奨)
      2. オプション2: ローカル開発インストール
      3. SSE (サーバー側イベント) プロトコル Rhino MCP サーバー
    3. 使用法
      1. クロードと一緒に使う
      2. コマンド例
    4. 貢献
      1. 免責事項
        1. 関連ドキュメントとリソース

          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/reer-ide/reer-rhino-mcp'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server