mcpField
R
Rhino MCP Server

Rhino MCP Server

ローカル
github.com/always-tinkeringメディア・デザイン5784 週間前に更新

Rhino MCP Server について

Rhino MCP Server は、Rhino 3D 向けの MCP サーバーで、Claude などの AI アシスタントから 3D オブジェクトを作成・操作できます。3D モデリングや建築設計での利用を想定していますが、README では開発中であり、Rhino プラグインのオブジェクト作成に問題があると記載されています。

主な機能

  1. 01MCP 経由で球、ボックス、円柱を作成
  2. 02現在のシーン情報の取得
  3. 03シーン内オブジェクトの削除とレイヤーの作成
  4. 04ログと診断スクリプトを備えた統合起動スクリプト

活用シーン

  1. 01Claude Desktop での 3D モデリング支援
  2. 02AI アシスタントによる建築シーンの構築
  3. 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 を参照してください。

コンポーネント

いくつかの実装を利用できます。

  1. 統合 MCP サーバー(推奨):

    • combined_mcp_server.py - stdin/stdout を使用して通信する直接実装
  2. ソケットベースのサーバー:

    • daemon_mcp_server.py - ソケット接続経由でコマンドを受信するバックグラウンドサーバー
    • socket_proxy.py - stdin からデーモンサーバーへコマンドを転送し、応答を返すプロキシ
  3. スタンドアロンサーバー:

    • standalone-mcp-server.py - 元のスタンドアロン実装

セットアップ手順

1. Claude Desktop をセットアップする
  1. まだインストールしていない場合は、Claude Desktop をインストールします
  2. 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 モデリング用のツールをいくつか提供しています。

  1. geometry_tools.create_sphere - 指定した中心と半径で球体を作成します
  2. geometry_tools.create_box - 指定した寸法でボックスを作成します
  3. geometry_tools.create_cylinder - 指定したパラメーターで円柱を作成します
  4. scene_tools.get_scene_info - 現在のシーンに関する情報を取得します
  5. scene_tools.clear_scene - シーン内のオブジェクトを消去します
  6. scene_tools.create_layer - ドキュメントに新しいレイヤーを作成します

トラブルシューティング

接続の問題が発生した場合:

  1. 古いサーバーが実行されていないことを確認します。

    ./server_launcher.sh help  # This will clean up existing processes
    
  2. ログファイルを確認します。

    ./server_launcher.sh logs   # View logs
    ./server_launcher.sh errors # View errors
    
  3. 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/:すべてのログを含むディレクトリ
新機能の追加
  1. combined_mcp_server.py ファイルにメソッドとして新しいツールを追加します
  2. 一貫したエラー処理のため、既存のロギングフレームワークを使用します
  3. 必要に応じて診断ツールを更新します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。