RenderDoc MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {
"tasks": {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
}
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_capture_statusA | Check if a capture is currently loaded in RenderDoc. Returns the capture status and API type if loaded. |
| get_draw_callsA | Get the list of all draw calls and actions in the current capture. Args: include_children: Include child actions in the hierarchy (default: True) marker_filter: Only include actions under markers containing this string (partial match) exclude_markers: Exclude actions under markers containing these strings (list of partial matches) event_id_min: Only include actions with event_id >= this value event_id_max: Only include actions with event_id <= this value only_actions: If True, exclude marker actions (PushMarker/PopMarker/SetMarker) flags_filter: Only include actions with these flags (list of flag names, e.g. ["Drawcall", "Dispatch"]) Returns a hierarchical tree of actions including markers, draw calls, dispatches, and other GPU events. |
| get_frame_summaryA | Get a summary of the current capture frame. Returns statistics about the frame including:
|
| find_draws_by_shaderA | Find all draw calls using a shader with the given name (partial match). Args: shader_name: Partial name to search for in shader names or entry points stage: Optional shader stage to search (if not specified, searches all stages) Returns a list of matching draw calls with event IDs and match reasons. |
| find_draws_by_textureA | Find all draw calls using a texture with the given name (partial match). Args: texture_name: Partial name to search for in texture resource names Returns a list of matching draw calls with event IDs and match reasons. Searches SRVs, UAVs, and render targets. |
| find_draws_by_resourceA | Find all draw calls using a specific resource ID (exact match). Args: resource_id: Resource ID to search for (e.g. "ResourceId::12345" or "12345") Returns a list of matching draw calls with event IDs and match reasons. Searches shaders, SRVs, UAVs, render targets, and depth targets. |
| get_draw_call_detailsA | Get detailed information about a specific draw call. Args: event_id: The event ID of the draw call to inspect Includes vertex/index counts, resource outputs, and other metadata. |
| get_action_timingsA | Get GPU timing information for actions (draw calls, dispatches, etc.). Args: event_ids: Optional list of specific event IDs to get timings for. If not specified, returns timings for all actions. marker_filter: Only include actions under markers containing this string (partial match). exclude_markers: Exclude actions under markers containing these strings. Returns timing data including:
Note: GPU timing counters may not be available on all hardware/drivers. |
| get_shader_infoA | Get shader information for a specific stage at a given event. Args: event_id: The event ID to inspect the shader at stage: The shader stage (vertex, hull, domain, geometry, pixel, compute) Returns shader disassembly, constant buffer values, and resource bindings. |
| get_buffer_contentsA | Read the contents of a buffer resource. Args: resource_id: The resource ID of the buffer to read offset: Byte offset to start reading from (default: 0) length: Number of bytes to read, 0 for entire buffer (default: 0) Returns buffer data as base64-encoded bytes along with metadata. |
| get_texture_infoC | Get metadata about a texture resource. Args: resource_id: The resource ID of the texture Includes dimensions, format, mip levels, and other properties. |
| get_texture_dataA | Read the pixel data of a texture resource. Args: resource_id: The resource ID of the texture to read mip: Mip level to retrieve (default: 0) slice: Array slice or cube face index (default: 0) For cube maps: 0=X+, 1=X-, 2=Y+, 3=Y-, 4=Z+, 5=Z- sample: MSAA sample index (default: 0) depth_slice: For 3D textures only, extract a specific depth slice (default: None = full volume) When specified, returns only the 2D slice at that depth index Returns texture pixel data as base64-encoded bytes along with metadata including dimensions at the requested mip level and format information. |
| get_pipeline_stateA | Get the full graphics pipeline state at a specific event. Args: event_id: The event ID to get pipeline state at Returns detailed pipeline state including:
|
| list_capturesA | List all RenderDoc capture files (.rdc) in the specified directory. Args: directory: The directory path to search for capture files Returns a list of capture files with their metadata including:
|
| open_captureA | Open a RenderDoc capture file (.rdc). Args: capture_path: Full path to the capture file to open Returns success status and information about the opened capture. Note: This will close any currently open capture. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool targets a distinct concern: retrieval of specific resources (buffers, textures, pipeline state), listing or querying actions (draw calls, frame summary), searching by criteria (shader, texture, resource), and file management (list/open captures). There is no overlap that would cause an agent to pick the wrong tool.
Tool names follow a consistent verb_noun pattern: get_ for direct retrieval, find_draws_by_ for search operations, list_ and open_ for capture file management. The verbs clearly indicate the action type, and nouns specify the target, making the naming predictable and intuitive.
At 15 tools, this server is well-scoped for a graphics debugging domain. Each tool serves a meaningful analysis or management purpose, and the count is within the ideal range without redundancy or excessive granularity.
The tool surface covers the primary RenderDoc workflows: opening captures, inspecting frames and draw calls, retrieving resources, and searching by resource usage. Minor gaps exist (e.g., no tool to fetch rendered output images or detailed mesh data), but agents can accomplish core analysis tasks without dead ends.