mcpField
P
ParaView MCP Server

ParaView MCP Server

ローカル
github.com/failed33科学・教育42 日前に更新

ParaView MCP Server について

ParaView MCP Serverは、ParaViewのセッションをLLMアシスタントに接続し、コードで可視化ワークフローを操作したい利用者を対象とします。ParaView内のプラグインがTCPブリッジを提供し、MCPクライアントから任意のPythonコードを実行できます。

主な機能

  1. 01アクティブなParaViewセッションでPythonを実行
  2. 02パイプライン情報のスナップショット取得
  3. 03レンダリングビューのPNGキャプチャ
  4. 04実行の記録と直前状態への復元対応

活用シーン

  1. 01ParaViewで独自の処理スクリプトを実行
  2. 02現在の可視化パイプラインを確認
  3. 03レビュー用にレンダリング結果を取得

MCP 対応

Python MCPサーバーがParaViewプラグインに接続し、コード実行、パイプライン情報、スクリーンショットのツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"failed33-paraview": {
"command": "uvx",
"args": [
"paraview-mcp-server"
]
}
}
}
起動コマンドuvx paraview-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiparaview-mcp-server0.2.5

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ParaView MCP

ParaView MCP

CI PyPI CodeQL codecov License: MIT

Model Context Protocolを通じて、ParaViewをLLMアシスタントに接続します。

PythonサーバーはFastMCP 3.xで構築されています。 2026-07-28 MCP仕様への対応は、FastMCP 4が安定版に達した後に予定されています。

paraview-mcp-serverは、実行時に次の2つの要素で構成されます。

  • ParaView GUI内にTCPブリッジを公開するParaViewプラグイン(C++/Qt)
  • プラグインに接続し、任意のMCPクライアントにツールを提供するPython MCPサーバー

前提条件

  • ParaView ≥ 5.13。以下に記載されている正確なバージョンとプラットフォーム向けのビルド済みプラグインを利用できます。それ以外のParaViewリリースでは、対応するSDKを使ったソースからのビルドが必要です。
  • uv

クイックスタート

まずParaViewプラグインをセットアップします。次に、1つのコマンドでPython MCPサーバーをClaude Codeに追加します。

claude mcp add paraview -- uvx paraview-mcp-server

ParaViewでTools > ParaView MCPを開いてブリッジを起動し、Claude Codeから接続します。

ParaViewプラグインのセットアップ

ビルド済みプラグインバイナリを最新のGitHubリリースからダウンロードします。リリースでは次の組み合わせを提供しています。

プラットフォームアーキテクチャParaViewのバージョンパッケージ
Linuxx86_646.2.0, 6.1.1, 6.0.1, 5.13.3.tar.gz
macOSarm64(Apple Silicon)6.2.0, 6.1.1, 6.0.1, 5.13.3.dmg
Windowsx646.2.0, 6.1.1, 6.0.1, 5.13.3.zip

使用しているParaViewの正確なバージョンとプラットフォームに対応するパッケージを選択してください。隣接する.sha256ファイルをダウンロードしてパッケージを検証し、開くか展開して、同梱のINSTALL.mdの手順に従ってください。プルリクエストでも、対応するプラットフォーム用バイナリが一時的なGitHub Actionsアーティファクトとして生成されます。GitHubリリースは恒久的な配布チャネルです。

macOSのリリースイメージはDeveloper IDで署名され、Appleによる公証を受けており、公証チケットがステープルされています。.dmgを開き、含まれているプラグインディレクトリを永続的な場所にコピーして、コピー先のディレクトリからParaViewMCP.soを読み込みます。プルリクエストのアーティファクトは署名なしのテスト用ビルドで、.tar.gz形式のままです。

または、ParaView 5.13以降のSDKを使って、ソースからプラグインをビルドすることもできます。詳しいビルド手順はCONTRIBUTING.mdを参照してください。バイナリ互換性はリリース系列ごとに異なるため、使用しているParaViewのメジャー・マイナーバージョン向けにビルドされたプラグインを使用してください。

インストール後、次の手順を実行します。

  1. ParaViewでTools > Manage Pluginsを開きます。
  2. **Load New...**をクリックし、プラグインディレクトリからParaViewMCP.so(Linux/macOS)またはParaViewMCP.dll(Windows)を選択します。
  3. Auto Loadを有効にします。
  4. Tools > ParaView MCPを開きます。
  5. Start Serverをクリックします。

ParaView MCPパネルに接続状態と実行履歴が表示されます。ループバック以外のアドレスへのバインドには認証トークンが必要です。

MCPクライアントの設定

Claude Code(CLI)
claude mcp add paraview -- uvx paraview-mcp-server
Claude Desktop

claude_desktop_config.jsonに追加します。

{
  "mcpServers": {
    "paraview": {
      "command": "uvx",
      "args": ["paraview-mcp-server"]
    }
  }
}
その他のMCPクライアント

uvxをコマンド、paraview-mcp-serverを唯一の引数として、ローカルのstdio MCPサーバーを設定します。

{
  "mcpServers": {
    "paraview": {
      "command": "uvx",
      "args": ["paraview-mcp-server"]
    }
  }
}

MCPサーバー設定の場所と正確な形式については、使用するクライアントのドキュメントを参照してください。

設定

サーバーは、以下の環境変数を使用して ParaView プラグインに接続します。

変数デフォルト必須説明
PARAVIEW_HOST127.0.0.1いいえParaView プラグインが待ち受けているホスト
PARAVIEW_PORT9877いいえプラグインブリッジの TCP ポート
PARAVIEW_AUTH_TOKEN—ループバック以外のみ認証トークン(プラグインの設定と一致させる必要があります)
PARAVIEW_CONNECT_TIMEOUT_SECONDS30いいえ接続を開き、hello を完了するまでの期限
PARAVIEW_COMMAND_TIMEOUT_SECONDS—いいえコマンド結果を受信するまでの任意の期限

標準的なローカル設定ではデフォルト値を使用できます。リモートマシン上の ParaView、または標準以外のポートに接続する場合は、これらの値を上書きしてください。

{
  "mcpServers": {
    "paraview": {
      "command": "uvx",
      "args": ["paraview-mcp-server"],
      "env": {
        "PARAVIEW_HOST": "192.168.1.10",
        "PARAVIEW_PORT": "9877",
        "PARAVIEW_AUTH_TOKEN": "your-token"
      }
    }
  }
}

利用可能なツール

ツール説明
execute_paraview_code(code)アクティブな ParaView セッション内で Python コードを実行します
get_pipeline_info()現在のパイプラインの JSON スナップショットを返します
get_screenshot(width, height)アクティブなレンダービューを PNG 画像としてキャプチャします

一度に実行されるコマンドは 1 つで、最大 3 つまで FIFO 順で待機し、それ以降の呼び出しにはビジー状態が返されます。 これにより、ParaView の共有状態が同時に変更されるのを防ぎます。

実行結果には、出力、診断情報、リクエストと Python の個別のステータスが含まれます。 キャンセル、タイムアウト、復旧の動作については、実行と状態を参照してください。

ParaView_MCP との設計および相違点

このプロジェクトは、LLM がそれぞれのアプリケーションのランタイム内でコードを直接実行できる Blender-MCP と Slicer-MCP のアプローチに従っています。

既存の ParaView_MCP の実装1は異なるアプローチを採用しており、基盤となる Python ランタイムへのアクセスを提供せず、固定された高レベルのツール群を公開しています。そのため、カスタムワークフローの柔軟性が制限されます。主な相違点は次のとおりです。

  1. ParaView セッション内で任意の Python コードを実行する execute_paraview_code ツールを提供しています。プラグインは各実行を記録し、ParaView でパイプラインのスナップショットを取得できる場合は、その実行の直前の状態にユーザーが復元できるようにします。これにより、生成されたスクリプトを確認、再利用、調整しやすくなり、バッチ処理などのタスクに活用できます。
  2. アーキテクチャについては、ParaView_MCP 自身の免責事項に、pvserver と ParaView クライアント間の同期に依存していると記載されています。この同期メカニズムは最近の ParaView バージョンでは非推奨であり、アプリケーションビューの誤りや全般的な安定性の問題を引き起こす可能性があります。これに対し、このプロジェクトは対話型 ParaView プロセス内でプラグインを実行し、TCP ブリッジを公開することで、pvserver とクライアント間の同期経路を完全に回避します。

コントリビューション

ビルド手順、開発環境のセットアップ、プルリクエストのガイドラインについては、CONTRIBUTING.mdを参照してください。

ライセンス

MIT — 依存関係のライセンスについては、THIRD-PARTY-NOTICES.txtを参照してください。

Footnotes

  1. S. Liu, H. Miao, and P.-T. Bremer, "Paraview-MCP: Autonomous Visualization Agents with Direct Tool Use," in Proc. IEEE VIS 2025 Short Papers, IEEE, 2025. ↩

コメント

MCP は初めてですか?

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

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