我用 C++ 写了个 MCP ,让 AI 看懂了每一帧 GPU 在画什么

张开发
2026/4/11 12:31:17 15 分钟阅读

分享文章

我用 C++ 写了个 MCP ,让 AI 看懂了每一帧 GPU 在画什么
你有没有想过调试 GPU 渲染问题的时候不用自己一个个翻 Draw Call而是直接对 AI 说一句帮我看看这一帧哪里不对我做到了。看效果上面是真实的使用场景 —— 我在 Claude Code 里打开了一个 D3D11 的 CubeWorld 抓帧AI 自动分析了整帧的渲染结构、Pipeline 状态、Draw Call 序列最后给出了完整的技术报告。整个过程我只打了一句话。这个项目是什么renderdoc-mcp—— 一个把 RenderDoc图形程序员人手一个的 GPU 调试器的全部能力通过 MCP 协议暴露给 AI 的工具。59 个 MCP Tools。C 从零手写。覆盖了你能想到的所有 GPU 调试场景打开 .rdc 抓帧浏览每一个 Draw Call检查完整的 Pipeline 状态Shader、RT、混合、光栅化...反汇编任意 Shader 阶段的 HLSL/GLSL/SPIR-V像素级调试Pixel History、像素拾取、Shader 单步实时注入应用程序抓帧边跑边调两帧 Diff 对比Draw Call / Pipeline / 像素 / Pass 结构 / 资源 / 统计6 维度CI 断言框架assert_pixel、assert_state、assert_image...渲染结果一键导出 PNG一句话总结RenderDoc 能做的AI 现在也能做了。为什么我觉得这件事值得做图形编程的调试体验说实话一直很痛苦。一帧画面背后可能有上千个 Draw Call、几十个 Render Pass、复杂的资源绑定关系。RenderDoc 的 GUI 给你展示了一切但问题是 —— 信息量太大了。你得自己筛选、自己定位、自己关联。一个渲染 Bug 查下来半天就没了。而 AI 擅长的恰恰是处理大量结构化信息、快速筛选和关联。MCP 协议给了我一个标准化的桥接方案让我可以把 RenderDoc 的专业能力翻译成 AI 能理解和操作的接口。所以我把整个 Replay API 包了一层写成了 59 个 Tool让 Claude、Codex 这些 AI 助手可以像图形工程师一样操作 RenderDoc。它不只是能用是真的好用很多 MCP 项目只是把 API 简单包一下就完事了。renderdoc-mcp 不是。我在架构上花了很多心思分层设计—— 协议层mcp-proto和业务层renderdoc-core完全解耦。协议层不知道 RenderDoc 的存在业务层不知道 MCP 的存在。两者通过桥接层连接。这意味着如果明天出了新的 AI 协议我只需要换一个协议层。双入口—— 除了 MCP Server还有一个 CLIrenderdoc-cli直接链接 Core 层不经过任何协议开销。Shell 脚本、CI 管道可以直接调用。Diff 引擎—— 这是我最得意的部分。同时加载两个 .rdc 文件用 LCS 算法对齐 Draw Call 序列从 6 个维度深度对比。版本回归检测、渲染正确性验证一键搞定。CI 断言框架—— 5 个 assert 工具让 GPU 渲染也能像普通代码一样跑自动化测试。push 一个 commitCI 自动抓帧验证渲染结果。几个真实场景场景 1排查渲染异常帮我打开这个 rdc画面右上角有块黑色区域。AI 自动打开 → 遍历 Draw Call → 定位可疑 Pass → 检查 Pipeline → 发现 Scissor Rect 配错 → 导出对比图 → 给修复建议。场景 2版本对比这两个版本的抓帧帮我对比下变化。AI 自动同时加载两帧 → 概览差异 → 发现新增 3 个 Draw → 检查新 Draw 状态 → 像素级确认差异 → 总结回归点。场景 3CI 自动验证每次构建后自动抓帧 → 验证关键像素 → 检查 Draw Call 数量 → 检测资源浪费 → 输出报告。技术细节给感兴趣的同学C17CMake 构建JSON-RPC 2.0 over stdio遵循 MCP 2025-03-26 规范nlohmann/json 做序列化stb_image 做图像编码声明式工具注册自动参数校验和错误码映射Session 隔离架构主分析 Session 和 Diff Session 独立共存支持 D3D11、D3D12、OpenGL、Vulkan 全部图形 APIMIT 开源协议最后这个项目花了我不少精力从架构设计到 59 个 Tool 的实现再到 Diff 引擎和 CI 断言框架每一块都是从零写的。如果你是图形程序员建议试一下 —— 体验过 AI 帮你调 GPU 之后就回不去了。如果你对 MCP 生态感兴趣这个项目也是一个不错的参考 —— 怎么用 C 从零构建一个生产级的 MCP Server。Star 一下就是最好的支持。GitHub: https://github.com/JiaboLi-GitHub/renderdoc-mcp开源不易感谢每一个 Star。

更多文章