Rhino MCP Server について
Rhino MCP Server は、Rhino 3D 向けの MCP サーバーで、Claude などの AI アシスタントから 3D オブジェクトを作成・操作できます。3D モデリングや建築設計での利用を想定していますが、README では開発中であり、Rhino プラグインのオブジェクト作成に問題があると記載されています。
主な機能
- 01MCP 経由で球、ボックス、円柱を作成
- 02現在のシーン情報の取得
- 03シーン内オブジェクトの削除とレイヤーの作成
- 04ログと診断スクリプトを備えた統合起動スクリプト
活用シーン
- 01Claude Desktop での 3D モデリング支援
- 02AI アシスタントによる建築シーンの構築
- 03Rhino と MCP 間の接続問題の診断
MCP 対応
MCP サーバーとして、ジオメトリ、シーン、レイヤーに関するツールを Claude Desktop などの MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Rhino MCP サーバー
⚠️ 工事中 ⚠️
このプロジェクトは現在活発に開発中で、まだ動作する状態ではありません。Rhino プラグインでオブジェクトを作成する際に問題が発生しています。 これらの問題の解決に向けて、コミュニティからの支援を積極的に募っています。 Rhino API の開発、C# プラグイン、または MCP 統合の経験がある方は、ぜひコントリビュートをご検討ください。 GitHub で Issue を作成してご連絡ください。
Rhino 3D 向けの Model Context Protocol(MCP)サーバー実装です。Claude が 3D オブジェクトを作成、操作できるようにします。
概要
このプロジェクトでは、Claude のような AI アシスタントが Model Context Protocol を通じて Rhino とやり取りできるようにする、Rhino 3D 向けの MCP サーバーを実装しています。このサーバーを使うと、AI インターフェースから直接 3D オブジェクトを作成、操作できます。
システムアーキテクチャ
このシステムは、MCP サーバーを実装する Python コンポーネントと、Rhino と統合する C# コンポーネントで構成されています。システムコンポーネントの連携の概要は次のとおりです。
graph TD
%% Client Applications
client[Client Applications] --> socketProxy
%% Socket Proxy
subgraph "Python Socket Proxy"
socketProxy[socket_proxy.py] --> daemonServer
end
%% Daemon Server
subgraph "Python Daemon Server"
daemonServer[daemon_mcp_server.py] --> combinedServer
end
%% Combined MCP Server
subgraph "Python Combined MCP Server"
combinedServer[combined_mcp_server.py]
mcp[FastMCP] --> tools
combinedServer --> mcp
combinedServer --> rhinoConn
subgraph "MCP Tools"
tools[MCP Tool Methods]
end
rhinoConn[RhinoConnection]
end
%% Rhino Plugin Components
subgraph "C# Rhino Plugin"
rhinoPlugin[RhinoMcpPlugin.cs]
socketServer[RhinoSocketServer.cs]
utilities[RhinoUtilities.cs]
commands[RhinoMcpCommand.cs]
rhinoPlugin --> socketServer
rhinoPlugin --> commands
socketServer --> utilities
end
%% Connections between components
rhinoConn <==> socketServer
%% Logger Components
subgraph "Logging System"
logManager[log_manager.py]
nlogConfig[NLog.config]
end
combinedServer --> logManager
rhinoPlugin --> nlogConfig
%% Connection to Rhino
rhino[Rhino 3D Software]
rhinoPlugin --> rhino
classDef pythonClass fill:#3572A5,color:white;
classDef csharpClass fill:#178600,color:white;
classDef rhinoClass fill:#555555,color:white;
class socketProxy,daemonServer,combinedServer,mcp,tools,rhinoConn,logManager pythonClass;
class rhinoPlugin,socketServer,utilities,commands csharpClass;
class rhino rhinoClass;
コンポーネントの説明やデータフローなど、システムアーキテクチャの詳細については、code_architecture.md を参照してください。
コンポーネント
いくつかの実装を利用できます。
-
統合 MCP サーバー(推奨):
combined_mcp_server.py- stdin/stdout を使用して通信する直接実装
-
ソケットベースのサーバー:
daemon_mcp_server.py- ソケット接続経由でコマンドを受信するバックグラウンドサーバーsocket_proxy.py- stdin からデーモンサーバーへコマンドを転送し、応答を返すプロキシ
-
スタンドアロンサーバー:
standalone-mcp-server.py- 元のスタンドアロン実装
セットアップ手順
1. Claude Desktop をセットアップする
- まだインストールしていない場合は、Claude Desktop をインストールします
- Claude Desktop の設定で MCP サーバー接続を構成します
2. サーバーを起動する
すべてのサーバー実装を実行できる、統合サーバーランチャーを用意しました。
./server_launcher.sh [mode]
利用可能なモード:
combined(デフォルト) - 統合 MCP サーバーを実行しますstandalone- スタンドアロン MCP サーバーを実行しますdaemon- デーモン MCP サーバーを実行しますsocket-proxy- ソケットプロキシを実行しますdirect- デーモンとソケットプロキシの両方を実行しますlogs- 最近のログを表示しますmonitor- ログをリアルタイムで監視しますerrors- 最近のエラーを表示しますhelp- ヘルプメッセージを表示します
例:
# Run the combined server (recommended)
./server_launcher.sh combined
# Or simply
./server_launcher.sh
# Run the socket-based approach (daemon + proxy)
./server_launcher.sh direct
# Monitor logs in real-time
./server_launcher.sh monitor
利用可能なツール
このサーバーは 3D モデリング用のツールをいくつか提供しています。
- geometry_tools.create_sphere - 指定した中心と半径で球体を作成します
- geometry_tools.create_box - 指定した寸法でボックスを作成します
- geometry_tools.create_cylinder - 指定したパラメーターで円柱を作成します
- scene_tools.get_scene_info - 現在のシーンに関する情報を取得します
- scene_tools.clear_scene - シーン内のオブジェクトを消去します
- scene_tools.create_layer - ドキュメントに新しいレイヤーを作成します
トラブルシューティング
接続の問題が発生した場合:
-
古いサーバーが実行されていないことを確認します。
./server_launcher.sh help # This will clean up existing processes -
ログファイルを確認します。
./server_launcher.sh logs # View logs ./server_launcher.sh errors # View errors -
Claude Desktop を完全に再起動します
ライセンス
このプロジェクトは MIT License の下で公開されています。詳細については LICENSE ファイルを参照してください。
ログシステムの改善
このシステムには、すべてのコンポーネントのログを一元管理する統合ログフレームワークが備わっています。
- サーバーログ
- プラグインログ
- Claude AI ログ
- 診断ログ
すべてのログは一貫した形式で、コンポーネントごとに分かれたサブディレクトリを持つ logs/ ディレクトリに保存されます。
ログ管理
ログの表示、監視、分析を行うための強力な機能を備えたログ管理ツールを提供しています。
# View logs
./server_launcher.sh logs
# Monitor logs in real-time
./server_launcher.sh monitor
# View errors with context
./server_launcher.sh errors
# Generate error reports (using the log manager directly)
./log_manager.py report
ログシステムの使用方法の詳細については、LOGGING.md を参照してください。
開発
プロジェクト構成
combined_mcp_server.py:MCP サーバーのメイン実装diagnose_rhino_connection.py:Rhino との接続をテストする診断ツールlog_manager.py:ログを管理・分析するツールserver_launcher.sh:任意のサーバー実装を起動する統合スクリプトlogs/:すべてのログを含むディレクトリ
新機能の追加
combined_mcp_server.pyファイルにメソッドとして新しいツールを追加します- 一貫したエラー処理のため、既存のロギングフレームワークを使用します
- 必要に応じて診断ツールを更新します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。