ParaView MCP Server について
ParaView MCP Serverは、ParaViewのセッションをLLMアシスタントに接続し、コードで可視化ワークフローを操作したい利用者を対象とします。ParaView内のプラグインがTCPブリッジを提供し、MCPクライアントから任意のPythonコードを実行できます。
主な機能
- 01アクティブなParaViewセッションでPythonを実行
- 02パイプライン情報のスナップショット取得
- 03レンダリングビューのPNGキャプチャ
- 04実行の記録と直前状態への復元対応
活用シーン
- 01ParaViewで独自の処理スクリプトを実行
- 02現在の可視化パイプラインを確認
- 03レビュー用にレンダリング結果を取得
MCP 対応
Python MCPサーバーがParaViewプラグインに接続し、コード実行、パイプライン情報、スクリーンショットのツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ParaView MCP
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のバージョン | パッケージ |
|---|---|---|---|
| Linux | x86_64 | 6.2.0, 6.1.1, 6.0.1, 5.13.3 | .tar.gz |
| macOS | arm64(Apple Silicon) | 6.2.0, 6.1.1, 6.0.1, 5.13.3 | .dmg |
| Windows | x64 | 6.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のメジャー・マイナーバージョン向けにビルドされたプラグインを使用してください。
インストール後、次の手順を実行します。
- ParaViewでTools > Manage Pluginsを開きます。
- **Load New...**をクリックし、プラグインディレクトリから
ParaViewMCP.so(Linux/macOS)またはParaViewMCP.dll(Windows)を選択します。 - Auto Loadを有効にします。
- Tools > ParaView MCPを開きます。
- 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_HOST | 127.0.0.1 | いいえ | ParaView プラグインが待ち受けているホスト |
PARAVIEW_PORT | 9877 | いいえ | プラグインブリッジの TCP ポート |
PARAVIEW_AUTH_TOKEN | — | ループバック以外のみ | 認証トークン(プラグインの設定と一致させる必要があります) |
PARAVIEW_CONNECT_TIMEOUT_SECONDS | 30 | いいえ | 接続を開き、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 ランタイムへのアクセスを提供せず、固定された高レベルのツール群を公開しています。そのため、カスタムワークフローの柔軟性が制限されます。主な相違点は次のとおりです。
- ParaView セッション内で任意の Python コードを実行する
execute_paraview_codeツールを提供しています。プラグインは各実行を記録し、ParaView でパイプラインのスナップショットを取得できる場合は、その実行の直前の状態にユーザーが復元できるようにします。これにより、生成されたスクリプトを確認、再利用、調整しやすくなり、バッチ処理などのタスクに活用できます。 - アーキテクチャについては、ParaView_MCP 自身の免責事項に、
pvserverと ParaView クライアント間の同期に依存していると記載されています。この同期メカニズムは最近の ParaView バージョンでは非推奨であり、アプリケーションビューの誤りや全般的な安定性の問題を引き起こす可能性があります。これに対し、このプロジェクトは対話型 ParaView プロセス内でプラグインを実行し、TCP ブリッジを公開することで、pvserverとクライアント間の同期経路を完全に回避します。
コントリビューション
ビルド手順、開発環境のセットアップ、プルリクエストのガイドラインについては、CONTRIBUTING.mdを参照してください。
ライセンス
MIT — 依存関係のライセンスについては、THIRD-PARTY-NOTICES.txtを参照してください。
Footnotes
-
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. ↩
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。