Atlas / MCP servers / linkingooo / RenderDoc

RenderDocSAFE

mcp/linkingooo/renderdoc

MCP server for RenderDoc — AI-assisted GPU frame capture analysis

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
42 38r · 4w · 0d
Transport
—
License
—
Stars
166
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

⚠️ Disclaimer

$\Large\color{#ff69b4}{\textsf{This is a personal }}$ $\Large\color{#ff69b4}{\mathtt{✨ vibe\text{-}coding ✨}}$ $\Large\color{#ff69b4}{\textsf{project —}}$ $\Large\color{#ff69b4}{\textsf{built for fun, not for production use.}}$

$\small\color{gray}{\textsf{I have no idea why this repo has so many stars...}}$

MCP server for RenderDoc — let AI assistants analyze GPU frame captures (.rdc files) for graphics debugging and performance analysis.

Built on the Model Context Protocol, works with Claude Desktop, Claude Code, and any MCP-compatible client.

Features

  • 42 tools covering the full RenderDoc analysis workflow
  • 10 high-level tools for one-call analysis (draw call state, frame overview, diff, batch export, pixel region sampling, etc.)
  • 3 built-in prompts for guided debugging
  • Human-readable output — blend modes, depth functions, topology shown as names not numbers
  • GPU quirk detection — auto-identifies Adreno/Mali/PowerVR/Apple-specific pitfalls from driver name
  • Headless — no GUI needed, runs entirely via RenderDoc's Python replay API
  • Pure Python — single pip install, no build step
  • Supports D3D11, D3D12, OpenGL, Vulkan, OpenGL ES captures

Quick Start

1. Prerequisites

  • Python 3.10+
  • RenderDoc installed (download)
  • You need the renderdoc.pyd (Windows) or renderdoc.so (Linux) Python module
  • It ships with every RenderDoc installation

2. Install

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

3. Find your renderdoc.pyd path

The Python module is in your RenderDoc install directory:

Read from source at commit 819886475360OBSERVED · 2026-10-07
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add renderdoc-mcp -- uvx renderdoc-mcp
claude-desktop
{
  "mcpServers": {
    "renderdoc-mcp": {
      "command": "uvx",
      "args": [
        "renderdoc-mcp"
      ]
    }
  }
}
03

Exposed tools (42)

38 read · 4 write · 0 destructive.

ToolRiskDescription
analyze_bandwidthreadEstimate GPU memory bandwidth consumption for the frame.
analyze_overdrawreadAnalyze overdraw across the frame or within a specific render pass.
analyze_render_passesreadAuto-detect render pass boundaries and summarize each pass.
analyze_state_changesreadAnalyze pipeline state changes between consecutive draw calls.
close_capturereadClose the currently open capture file and free resources.
debug_shader_at_pixelreadDebug the shader at a specific pixel using RenderDoc
diagnose_mobile_risksreadComprehensive mobile GPU risk assessment for the current frame.
diagnose_negative_valuesreadScan all float render targets for negative/NaN/Inf pixels and trace their origin.
diagnose_precision_issuesreadDetect floating-point precision issues in the frame.
diagnose_reflection_mismatchreadDiagnose why a reflection looks different from the original object.
diff_draw_callsreadCompare two draw calls and return their state differences.
disassemble_shaderreadDisassemble the shader bound at the specified stage.
export_draw_texturesreadBatch export all textures bound to a draw call
export_meshreadExport mesh data from a draw call as OBJ format.
find_drawsreadSearch draw calls by rendering state filters.
get_actionreadGet detailed information about a specific action/draw call.
get_buffer_datareadRead raw data from a buffer resource.
get_capture_inforeadGet information about the currently open capture.
get_cbuffer_contentsreadGet the actual values of a constant buffer at the specified shader stage.
get_draw_call_statereadGet complete draw call state in a single call.
get_frame_overviewreadGet a frame-level statistics overview of the current capture.
get_pass_timingreadGet per-render-pass or per-draw-call GPU timing estimates.
get_pipeline_statereadGet the full graphics pipeline state at the current or specified event.
get_post_vs_datawriteGet post-vertex-shader transformed vertex data for the current draw call.
get_resource_usagereadGet the usage history of a resource across all events.
get_shader_bindingsreadGet resource bindings for a specific shader stage at the current event.
get_shader_reflectionreadGet reflection information for the shader at the specified stage.
get_texture_statsreadGet min/max/average statistics for a texture at the current event.
get_vertex_inputsreadGet vertex input layout and buffer bindings at the current event.
list_actionsreadList the draw call / action tree of the current capture.
list_buffersreadList all buffers in the capture.
list_resourcesreadList all named resources in the capture.
list_texturesreadList all textures in the capture.
open_capturereadOpen a RenderDoc capture (.rdc) file for analysis.
pick_pixelreadGet the RGBA value of a specific pixel in a texture.
pixel_historyreadGet the full modification history of a pixel across all events in the frame.
read_texture_pixelsreadRead actual pixel values from a rectangular region of a texture.
sample_pixel_regionreadBatch-sample pixels from a render target and auto-detect anomalies.
save_render_targetwriteSave the current render target(s) at a specific event.
save_texturewriteSave a texture resource to an image file.
search_actionsreadSearch for actions by name pattern and/or flags.
set_eventwriteNavigate the replay to a specific event ID.
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (1)

LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-07 · audit v0.4.1 · source sha 819886475360full audit observations/trust-audit/mcp-server/linkingooo__renderdoc.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-07819886475360SAFEB89first audit
06

Questions

What is the RenderDoc MCP server?

MCP server for RenderDoc — AI-assisted GPU frame capture analysis

What tools does RenderDoc expose?

42 in total: 38 read-only, 4 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is RenderDoc safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does RenderDoc need?

No credential environment variables were found in its source, so it appears to need none.

How current is this page?

The grade is for one exact copy of the source (819886475360), read on 2026-10-07. The repository is watched and re-audited when it changes.

Advertisement