ParaView MCP Server

io.github.failed33由 GitHub 帳號 failed33 發布v0.2.5更新於 Oct 30, 2026

Control ParaView through arbitrary Python code

概覽

AI 產生的概覽

把 AI 助理連接到執行中的 ParaView 工作階段,讓它能執行 Python 程式碼、檢視管線並擷取畫面。

可以做什麼
  • 在目前的 ParaView 工作階段中執行任意 Python 程式碼
  • 以 JSON 快照形式讀取目前的可視化管線
  • 依指定尺寸將目前的算繪檢視擷取為 PNG 影像
  • 回傳執行輸出、診斷資訊,以及請求狀態與 Python 狀態
適用情境
適合在 ParaView 中作業時,讓助理撰寫可視化管線腳本、檢視目前管線狀態或取得算繪畫面,而不必離開工作階段。適合能接受產生的 Python 程式碼在自己的 ParaView 程序中執行的使用者。
執行需求
透過 uvx 以 stdio 在本機執行(Python 套件 paraview-mcp-server)。需要 ParaView 5.13 或更新版本,以及相符的 C++/Qt 外掛,並在 Tools > ParaView MCP 中載入並啟動。選用環境變數 PARAVIEW_HOST、PARAVIEW_PORT、PARAVIEW_AUTH_TOKEN、PARAVIEW_CONNECT_TIMEOUT_SECONDS 與 PARAVIEW_COMMAND_TIMEOUT_SECONDS 可設定橋接,預設值適用於本機環境。
安裝前請注意
execute_paraview_code 工具會在你的 ParaView 工作階段中執行任意 Python 程式碼,產生的程式碼可能變更或破壞資料與狀態;外掛會記錄每次執行,並在可取得快照時允許還原到執行前的狀態。非回送位址綁定需要驗證權杖(PARAVIEW_AUTH_TOKEN),且必須與外掛設定一致。同一時間只執行一個指令,更多呼叫會回報忙碌。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ParaView MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[ParaView MCP]

ParaView MCP

[CI] [PyPI] [CodeQL] [codecov] [License: MIT]

Connect ParaView to LLM assistants through the Model Context Protocol.

The Python server is built with FastMCP 3.x. Support for the 2026-07-28 MCP specification is planned once FastMCP 4 reaches a stable release.

paraview-mcp-server has two runtime parts:

  • a ParaView plugin (C++/Qt) that exposes a TCP bridge inside the ParaView GUI
  • a Python MCP server that connects to the plugin and serves tools to any MCP client

Prerequisites

  • ParaView ≥ 5.13. Pre-built plugins are available for the exact versions and platforms listed below; other ParaView releases require a source build against the matching SDK.
  • uv

Quick Start

First set up the ParaView plugin. Then add the Python MCP server to Claude Code in one command:

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

Open Tools > ParaView MCP in ParaView, start the bridge, and connect from Claude Code.

Set Up the ParaView Plugin

Download a pre-built plugin binary from the latest GitHub Release. Releases provide this matrix:

PlatformArchitectureParaView versionsPackage
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

Choose the package that names your exact ParaView version and platform. Download its adjacent .sha256 file, verify the package, then open or extract it and follow the included INSTALL.md. Pull requests also produce corresponding platform binaries as short-lived GitHub Actions artifacts; GitHub Releases are the permanent distribution channel.

macOS release images are Developer ID-signed, notarized by Apple, and include a stapled notarization ticket. Open the .dmg, copy the contained plugin directory to a persistent location, and load ParaViewMCP.so from that copied directory. Pull-request artifacts are unsigned test builds and remain .tar.gz files.

Alternatively, build the plugin from source against a ParaView 5.13 or newer SDK. See CONTRIBUTING.md for full build instructions. Binary compatibility is release-series specific, so use a plugin built for your ParaView major.minor version.

Once installed:

  1. Open Tools > Manage Plugins in ParaView.
  2. Click Load New... and select ParaViewMCP.so (Linux/macOS) or ParaViewMCP.dll (Windows) from the plugin directory.
  3. Enable Auto Load.
  4. Open Tools > ParaView MCP.
  5. Click Start Server.

The ParaView MCP panel shows the connection status and execution history. Non-loopback binds require an auth token.

Configure Your MCP Client

Claude Code (CLI)

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

Claude Desktop

Add to your claude_desktop_config.json:

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

Other MCP Clients

Configure a local stdio MCP server with uvx as the command and paraview-mcp-server as its only argument:

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

Consult your client's documentation for the location and exact format of its MCP server configuration.

Configuration

The server connects to the ParaView plugin using these environment variables:

VariableDefaultRequiredDescription
PARAVIEW_HOST127.0.0.1NoHost where the ParaView plugin is listening
PARAVIEW_PORT9877NoTCP port for the plugin bridge
PARAVIEW_AUTH_TOKEN—Non-loopback onlyAuthentication token (must match the plugin setting)
PARAVIEW_CONNECT_TIMEOUT_SECONDS30NoDeadline for opening the connection and completing the hello
PARAVIEW_COMMAND_TIMEOUT_SECONDS—NoOptional deadline for receiving a command result

Defaults work for a standard local setup. Override these when connecting to ParaView on a remote machine or non-standard port:

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

Available Tools

ToolDescription
execute_paraview_code(code)Execute Python code inside the active ParaView session
get_pipeline_info()Return a JSON snapshot of the current pipeline
get_screenshot(width, height)Capture the active render view as a PNG image

One command runs at a time, up to three wait in FIFO order, and further calls report busy. This prevents concurrent mutations of ParaView's shared state.

Execution results include output, diagnostics, and separate request and Python statuses. See execution and state for cancellation, timeouts, and recovery behavior.

Design and Differences from ParaView_MCP

This project follows the approach of Blender-MCP and Slicer-MCP, both of which give LLMs direct code execution inside their respective application runtimes.

The existing ParaView_MCP implementation1 takes a different approach, exposing a fixed set of high-level tools without access to the underlying Python runtime, which limits flexibility for custom workflows. The major differences are:

  1. We provide an execute_paraview_code tool that runs arbitrary Python inside the ParaView session. The plugin records each execution and, when ParaView can capture a pipeline snapshot, lets the user restore the state from immediately before that execution. This makes generated scripts easier to inspect, reuse, and adapt for tasks such as batch processing.
  2. Architecturally, ParaView_MCP's own disclaimer states that it relies on synchronization between pvserver and the ParaView client. That synchronization mechanism is deprecated in recent ParaView versions and can cause incorrect application views and general stability issues. This project instead runs a plugin inside the interactive ParaView process and exposes a TCP bridge, avoiding the pvserver/client synchronization path entirely.

Contributing

See CONTRIBUTING.md for build instructions, development setup, and pull request guidelines.

License

MIT — see THIRD-PARTY-NOTICES.txt for dependency licenses.

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. ↩

來源:README.md,提交 6f61e9a

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:軟體包安裝失敗。

版本歷史

3
  1. v0.2.5最新Oct 29, 2026
  2. v0.2.4Sep 30, 2026
  3. v0.2.3Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分