Token导航 LogoToken导航TokenDH.com
Paraview MCP Server logo
AI代理stdio官方级别未说明来源级核验

Paraview MCP Server

MCP Server

paraview-mcp-server是一个两进程桥接工具,允许AI助手通过自然语言控制ParaView进行数据集操作、应用过滤器、数据着色和导出截图。

工具数

31

提示词数

0

GitHub Stars

0

资源数

0
数据可视化自然语言处理PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

djeada

提供方

djeada

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

全景mcp服务器

通过模型上下文协议使用AI助手控制ParaView。

paraview-mcp-server 是一个双进程桥接器,可以让Claude Desktop等人工智能助手 Codex CLI在ParaView中打开数据集、应用过滤器、颜色数据和导出屏幕截图 使用自然语言。

______________________________________________________________________

运作原理

MCP Client (Claude Desktop, Codex CLI, …)
      ⇅  stdio
paraview-mcp-server            ← thin MCP server, defines 31 tools
      ⇅  JSON / TCP localhost:9876
ParaView bridge (pvpython)     ← dispatches commands with paraview.simple
      ⇅
paraview.simple / servermanager
  • MCP服务器 是一个普通的Python包。它通过stdio与MCP通信并转发

每个工具调用都是通过本地TCP套接字向网桥发出的JSON请求。

  • 跑进去 pvpython。它接收JSON命令,并通过以下方式发送它们

命令注册表,调用 paraview.simple,并返回JSON结果。

  • 这两个进程在导入时都不依赖于对方的代码。
  • A. 无头pvpython执行器 让MCP服务器在单独的环境中运行脚本

pvpython 用于长时间运行或异步工作流的流程(不需要桥接)。

docs/architecture.md 对于完整的图、协议参考, 以及工具名称空间表。

______________________________________________________________________

快速开始

1.安装MCP服务器

git clone https://github.com/djeada/paraview-mcp-server.git
cd paraview-mcp-server
python -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\activate
pip install -e .

2.启动ParaView桥

在具有以下功能的终端中 pvpythonPATH:

pvpython scripts/start_paraview_bridge.py
# → ParaView bridge ready on 127.0.0.1:9876

网桥监听来自MCP服务器的JSON命令。

3.在AI客户端注册MCP服务器

克劳德桌面 --添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "paraview": {
      "command": "/absolute/path/to/.venv/bin/paraview-mcp-server"
    }
  }
}

Codex CLI:

codex mcp add paraview -- /absolute/path/to/.venv/bin/paraview-mcp-server

______________________________________________________________________

示例提示

一旦两个进程都运行并且配置了MCP客户端:

  • *“列出当前ParaView会话中的所有源。”*
  • *“打开 /data/disk_out_ref.ex2."*
  • *“通过磁盘数据集的X=0创建切片。”*
  • *“按压力为数据集着色。”*
  • *“将屏幕截图保存到 /tmp/view.png."*
  • *“对等值线为0.5和1.0的压力应用轮廓过滤器。”*
  • *“将相机设置在\[10,5,5\]位置,查看原点。”*
  • *“将背景设置为从白色到深蓝色的渐变。”*
  • *“将动画导出到 /tmp/anim.avi."*

______________________________________________________________________

工具参考(31个工具)

场景/会话

工具说明
paraview_scene_get_info会话信息:源计数、活动视图类型
paraview_scene_list_sources列出所有管道来源
paraview_scene_list_views列出打开的渲染视图
paraview_source_get_properties命名源的属性

数据加载

工具说明
paraview_source_open_file打开数据集(VTK、VTU、ExodusII、CSV等)
paraview_source_delete从管道中删除源
paraview_source_rename重命名源

过滤器——基本

工具说明
paraview_filter_slice带原点+正常值的切片过滤器
paraview_filter_clip带原点+正常值的剪辑过滤器
paraview_filter_contour按标量数组和值划分的轮廓/等值面
paraview_filter_threshold按标量范围筛选阈值

过滤器--高级

工具说明
paraview_filter_calculator带表达式的计算器筛选器
paraview_filter_stream_tracer矢量场流线的流跟踪器
paraview_filter_glyph矢量可视化的字形过滤器

显示/着色

工具说明
paraview_display_show使源可见
paraview_display_hide隐藏源
paraview_display_color_by按数据数组着色
paraview_display_set_representation曲面/线框/点/体积
paraview_display_set_opacity设置不透明度(0.0–1.0)
paraview_display_rescale_transfer_function将颜色映射重新缩放到数据范围

摄像头/视图

工具说明
paraview_view_reset_camera在视图中安装所有可见源
paraview_view_set_camera设置相机位置、焦点、视角
paraview_view_set_background设置纯色或渐变背景色

出口

工具说明
paraview_export_screenshot保存PNG或JPEG屏幕截图
paraview_export_data将源数据导出到VTK/CSV/
paraview_export_animation将动画导出到视频/帧

Python执行

工具说明
paraview_python_exec在桥或无头pvpython中运行Python
paraview_python_exec_async启动一个长时间运行的Python作业(无头)

作业管理

工具说明
paraview_job_status获取异步作业的状态
paraview_job_cancel取消正在运行的异步作业
paraview_job_list列出所有已知的异步作业

______________________________________________________________________

Python执行

paraview_python_exec 是需要超过固定值的工作流的逃生口 工具组。脚本在桥接进程中运行,其中 paraview.simple 已导入。

参数:

参数类型说明
codestr内联Python源代码(与 script_path)
script_pathstr通往a的道路 .py 文件(与互斥 code)
argsdict争论暴露为 args 在脚本内部
timeout_secondsint协作超时(默认:30s)
transportstr"bridge" (默认)或 "headless" (单独的pvpython工艺)

执行命名空间:

变量类型描述
pvs模块paraview.simple
argsdict来自 args 参数
__result__Any将其设置为返回JSON序列化值

例子:

# Open a file and create a slice
src = pvs.OpenDataFile(args["filepath"])
view = pvs.GetActiveViewOrCreate("RenderView")
pvs.Show(src, view)
filt = pvs.Slice(Input=src)
filt.SliceType.Origin = [0, 0, 0]
filt.SliceType.Normal = [1, 0, 0]
pvs.Show(filt, view)
pvs.ResetCamera(view)
__result__ = {"done": True}

docs/python-execute-design.md 对于整个设计, 模式引用和更多示例。

______________________________________________________________________

异步作业执行

对于长时间运行的管道,请使用 paraview_python_exec_async:

  1. 开始工作→ 回报 job_id 立即
  2. 投票与 paraview_job_status → check status 领域
  3. 取消 paraview_job_cancel 如有需要

异步作业在单独的无头中运行 pvpython 过程通过 HeadlessPvpythonExecutor.

______________________________________________________________________

安全模型

  • 模块堵塞 --脚本无法导入 subprocess, shutil, socket, ctypes,

multiprocessing, webbrowser,或几个面向网络的stdlib模块。

  • 输出边界 --stdout/stderr的上限为 50 KB.
  • 协作超时 --默认每个脚本执行30秒。
  • 脚本路径验证 --可以选择将执行限制在批准的根目录。
  • 桥在里面 pvpython 具有与本地ParaView会话相同的信任级别。
  • 这是一个本地桌面自动化工具,而不是公共的API沙箱。

______________________________________________________________________

发展

安装开发依赖项

pip install -e ".[dev]"

运行测试

pytest tests/

测试做 需要安装ParaView。命令处理程序测试补丁 _import_pv 带着一个 MagicMock 这模仿了 paraview.simple API

发送原始桥接命令(用于调试)

python scripts/paraview_bridge_request.py scene.get_info
python scripts/paraview_bridge_request.py source.open_file --params '{"filepath":"/data/disk.vtu"}'
python scripts/paraview_bridge_request.py export.screenshot --params '{"filepath":"/tmp/shot.png"}'

______________________________________________________________________

项目结构

paraview-mcp-server/
├── pyproject.toml
├── src/
│   └── paraview_mcp_server/
│       ├── __init__.py          # Re-exports main()
│       ├── server.py            # FastMCP stdio server (31 tools)
│       └── headless.py          # Headless pvpython executor + job manager
├── bridge/
│   ├── __init__.py
│   ├── server.py                # TCP socket bridge server
│   ├── command_handler.py       # Command registry + paraview.simple handlers (27 commands)
│   └── execution.py             # python.execute helper with safety controls
├── scripts/
│   ├── start_paraview_bridge.py
│   ├── paraview_bridge_request.py
│   └── library/                 # Reusable pvpython snippets
│       ├── open_dataset.py
│       ├── create_slice.py
│       ├── create_contour.py
│       ├── color_by.py
│       ├── reset_camera.py
│       └── save_screenshot.py
├── docs/
│   ├── architecture.md
│   └── python-execute-design.md
└── tests/
    ├── test_server.py           # 31 tools, connection, headless, async jobs
    ├── test_protocol.py         # Wire encoding, fake bridge integration
    └── test_command_handler.py  # All 27 handlers + safety controls

______________________________________________________________________

许可证

麻省理工学院——见 许可证.

目录标签

目录标签

数据可视化自然语言处理PythonClaudeAI助手本地部署ParaView控制自动化工具

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

31

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP