renderdoc_check_available
Verify RenderDoc installation status on your system to enable graphics debugging and capture file analysis.
Instructions
Check if RenderDoc is available on the system. Returns availability status and installation info.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/renderdoc_mcp/server.py:272-285 (handler)Main handler for renderdoc_check_available tool. Checks RenderDoc availability using wrapper.is_available() and returns formatted response with availability status, native module info, and renderdoccmd path.
if name == "renderdoc_check_available": available = wrapper.is_available() result = { "available": available, "native_module": wrapper._use_fallback is False, "renderdoccmd_path": getattr(wrapper, '_renderdoccmd', None), } return [TextContent( type="text", text=f"RenderDoc Availability:\n" f"- Available: {available}\n" f"- Native Python Module: {not wrapper._use_fallback}\n" f"- renderdoccmd Path: {result['renderdoccmd_path'] or 'Not found'}" )] - src/renderdoc_mcp/server.py:38-47 (registration)Tool registration in the TOOLS list. Defines the renderdoc_check_available tool with its name, description, and input schema (empty object with no required fields).
TOOLS = [ Tool( name="renderdoc_check_available", description="Check if RenderDoc is available on the system. Returns availability status and installation info.", inputSchema={ "type": "object", "properties": {}, "required": [], }, ), - The is_available() method in RenderDocWrapper that performs the actual availability check by checking if native renderdoc module is available or if renderdoccmd executable was found.
def is_available(self) -> bool: """Check if RenderDoc is available.""" return RENDERDOC_AVAILABLE or self._renderdoccmd is not None - The _find_renderdoccmd() helper method that searches for the renderdoccmd executable in common installation paths and PATH environment, used as fallback when native module is not available.
def _find_renderdoccmd(self) -> Optional[str]: """Find renderdoccmd executable.""" # Common installation paths on Windows common_paths = [ os.environ.get("RENDERDOC_PATH", ""), "C:\\Program Files\\RenderDoc\\renderdoccmd.exe", "C:\\Program Files (x86)\\RenderDoc\\renderdoccmd.exe", ] for path in common_paths: if path and os.path.exists(path): if os.path.isdir(path): cmd_path = os.path.join(path, "renderdoccmd.exe") if os.path.exists(cmd_path): self._renderdoccmd = cmd_path return cmd_path else: self._renderdoccmd = path return path # Try to find in PATH try: result = subprocess.run( ["where", "renderdoccmd"], capture_output=True, text=True ) if result.returncode == 0: self._renderdoccmd = result.stdout.strip().split("\n")[0] return self._renderdoccmd except Exception: pass self._renderdoccmd = None return None - src/renderdoc_mcp/server.py:266-271 (registration)The call_tool decorator that routes all tool invocations, including renderdoc_check_available, to their respective handlers based on the tool name.
@server.call_tool() async def call_tool(name: str, arguments: dict[str, Any]) -> list[TextContent]: """Handle tool invocations.""" wrapper = get_wrapper() try: