内容
<p align="center">
<img src="Documentation/Images/paraview-mcp-logo.png" width="200" alt="ParaView MCP">
</p>
# ParaView MCP
[](https://github.com/failed33/paraview-mcp/actions/workflows/ci.yml)
[](https://pypi.org/project/paraview-mcp-server/)
[](https://github.com/failed33/paraview-mcp/actions/workflows/codeql.yml)
[](https://codecov.io/gh/failed33/paraview-mcp)
[](LICENSE)
将 [ParaView](https://www.paraview.org/) 连接到 LLM 助手,通过 [模型上下文协议](https://modelcontextprotocol.io/)。
`paraview-mcp-server` 有两个运行时部分:
- 一个 **ParaView 插件**(C++/Qt),在 ParaView GUI 内公开一个 TCP 桥接
- 一个 **Python MCP 服务器**,连接到插件并为任何 MCP 客户端提供服务
## 先决条件
- [ParaView 6.0.1](https://www.paraview.org/download/),并加载 MCP 插件(参见 [插件设置](#设置paraview插件))
- [uv](https://docs.astral.sh/uv/)
## 快速开始
通过一条命令添加到 Claude Code:
```bash
claude mcp add paraview -- uvx paraview-mcp-server
```
然后 [设置 ParaView 插件](#设置paraview插件),您就可以开始使用了。
## 设置 ParaView 插件
从 [最新的 GitHub 发布](https://github.com/failed33/paraview-mcp/releases/latest) 中为您的平台(Linux x86_64 或 macOS arm64)下载预构建的插件二进制文件。解压存档并按照附带的 `INSTALL.md` 进行操作。
或者,从源代码构建插件,以适应您的 ParaView 6.0.1 SDK。有关完整的构建说明,请参见 [CONTRIBUTING.md](CONTRIBUTING.md)。
安装完成后:
1. 在 ParaView 中打开 **工具 > 管理插件**。
2. 点击 **加载新插件...**,并从插件目录中选择 `ParaViewMCP.so`。
3. 启用 **自动加载**。
4. 打开 **工具 > ParaView MCP**。
5. 点击 **启动服务器**。
停靠小部件显示连接状态。非环回绑定需要身份验证令牌。
## 配置您的 MCP 客户端
### Claude Code(CLI)
```bash
claude mcp add paraview -- uvx paraview-mcp-server
```
### Claude 桌面版
将以下内容添加到您的 `claude_desktop_config.json` 中:
```json
{
"mcpServers": {
"paraview": {
"command": "uvx",
"args": ["paraview-mcp-server"]
}
}
}
```
### Cursor
将以下内容添加到您的项目根目录中的 `.cursor/mcp.json` 中:
```json
{
"mcpServers": {
"paraview": {
"command": "uvx",
"args": ["paraview-mcp-server"]
}
}
}
```
## 配置
服务器使用以下环境变量连接到 ParaView 插件:
| 变量 | 默认值 | 是否必需 | 描述 |
| --- | --- | --- | --- |
| `PARAVIEW_HOST` | `127.0.0.1` | 否 | ParaView 插件监听的主机 |
| `PARAVIEW_PORT` | `9877` | 否 | 插件桥接的 TCP 端口 |
| `PARAVIEW_AUTH_TOKEN` | — | 仅限非环回 | 身份验证令牌(必须与插件设置匹配) |
默认设置适用于标准本地设置。在连接到远程机器或非标准端口上的 ParaView 时,请覆盖这些设置:
```json
{
"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 图片 |
## 灵感来源
该项目遵循 [Blender-MCP](https://github.com/ahujasid/blender-mcp) 和 [Slicer-MCP](https://github.com/pieper/SlicerMCP) 的方法,它们都为 LLM 提供直接的代码执行功能,分别在各自的应用程序运行时中。现有的 [Paraview_MCP](https://github.com/llnl/paraview_mcp) 实现[^1] 采用了一种不同的方法,公开了一组固定的高级工具,而无需访问底层 Python 运行时,这限制了自定义工作流的灵活性。
我们提供了一个 `execute_paraview_code` 工具,可以在 ParaView 会话中运行任意 Python 代码,为 AI 代理提供与人类脚本编写者相同的控制级别。
[^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.
## 贡献
有关构建说明、开发设置和拉取请求指南,请参见 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 许可证
[MIT](LICENSE) — 请参见 [THIRD-PARTY-NOTICES.txt](THIRD-PARTY-NOTICES.txt) 以获取依赖许可证信息。