Token导航 LogoToken导航TokenDH.com
Renderdoc MCP logo
运维云端stdio官方级别未说明来源级核验

Renderdoc MCP

MCP Server

RenderDoc-MCP是一个基于Model Context Protocol的GPU帧捕获分析工具,通过AI助手帮助开发者进行图形调试和性能分析。

工具数

42

提示词数

0

GitHub Stars

87

资源数

0
性能分析PythonClaudeAI代理Claude DesktopClaude

安装说明

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

作者 / 组织

Linkingooo

提供方

Linkingooo

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install -e .

详细介绍

renderdoc-mcp

⚠️ Disclaimer

$\\Large \\color{#ff69b4}{\\textsf{这是个人事务}$$\\Large\\color}{#ff66b4}}{\\mathtt{✨ vib\\text{-}coding ✨}}$ $\\大型\\彩色{#ff69b4}{\\textsf{project--}}$ $\\Large\\color{#ff69b4}{\\textsf{为娱乐而建,不用于生产用途。}}$

$\\small\\color{gray}{\\textsf{我不知道为什么这个回购有这么多星星…}}$

MCP服务器 渲染文档 --让AI助手分析GPU帧捕获(.rdc 文件),用于图形调试和性能分析。

建立在 模型上下文协议,适用于Claude Desktop、Claude Code和任何兼容MCP的客户端。

特性

  • 42工具 涵盖完整的RenderDoc分析工作流程
  • 10个高级工具 用于一次调用分析(绘制调用状态、帧概述、差异、批量导出、像素区域采样等)
  • 3个内置提示 用于指导调试
  • 人类可读输出 --混合模式、深度函数、拓扑显示为名称而非数字
  • GPU怪癖检测 --自动根据驾驶员姓名识别Adreno/Mali/PowerVR/Apple特有的陷阱
  • 无头 -不需要GUI,完全通过RenderDoc的Python回放API运行
  • 纯 Python --单身 pip install,无构建步骤
  • 支持HttpClient1、HttpClient2、OpenGL、Vulkan、OpenGL ES捕捉

快速开始

1.先决条件

  • Python 3.10+
  • 渲染文档 已安装(下载)

- 你需要 renderdoc.pyd (Windows)或 renderdoc.so (Linux)Python模块 - 它随每个RenderDoc安装一起提供

2.安装

git clone https://github.com/Linkingooo/renderdoc-mcp.git
cd renderdoc-mcp
pip install -e .

3.找到你的 renderdoc.pyd 路径

Python模块位于RenderDoc安装目录中:

平台典型路径
窗户C:\Program Files\RenderDoc\renderdoc.pyd
Linux/usr/lib/renderdoc/librenderdoc.so 或者你在哪里建造的

你需要 目录 包含此文件。

4.配置您的MCP客户端

Claude Desktop

编辑 claude_desktop_config.json (设置→ 开发者→ 编辑配置):

{
  "mcpServers": {
    "renderdoc": {
      "command": "python",
      "args": ["-m", "renderdoc_mcp"],
      "env": {
        "RENDERDOC_MODULE_PATH": "C:\\Program Files\\RenderDoc"
      }
    }
  }
}

Claude Code

添加 .claude/settings.json:

{
  "mcpServers": {
    "renderdoc": {
      "command": "python",
      "args": ["-m", "renderdoc_mcp"],
      "env": {
        "RENDERDOC_MODULE_PATH": "C:\\Program Files\\RenderDoc"
      }
    }
  }
}

Run standalone

# Set the module path
export RENDERDOC_MODULE_PATH="/path/to/renderdoc"   # Linux/macOS
set RENDERDOC_MODULE_PATH=C:\Program Files\RenderDoc  # Windows

# Run
python -m renderdoc_mcp

用法示例

配置后,只需与您的AI助手交谈:

“打开 frame.rdc 并向我展示画面中发生了什么”
“找到渲染角色模型的绘图调用,并检查其管道状态”
“为什么我的阴影贴图呈现为黑色?检查深度传递”
“分析性能——是否有多余的抽签?”

典型工具流程

open_capture("frame.rdc")                     # Load the capture
├── get_capture_info()                         # API, GPU, known_gpu_quirks
├── get_frame_overview()                       # Frame-level stats and render passes
├── get_draw_call_state(142)                   # Complete draw call state in one call
├── diff_draw_calls(140, 142)                  # Compare two draw calls (with implications)
├── export_draw_textures(142, "./tex/")        # Batch export all bound textures
├── save_render_target(142, "./rt.png")        # Save render target snapshot
├── analyze_render_passes()                    # Auto-detect render pass boundaries
├── find_draws(blend=True, min_vertices=1000)  # Search by rendering state
├── sample_pixel_region(rt_id, 0,0,512,512)   # Scan RT region for NaN/Inf/negatives
├── pixel_history(id, 512, 384)               # Debug a specific pixel
├── export_mesh(142, "./mesh.obj")             # Export mesh as OBJ
└── close_capture()                            # Clean up

性能和诊断分析:

get_pass_timing(granularity="pass")      # Find most expensive render passes
analyze_overdraw()                        # Fill-rate pressure estimate
analyze_bandwidth()                       # Memory bandwidth estimate
analyze_state_changes()                   # Batching opportunities
diagnose_negative_values()               # Find NaN/Inf/negative color values (爆闪)
diagnose_precision_issues()              # R11G11B10, D16, SRGB mismatches
diagnose_reflection_mismatch()           # Reflection artifact diagnosis
diagnose_mobile_risks()                  # Comprehensive mobile GPU risk check

对于较低级别的检查,所有粒度工具仍然可用:

set_event(142)                                    # Navigate to a draw call
├── get_pipeline_state()                          # Inspect rasterizer/blend/depth
├── get_shader_bindings("pixel")                  # Check what textures/buffers are bound
├── get_cbuffer_contents("pixel", 0, filter="ibl") # Read shader constants (filterable)
├── disassemble_shader("pixel", search="SampleSH") # Shader code with context search
└── save_texture(id, "rt.png")                    # Export a specific texture

工具

会话管理(4)

工具说明
open_capture打开a .rdc 文件(自动关闭上一个)
close_capture关闭当前捕获并释放资源
get_capture_info捕获元数据:API、操作数、分辨率、, known_gpuquirks (Adreno/马里/PowerVR/苹果)
get_frame_overview帧级统计:按类型、纹理/缓冲区内存、渲染目标、分辨率列出的动作计数

活动导航(5)

工具说明
list_actions列出绘图调用/操作树——支持 filter (名称子字符串)和 event_type (绘制/清除/复制……)
get_action单个动作的全部细节
set_event导航到事件(必需的 在管道查询之前)
search_actions按名称模式和/或动作标志搜索
find_draws按渲染状态搜索绘图调用:混合、最小顶点、纹理/着色器/RT绑定

管道检查(4)

工具说明
get_pipeline_state完整状态:拓扑、视口、光栅化器、混合、深度、模板(人类可读菜单)
get_shader_bindings恒定缓冲区、SRV、UAV、着色器阶段的采样器
get_vertex_inputs顶点属性、顶点/索引缓冲区绑定
get_draw_call_state一次通话抽奖分析:动作信息、混合公式、深度、模具、光栅化器、带大小的纹理、RT、着色器

资源分析(4)

工具说明
list_textures所有纹理(可按格式过滤,最小宽度)
list_buffers所有缓冲区(可按最小大小过滤)
list_resources所有命名资源(可按类型、名称模式过滤)
get_resource_usage哪些事件读取/写入资源

数据提取(8)

工具说明
save_texture导出为PNG、JPG、BMP、TGA、HDR、EXR或DDS
get_buffer_data读取缓冲区字节(十六进制转储或float32数组)
pick_pixel坐标处的RGBA值
get_texture_stats每通道最小/最大/平均值 异常检测 (NaN/Inf/阴性);支持 all_slices 对于立方体贴图
read_texture_pixels读取具有每像素异常标志的矩形像素区域(最多64×64)
export_draw_textures批量导出 绑定到绘图调用的所有纹理(自动命名,跳过占位符)
save_render_target保存RT快照 在活动中(颜色+可选深度)
export_mesh将网格导出为OBJ 使用VS后数据中的位置、法线、UV

着色器分析(3)

工具说明
disassemble_shader遮阳板拆卸 自动回退链;支持 search (关键字+上下文)和 line_range
get_shader_reflection输入/输出签名、资源绑定布局
get_cbuffer_contents实际恒定缓冲变量值;支持 filter 用于变量名称子字符串

高级(6)

工具说明
pixel_history所有事件的完整每像素修改历史记录
get_post_vs_data变换后顶点数据(VS输出/GS输出)
diff_draw_calls比较两次平局 --显示具有人类可读含义的状态差异
analyze_render_passes自动检测渲染过程边界 通过Clear/RT开关,总结每次通过
sample_pixel_region均匀网格扫描 RT区域——检测NaN/Inf/阴性/过度暴露热点
debug_shader_at_pixel每像素着色器调试 --返回变量跟踪或像素值+着色器信息作为回退

性能分析(4)

工具说明
get_pass_timing最昂贵的渲染过程——使用GPU计数器(如果可用),退回到三角形计数启发式
analyze_overdraw每个渲染目标组的透支估计
analyze_bandwidth每个渲染目标的写/读带宽估计
analyze_state_changes查找冗余状态更改模式和批处理机会

诊断(4)

工具说明
diagnose_negative_values扫描所有浮点RT是否为负/NaN/Inf——找到引入它们的第一个事件,检测TAA累积
diagnose_precision_issues检查R11G11B10符号位丢失、浅深度缓冲区、SRGB/线性失配
diagnose_reflection_mismatch将反射过程与主场景绘制进行比较--查找着色器/混合/格式原因
diagnose_mobile_risks全面检查精度/性能/兼容性/GPU特定风险类别

提示

内置提示模板,指导人工智能完成常见工作流程:

提示描述
debug_draw_call深挖单次调用:管道→ 着色器→ cbuffers→ 输出
find_rendering_issue从问题描述进行系统诊断
analyze_performance帧范围性能分析:通过时间、透支、带宽、状态变化

运作原理

AI Assistant ←—MCP—→ renderdoc-mcp server ←—Python API—→ renderdoc.pyd ←→ GPU replay

服务器使用RenderDoc的无头回放API(renderdoc.pyd)致:

  1. 打开 .rdc 在没有GUI的情况下捕获文件
  2. 在任何事件中回放帧和查询管道状态
  3. 提取纹理、缓冲区、着色器数据和像素历史记录
  4. 返回结构化JSON供AI推理

发展

# Install in dev mode
pip install -e .

# Run tests (no RenderDoc needed — uses mocks)
python -m pytest tests/ -v

# Project structure
src/renderdoc_mcp/
├── server.py                 # FastMCP server, 3 prompt definitions
├── session.py                # Capture lifecycle, resource/texture caches (singleton)
├── util.py                   # Serialization, enum maps, blend formula, module loader
└── tools/
    ├── session_tools.py      # open/close/info (GPU quirks) + get_frame_overview
    ├── event_tools.py        # list/get/set/search actions + find_draws
    ├── pipeline_tools.py     # pipeline state, shader bindings, vertex inputs + get_draw_call_state
    ├── resource_tools.py     # texture/buffer/resource enumeration
    ├── data_tools.py         # save/read/pick/stats + read_texture_pixels + export_draw_textures, save_render_target, export_mesh
    ├── shader_tools.py       # disassembly (fallback chain, search), reflection, cbuffer contents (filter)
    ├── advanced_tools.py     # pixel history, post-VS data + diff_draw_calls (implications), analyze_render_passes, sample_pixel_region, debug_shader_at_pixel
    ├── performance_tools.py  # get_pass_timing, analyze_overdraw, analyze_bandwidth, analyze_state_changes
    └── diagnostic_tools.py  # diagnose_negative_values, diagnose_precision_issues, diagnose_reflection_mismatch, diagnose_mobile_risks

许可证

麻省理工学院

目录标签

目录标签

性能分析PythonClaudeAI代理图形调试本地部署GPU帧捕获AI辅助开发RenderDoc

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

session

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

42

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosessionlocal-only

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

安装前确认

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

来源信息

继续浏览同类 MCP