关于 ParaView MCP Server
ParaView MCP Server 将 ParaView 会话连接到 LLM 助手,适用于需要以代码控制可视化工作流的用户。它通过 ParaView 内部插件提供 TCP 桥接,并允许 MCP 客户端执行任意 Python 代码。
主要功能
- 01在活动 ParaView 会话中执行 Python
- 02获取当前管线信息快照
- 03截取渲染视图为 PNG
- 04记录执行并支持恢复先前状态
适用场景
- 01在 ParaView 中运行自定义处理脚本
- 02检查当前可视化管线
- 03捕获渲染结果以供查看
MCP 相关
Python MCP 服务端连接 ParaView 插件,并向 MCP 客户端提供代码执行、管线信息和截图工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ParaView MCP
通过 Model Context Protocol 将 ParaView 接入大模型助手。
Python 服务基于 FastMCP 3.x 构建。待 FastMCP 4 发布稳定版后,计划支持
2026-07-28 MCP 规范。
paraview-mcp-server 由两个运行时部分组成:
- 一个 ParaView 插件(C++/Qt),在 ParaView GUI 中提供 TCP 桥接
- 一个 Python MCP 服务,连接到插件并向任意 MCP 客户端提供工具
前提条件
- ParaView ≥ 5.13。下方所列的确切版本和平台均提供 预构建插件;其他 ParaView 版本需要使用对应 SDK 从源码构建。
- uv
快速开始
首先设置 ParaView 插件。然后只需一条命令,即可将 Python MCP 服务添加到 Claude Code:
claude mcp add paraview -- uvx paraview-mcp-server
在 ParaView 中打开 Tools > ParaView MCP,启动桥接,然后从 Claude Code 连接。
设置 ParaView 插件
从最新的 GitHub Release 下载预构建插件二进制文件。各版本提供以下组合:
| 平台 | 架构 | 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 Releases 是永久分发渠道。
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 客户端
将本地 stdio MCP 服务配置为使用 uvx 作为命令,并将
paraview-mcp-server 作为唯一参数:
{
"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 | 否 | 建立连接并完成握手的截止时间 |
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 图像 |
一次只运行一条命令,最多有三条命令按先进先出顺序等待,更多调用则会报告繁忙。 这可以防止并发修改 ParaView 的共享状态。
执行结果包含输出、诊断信息,以及单独的请求状态和 Python 状态。 有关取消、超时和恢复行为,请参阅执行与状态。
设计及与 ParaView_MCP 的区别
本项目采用了 Blender-MCP 和 Slicer-MCP 的方案,这两个项目都让大模型能够在各自应用的运行时环境中直接执行代码。
现有的 ParaView_MCP 实现1采用了不同的方案:它提供一组固定的高级工具,但无法访问底层 Python 运行时,因此限制了自定义工作流的灵活性。主要区别如下:
- 我们提供
execute_paraview_code工具,可在 ParaView 会话中运行任意 Python 代码。插件会记录每次执行,并在 ParaView 能够捕获管线快照时,让用户恢复到该次执行开始前的状态。这样更便于检查、复用和调整生成的脚本,以用于批处理等任务。 - 在架构方面,ParaView_MCP 自身的免责声明
指出,该项目依赖
pvserver与 ParaView 客户端之间的同步。此同步机制在近期 ParaView 版本中已弃用,可能导致应用视图不正确及整体稳定性问题。本项目则是在交互式 ParaView 进程中运行插件,并提供 TCP 桥接,从而完全避开pvserver/客户端同步路径。
贡献
有关构建说明、开发环境设置和拉取请求指南,请参阅 CONTRIBUTING.md。
许可证
MIT — 依赖项许可证请参阅 THIRD-PARTY-NOTICES.txt。
Footnotes
-
S. Liu、H. Miao 和 P.-T. Bremer,《Paraview-MCP:使用直接工具调用的自主可视化 Agent》,载于 Proc. IEEE VIS 2025 Short Papers,IEEE,2025。 ↩
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。