RenderDoc MCP Server

$\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…

Local serverstdio

What is the RenderDoc MCP Server?

RenderDoc is an MCP project maintained in the linkingooo/renderdoc-mcp repository. The maintainer describes its purpose as “$\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.}}$”. Read the project documentation for the complete scope.

Local setup

The project provides a local client configuration using python. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.

Configuration values

The example declares RENDERDOC_MODULE_PATH. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
open_captureOpen a .rdc file (auto-closes previous)
close_captureClose current capture and free resources
get_capture_infoCapture metadata: API, action count, resolution, known_gpu_quirks (Adreno/Mali/PowerVR/Apple)
get_frame_overviewFrame-level statistics: action counts by type, texture/buffer memory, render targets, resolution
list_actionsList the draw call / action tree — supports filter (name substring) and event_type (draw/clear/copy…)
get_actionFull detail for a single action
set_eventNavigate to an event (required before pipeline queries)
search_actionsSearch by name pattern and/or action flags
find_drawsSearch draw calls by rendering state: blend, min vertices, texture/shader/RT binding
get_pipeline_stateFull state: topology, viewports, rasterizer, blend, depth, stencil (human-readable enums)
get_shader_bindingsConstant buffers, SRVs, UAVs, samplers for a shader stage
get_vertex_inputsVertex attributes, vertex/index buffer bindings
get_draw_call_stateOne-call draw analysis: action info, blend formula, depth, stencil, rasterizer, textures with sizes, RTs, shaders
list_texturesAll textures (filterable by format, min width)
list_buffersAll buffers (filterable by min size)
list_resourcesAll named resources (filterable by type, name pattern)
get_resource_usageWhich events read/write a resource
save_textureExport to PNG, JPG, BMP, TGA, HDR, EXR, or DDS
get_buffer_dataRead buffer bytes (hex dump or float32 array)
pick_pixelRGBA value at a coordinate
get_texture_statsPer-channel min/max/avg with anomaly detection (NaN/Inf/negative); supports all_slices for cubemaps
read_texture_pixelsRead a rectangular region of pixels (up to 64×64) with per-pixel anomaly flags
export_draw_texturesBatch export all textures bound to a draw call (auto-names, skips placeholders)
save_render_targetSave RT snapshot at an event (color + optional depth)
export_meshExport mesh as OBJ with positions, normals, UVs from post-VS data
disassemble_shaderShader disassembly with auto fallback chain; supports search (keyword + context) and line_range
get_shader_reflectionInput/output signatures, resource binding layout
get_cbuffer_contentsActual constant buffer variable values; supports filter for variable name substring
pixel_historyFull per-pixel modification history across all events
get_post_vs_dataPost-transform vertex data (VS out / GS out)
diff_draw_callsCompare two draw calls — shows state differences with human-readable implications
analyze_render_passesAuto-detect render pass boundaries by Clear/RT switches, summarize each pass
sample_pixel_regionUniform-grid scan of an RT region — detects NaN/Inf/negative/overexposed hotspots
debug_shader_at_pixelPer-pixel shader debug — returns variable trace or pixel value + shader info as fallback
get_pass_timingMost expensive render passes — uses GPU counters if available, falls back to triangle-count heuristic
analyze_overdrawOverdraw estimate per render target group
analyze_bandwidthWrite/read bandwidth estimate per render target
analyze_state_changesFinds redundant state-change patterns and batching opportunities
diagnose_negative_valuesScans all float RTs for negative/NaN/Inf — finds first event introducing them, detects TAA accumulation
diagnose_precision_issuesChecks R11G11B10 sign-bit loss, shallow depth buffers, SRGB/linear mismatches
diagnose_reflection_mismatchCompares reflection passes against main scene draws — finds shader/blend/format causes
diagnose_mobile_risksComprehensive check across precision / performance / compatibility / GPU-specific risk categories

How to install the RenderDoc MCP Server

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

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
RENDERDOC_MODULE_PATHDeclared in the maintainer’s client configuration.Check documentation