OpenEXR文件处理服务

MCP服务器,提供对本地OpenEXR、TX纹理和DPX文件的直接访问,包括元数据、通道信息、像素统计、部分提取、宽高比调整和EXR序列到视频的转换。

  • by chordee
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 chordee/mcp-server-openexr

使用说明

mcp服务器openexr

MCP服务器,允许Claude直接访问本地OpenEXR、TX纹理和DPX文件, 包括元数据、频道信息、像素统计、部分提取、纵横比重构、, 以及EXR序列到视频的转换。

需求

安装

git clone https://github.com/chordee/mcp-server-openexr.git
cd mcp-server-openexr
uv sync

跑步

uv run main.py

工具

EXR

工具 说明
get_exr_info 分辨率、部件计数、通道列表、压缩
get_exr_header 完整的标头属性,包括自定义元数据
get_exr_channels 通道像素类型(HALF/FLOAT/UINT)和采样
get_exr_pixel_stats 像素统计:最小值/最大值/平均值、百分位数、NaN/Inf
get_exr_sequence_info 扫描EXR序列,检测缺失帧
compare_exr_channels 比较两个EXR文件之间的通道差异
check_exr_validity 验证EXR完整性并检测NaN/Inf像素
extract_exr_part 将一个零件提取到新的单个零件EXR文件中
reframe_exr 通过扩展(黑色边框)或裁剪来调整纵横比
exr_sequence_to_video 通过颜色空间转换将EXR序列转换为mp4或mov

reframe_exr 详情

将EXR调整到目标纵横比(宽度/高度)。

  • mode: expand 在一个轴上添加零值填充; crop 从一个轴上删除像素
  • target_ratio:例如。 2.35, 1.85, 1.7778 (16:9), 1.0
  • anchor:控制哪一侧保持固定(默认 center)
    • 宽度变化(水平): left · center · right
    • 高度变化(垂直): top · center · bottom

exr_sequence_to_video 详情

将EXR图像序列转换为视频。自动使用捆绑的ffmpeg二进制文件-- 无需安装外部ffmpeg。

  • codec: h264 (.mp4)· h265 (.mp4)· prores_hq (.mov)· prores_4444 (.mov)
  • input_colorspace: linear (Rec.709线性,默认)· acescg (AP1线性)· srgb (伽玛编码)
  • output_colorspace: srgb (显示就绪,默认)· linear (Rec.709线性)· acescg (AP1线性)
  • tonemap: none (夹紧,默认)· reinhard (软滚降,当源的HDR值大于1时有用)
  • crf:h264/h265的CRF质量(0-51,较低=较好;默认值:h264=18,h265=20)。被ProRes忽略。
  • exposure:在色调映射之前应用乘数(默认值 1.0)
  • scale:输出分辨率比例,例如。 0.5 =50%(默认值 1.0)
  • channels:null=自动检测(R/G/B 或包装好 RGBA);或明确指定,例如。 ["beauty.R","beauty.G","beauty.B"]

典型用法:

源EXR 目标 设置
ACEScg渲染 sRGB评测(mp4) input_colorspace='acescg', output_colorspace='srgb'
线性渲染 sRGB评测(mp4) input_colorspace='linear', output_colorspace='srgb'
ACEScg渲染 ACEScg社论(ProRes) input_colorspace='acescg', output_colorspace='acescg', codec='prores_hq'

TX(MIP映射纹理)

TX文件是由生成的MIP映射纹理 maketx (OpenImageIO/Arnold), 用于RenderMan和Arnold渲染管道。

工具 说明
get_tx_info 分辨率、MIP金字塔、通道列表、图块大小、颜色空间
get_tx_header 给定MIP级别的完整元数据
get_tx_channels 通道名称、像素类型和平铺信息
get_tx_pixel_stats 每个通道的像素统计数据;使用更高 mip_level 用于大纹理的快速近似统计
get_tx_sequence_info 扫描TX序列,检测丢失的帧和不一致性

双工器

DPX(数字图像交换)文件通常用于胶片扫描, 数字中间(DI)和VFX流水线。支持8位、10位、12位和16位格式。

工具 说明
get_dpx_info 分辨率、通道列表、像素格式、位深度和颜色空间
get_dpx_header 完整的DPX标头元数据,包括电影/电视特定字段
get_dpx_pixel_stats 像素统计:最小值/最大值/平均值、百分位数、NaN/Inf计数

Claude桌面配置

添加以下内容 claude_desktop_config.json:

{
  "mcpServers": {
    "openexr": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/mcp-server-openexr",
        "main.py"
      ]
    }
  }
}