Skip to main content
Glama

RenderDoc MCP Server

一个用于 RenderDoc 的 MCP (Model Context Protocol) 服务器,允许 AI 助手分析和检查 RDC 捕获文件。

功能

  • 打开和分析 RDC 捕获文件

  • 获取捕获的基本信息(API 类型、驱动、帧数等)

  • 列出和搜索纹理资源

  • 列出和搜索缓冲区资源

  • 获取 Draw Call 列表和详情

  • 查看着色器信息

  • 获取像素数据

安装

前置要求

  1. RenderDoc: 从 renderdoc.org 下载并安装

  2. Python 3.10+: 确保已安装 Python 3.10 或更高版本

安装 MCP 服务器

# 克隆仓库
git clone https://github.com/yourusername/renderdoc-mcp.git
cd renderdoc-mcp

# 安装依赖
pip install -e .

配置 RenderDoc Python 模块

要使用原生 Python API(推荐),需要设置 PYTHONPATH 包含 RenderDoc 的 Python 模块路径:

Windows:

set PYTHONPATH=%PYTHONPATH%;C:\Program Files\RenderDoc\plugins\python

或者在环境变量中永久设置。

如果不设置,服务器会自动回退到使用 renderdoccmd 命令行工具。

配置 Claude Desktop

在 Claude Desktop 配置文件中添加:

Windows: %APPDATA%\Claude\claude_desktop_config.json

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

macOS/Linux: ~/.config/claude/claude_desktop_config.json

{
  "mcpServers": {
    "renderdoc": {
      "command": "python",
      "args": ["-m", "renderdoc_mcp.server"],
      "env": {
        "PYTHONPATH": "/usr/share/renderdoc/plugins/python"
      }
    }
  }
}

可用工具

工具名称

描述

renderdoc_check_available

检查 RenderDoc 是否可用

renderdoc_open_capture

打开 RDC 捕获文件

renderdoc_close_capture

关闭当前捕获文件

renderdoc_get_capture_info

获取捕获的详细信息

renderdoc_get_textures

获取所有纹理列表

renderdoc_get_buffers

获取所有缓冲区列表

renderdoc_get_draw_calls

获取 Draw Call 列表

renderdoc_get_shader_info

获取着色器详细信息

renderdoc_get_pixel_data

获取指定位置的像素数据

renderdoc_get_texture_thumbnail

获取纹理缩略图

renderdoc_analyze_draw_call

分析特定 Draw Call

renderdoc_search_resources

搜索资源

使用示例

在 Claude Desktop 中,你可以这样使用:

请帮我分析 C:\captures\scene.rdc 这个捕获文件中的纹理资源
列出这个捕获中的所有 Draw Call
搜索名称包含 "normal" 的纹理

开发

# 安装开发依赖
pip install -e ".[dev]"

# 运行测试
pytest

许可证

MIT License

Available Tools

12 tools
renderdoc_analyze_draw_callC

Perform detailed analysis of a specific draw call including input/output resources, shaders, and state.

Inputs: event_id (required).

renderdoc_check_availableA

Check if RenderDoc is available on the system. Returns availability status and installation info.

Inputs: no named parameters.

renderdoc_close_captureA

Close the currently open RDC capture file and release resources.

Inputs: no named parameters.

renderdoc_get_buffersB

Get a list of all buffers in the capture with their properties (size, type, etc.).

Inputs: filter.

renderdoc_get_capture_infoB

Get detailed information about the currently open capture including API, driver, and resource counts.

Inputs: no named parameters.

renderdoc_get_draw_callsB

Get a list of all draw calls/events in the capture with their properties.

Inputs: start_index, count.

renderdoc_get_pixel_dataC

Get pixel color data at a specific location in a texture.

Inputs: texture_id (required), x (required), y (required), mip.

renderdoc_get_shader_infoC

Get detailed information about a specific shader including its reflection data.

Inputs: resource_id (required).

renderdoc_get_texturesA

Get a list of all textures in the capture with their properties (dimensions, format, mip levels, etc.).

Inputs: filter.

renderdoc_get_texture_thumbnailA

Get a base64 encoded thumbnail image of a texture. Useful for quickly visualizing texture contents.

Inputs: texture_id (required), mip, max_size.

renderdoc_open_captureA

Open an RDC capture file for analysis. Returns basic information about the capture including API type, frame count, and resource counts.

Inputs: file_path (required).

renderdoc_search_resourcesC

Search for resources (textures, buffers, shaders) by name pattern.

Inputs: pattern (required), resource_type.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 12 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose targeting specific aspects of RenderDoc capture analysis, such as checking availability, opening/closing captures, retrieving lists of resources, analyzing draw calls, or fetching specific data like pixel colors or thumbnails. There is no significant overlap in functionality, making tool selection straightforward for an agent.

    Naming Consistency5/5

    All tool names follow a consistent 'renderdoc_verb_noun' pattern with snake_case, such as 'renderdoc_open_capture' and 'renderdoc_get_textures'. This uniformity enhances readability and predictability, allowing agents to easily infer tool purposes from their names.

    Tool Count5/5

    With 12 tools, the server is well-scoped for analyzing graphics captures, covering core operations like capture management, resource listing, detailed analysis, and data retrieval. Each tool serves a specific and necessary function without redundancy, making the count appropriate for the domain.

    Completeness4/5

    The toolset provides comprehensive coverage for capture analysis, including opening/closing captures, retrieving resource lists, analyzing draw calls and shaders, and accessing pixel data. A minor gap exists in operations like modifying captures or exporting data, but core analysis workflows are fully supported, allowing agents to perform most essential tasks.

    Related MCP Connectors