我用 C++ 写了个 MCP ,让 AI 看懂了每一帧 GPU 在画什么
renderdoc-mcp —— 一个把 RenderDoc(图形程序员人手一个的 GPU 调试器)的全部能力通过 MCP 协议暴露给 AI 的工具。
你有没有想过,调试 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,还有一个 CLI(renderdoc-cli),直接链接 Core 层,不经过任何协议开销。Shell 脚本、CI 管道可以直接调用。
Diff 引擎 —— 这是我最得意的部分。同时加载两个 .rdc 文件,用 LCS 算法对齐 Draw Call 序列,从 6 个维度深度对比。版本回归检测、渲染正确性验证,一键搞定。
CI 断言框架 —— 5 个 assert 工具,让 GPU 渲染也能像普通代码一样跑自动化测试。push 一个 commit,CI 自动抓帧验证渲染结果。
几个真实场景
场景 1:排查渲染异常
"帮我打开这个 rdc,画面右上角有块黑色区域。"
AI 自动:打开 → 遍历 Draw Call → 定位可疑 Pass → 检查 Pipeline → 发现 Scissor Rect 配错 → 导出对比图 → 给修复建议。
场景 2:版本对比
"这两个版本的抓帧,帮我对比下变化。"
AI 自动:同时加载两帧 → 概览差异 → 发现新增 3 个 Draw → 检查新 Draw 状态 → 像素级确认差异 → 总结回归点。
场景 3:CI 自动验证
每次构建后自动抓帧 → 验证关键像素 → 检查 Draw Call 数量 → 检测资源浪费 → 输出报告。
技术细节(给感兴趣的同学)
-
C++17,CMake 构建
-
JSON-RPC 2.0 over stdio,遵循 MCP 2025-03-26 规范
-
nlohmann/json 做序列化,stb_image 做图像编码
-
声明式工具注册,自动参数校验和错误码映射
-
Session 隔离架构:主分析 Session 和 Diff Session 独立共存
-
支持 D3D11、D3D12、OpenGL、Vulkan 全部图形 API
-
MIT 开源协议
最后
这个项目花了我不少精力,从架构设计到 59 个 Tool 的实现,再到 Diff 引擎和 CI 断言框架,每一块都是从零写的。
如果你是图形程序员,建议试一下 —— 体验过 AI 帮你调 GPU 之后,就回不去了。
如果你对 MCP 生态感兴趣,这个项目也是一个不错的参考 —— 怎么用 C++ 从零构建一个生产级的 MCP Server。
Star 一下,就是最好的支持。
GitHub: https://github.com/JiaboLi-GitHub/renderdoc-mcp
开源不易,感谢每一个 Star。
更多推荐

所有评论(0)