Lutra MCP
Lutra
浏览器内的调色 LUT 制作工具。 拖入截图、相机 RAW 文件或视频片段,用真正的调色师工具进行调色,导出 .cube / .3dl / Unreal / Unity / ReShade / HALD LUT。无需安装,无需账户——一切都在你的 GPU 上通过 WebGL2 本地运行。图像永远不会离开你的机器。
在线访问:https://lutra.gamebench.dev
为什么
制作调色 LUT 通常意味着要安装数 GB 的视频软件。Lutra 是一个约 70 KB(gzip 后)的 Web 应用,围绕一条架构规则构建:每个操作都是纯粹的逐像素颜色变换,因此整个调色可以精确地烘焙成 3D LUT。空间效果(辉光、光晕、颗粒、暗角)只作为明确标注的预览层存在,并以引擎配方而非像素的形式导出,因为它们无法存在于 LUT 中——你在调色中看到的就是 LUT 所做的。
Related MCP server: mcp-da-vinci
功能
调色
接触表调色 — 加载多张不同光照条件下的照片;每个缩略图都实时跟随调色,因为 LUT 是全局的,必须在任何地方都成立。
逐张显影 — 在判断共享风格之前,将每个源素材按 ±4 EV 归一化。显影后的原图、示波器、取色和 Auto match 都看到相同的输入;偏移量按设计不进入导出的 LUT。
调色师工具集 — 白平衡(+ 灰色吸管)、曝光、带枢轴的对比度、高光/阴影/白场/黑场、lift/gamma/gain/offset 色轮、主通道和 R/G/B 分通道曲线、8 段 HSL 混合器(Oklab 色相)、连续 Sat-vs-Sat 和 Luma-vs-Sat 曲线、带亮度键控阴影/高光控制的饱和度/自然饱和度、分离色调、输出电平,以及主风格强度混合。
创意 LUT 层 — 拖入你已有的任何
.cube文件,并在其之上继续调色,带强度滑块。它叠加在色调曲线之后,因此其下的所有调整都是微调风格而非输入——两者仍然烘焙成一个导出的 LUT。诚实的胶片响应 — 辉光、光晕、颗粒和暗角作为一层预览,UI 明确标注不在 LUT 中。它们无法烘焙(辉光读取相邻像素;颗粒和暗角取决于画面中的位置),因此它们从缩略图、对比和示波器中隐藏,并作为引擎配方导出,指明可复现它们的 Unreal/Unity/ReShade 设置。
对比 — 前后对比(按住空格键)、A/B 擦除、逐张缩略图。全程支持撤销/重做和键盘快捷键。
输入
相机 RAW —
.ARW、.CR2、.CR3、.NEF、.DNG、.RAF、.ORF、.RW2等,通过编译为 WebAssembly 的 LibRaw 支持。相机的白平衡和色彩矩阵被应用,然后帧以场景线性光进入管线,与 EXR 和 PQ AVIF 进入的位置完全相同——因此照片和游戏截图可以以相同方式调色。曝光是一个固定的、有文档说明的余量常数,而非逐图像自动亮度,因此夜景和雪地不会显影成不同的亮度。1.5 MB 的解码器位于动态import()之后,绝不会拖累其他人的加载。HDR 与高比特深度 — OpenEXR(half/float、NONE/RLE/ZIP)、Radiance
.hdr和 10/12 位 AVIF(PQ、HLG、高位 SDR),通过零依赖解码器 + WebCodecs 以全精度支持。HDR 以与 PQ shaper 导出所假设的相同 ACES 拟合显影为显示 sRGB,因此预览与引擎内结果一致。没有 WebCodecsImageDecoder的浏览器(Safari、Firefox)获得从编码的 PQ 数据派生的预显影 SDR 伴生文件,因此像素匹配——并在用户的 HDR AVIF 必须由浏览器色调映射时给出明确警告。实时视频调色 — MP4/MOV/WebM 片段与静帧位于同一胶片条中。选择一个,播放、拖动或逐帧步进,在正常视口中操作,并在播放期间持续转动每个调色旋钮。呈现的帧直接从浏览器/操作系统解码器馈入共享的 WebGL 调色;当该编解码器/浏览器/设备组合支持时使用硬件解码。原始片段字节和播放头持久保存在浏览器存储中,并在重启后恢复到胶片条中;它们永远不会被上传。副本是分块且可取消的,先检查配额,每个片段标记为
LOCAL或SESSION,使存储失败可见而非破坏性。
匹配与 QA
Auto match — 拖入参考图像,求解器拟合大方向旋钮,使整个接触表的 Oklab 统计量与之匹配。结果是普通的旋钮位置:用强度滑块混合,手动细化,一步撤销。
.cube导入 — 相同的求解器将旋钮栈拟合到任何 3D.cube(通常在 ΔE ≈ 0.1 以内),将不透明的 LUT 变回可编辑的调色。LUT Lab — 以浮点数据打开任何 3D
.cube,检查其声明的输入域、输出偏移和折叠/奇异单元,调整大小,以 0–200% 混合,在第二个 LUT 之前或之后组合,然后下载、堆叠或反向拟合结果。自定义域和 0–1 之外的值在往返中保留,而不是被静默裁剪。颜色锁定 — 固定必须在调色中存活的颜色(UI 颜色、团队红色、肤色)。实时 ΔE 徽章在调色移动它们时发出警告,Auto match 将它们视为约束。
资产协调 — 遮罩一个要保留的调色板和一个要调整的资产;Harmonize 只求解 HSL 混合器,使资产在你的风格下匹配。Export texture fix 则求解独立的 B→A 变换,并下载为
.cube+ HALD 以批量应用于纹理。示波器 — RGB 直方图、parade、波形、带肤色线的矢量示波器、裁剪斑马纹、精确的进→出像素探针,以及色觉缺陷模拟,用于游戏可读性检查。
诚实的烘焙预览 — 在浮点管线和实际量化 LUT(16³/32³/65³,三线性或四面体)之间切换,在导出前看到色带,而不是在引擎中。
输出与持久化
源分辨率静帧 — 以原始尺寸将当前镜头导出为 PNG,包括逐张显影和浮点调色或当前选定的量化 LUT 预览。单独的完整风格导出将调整后的辉光、光晕、颗粒和暗角渲染到像素中。
导出 —
.cube(16/32/65)、.3dl、Unreal 256×16 条带、Unity LDR 1024×32 条带、ReShadelut.png、HALD CLUT 512×512,以及用于在色调映射器之前以场景参考 HDR 调色的引擎的 PQ shaper.cube。多种格式打包为一个 zip。参见 docs/exports.md 了解各引擎的设置和 PQ shaper 的注意事项。分享链接 — Share 按钮复制一个 URL,整个风格 gzip 压缩到 fragment 中。无服务器,不上传任何内容。
会话在刷新后存活 — 镜头和遮罩涂鸦持久化到 OPFS,调色持久化到 localStorage。关闭标签页,回来,继续调色。
可在手机上使用 — 低于 860px 时,图像固定到顶部,控件在其下方滚动,点击目标变大,双指捏合可缩放视口。
连接 AI
工具栏中一个按钮。Lutra 通过 Model Context Protocol 暴露其工具,因此 Claude、ChatGPT 或任何 MCP 客户端都可以驱动你已经打开的应用程序。重点不是文本到 LUT:助手可以查看。它渲染一张照片,读取示波器,用简单的英语微调一个命名轴,再次渲染,检查你锁定的颜色——这是盲生成器无法闭合的循环。全局调色更改保持为普通的撤销步骤;镜头显影和胶片响应保持分离,因此撤销不会静默跨越管线边界。
两种传输方式,为你挑选。WebMCP,在浏览器实现它的地方(Edge 已内置;Chrome 从 149 开始运行 origin trial),将工具交给浏览器内代理,完全无需配对。其他所有地方,你获得一个通过 Durable Object 中继的连接器链接,不存储任何内容:
客户端 | 你获得的内容 |
Claude Code |
|
Codex | 用于 |
Claude 应用 | 裸 URL,用于 Settings → Connectors → Add custom connector |
工具:get_look · list_shots · render_shot(返回实际图像)· get_scopes(原始或已调色)· nudge · set_look · set_shot_development · get_film_response · set_film_response · suggest_looks · check_locks · undo · get_share_link。调色模式包括色轮和专家曲线,以及紧凑的 toe/mid-gamma/shoulder 色调形状。在 shared/mcpTools.ts 中声明一次,在 src/mcp/tools.ts 中实现;worker/mcp.ts 是作为纯函数的协议。
安全性。 没有 API 密钥,也没有 OAuth——URL 中的代码就是凭证,因此要像密码一样对待它,使用 New link 撤销你粘贴到公共位置的链接。它只在 Lutra 标签页打开时有效。Lutra 不持有 API 密钥,也不调用任何模型:智能按你已支付的订阅计费,这就是为什么运行它零成本且无需账户。localhost 链接对 Claude 应用不可达,因为它从 Anthropic 的服务器连接;Claude Code 和 Codex 在本地运行,因此可以使用。
开发
npm install
npm run dev # http://localhost:5173
npm run build # type-check + production build → dist/
npm test # vitest一个运行时依赖(libraw-wasm,动态导入并代码分割,因此只在 RAW 文件时加载);开发依赖仅 Vite + TypeScript。
部署
生产环境作为静态资产从 Cloudflare Worker 提供——无服务器代码,只有 dist/:
npm run deploy # build + wrangler deploy
npm run deploy:dry # validate without deploying自定义域名是 wrangler.jsonc 中的一条路由,因此 DNS 由部署保持同步。应用是完全静态的,使用相对资产路径,因此也可以在 Netlify、GitHub Pages 或任何文件服务器上托管——调色、导出和上述所有功能都无需后端。唯一的服务端部分是 MCP 配对中继(worker/),而 WebMCP 甚至不需要它。
文档
docs/exports.md — 在每个引擎中使用导出的 LUT,以及 PQ shaper 保证和不保证的内容。
docs/architecture.md — 单一
grade()函数设计、CPU 镜像、求解器和路线图想法。docs/professional-parity.md — 基于竞品的能力差距、浏览器可行性决策和验收门槛。
docs/cloud-architecture.md — 本地优先的服务器边界和上限为 $100/年的 fail-closed Cloudflare 预算。
许可证
专有——保留所有权利。 参见 LICENSE。
该应用可在 https://lutra.gamebench.dev 免费使用;源代码未授权复用。这可能会改变:以后以开源许可证发布很容易,而取消发布是不可能的,因此在做出该决定之前,源代码保持封闭。
构建的部署仍然重新分发 LibRaw(LGPL-2.1 或 CDDL-1.0,通过 libraw-wasm),捆绑的示例来自 RawDB 的 CC0。这些义务跟随部署的应用而非源代码,因此无论此仓库的可见性如何都适用——参见 NOTICE,包括如果你添加示例,哪些 RawDB 许可证可以安全捆绑。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityBmaintenanceBridges AI assistants to Autodesk RV for managing media review sessions through natural language commands. Users can control playback, compare shots, and adjust color grading without needing any external plugins.47MIT
- AlicenseNot gradedqualityCmaintenanceExposes the DaVinci Resolve scripting API to LLMs, enabling inspection, media import, timeline editing, markers, and render queue management through natural language.MIT
- AlicenseBqualityDmaintenanceEnables AI-driven DaVinci Resolve 21 automation with 88 tools for project management, timeline editing, color grading, AI analysis, rendering, and dailies creation.882MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that exposes the complete DaVinci Resolve scripting API, enabling AI assistants to control DaVinci Resolve programmatically with over 440 tools for project management, timeline editing, color grading, rendering, and more.5MIT
Related MCP Connectors
Create and manage cinematic AI video renders through the Future Video Studio Agent API.
Manage AI filmmaking projects, scenes, assets, and generations in Martini.
Build and run visual creative-production workflows from your AI agent.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/withaspoon/nyans'
If you have feedback or need assistance with the MCP directory API, please join our Discord server