x64dbg MCP server - 36 tools, 15 resources, 10 prompts for AI-assisted debugging and reverse engineering
Critical failures across naming, descriptions, and schemas. 37 tools with minimal documentation. Most tool names lack action verbs (x64dbg_* prefix is domain-specific, not action-oriented). Descriptions are generic and under 50 chars for majority. Input schemas present but severely underspecified: parameters use string types with minimal constraints, no enums for action fields despite accepting fixed values ('run', 'pause', 'step_into', etc.). No output schemas documented. No error handling guidance. No parameter validation rules. Composition issues: x64dbg_command is a catch-all that duplicates functionality of 36 other tools. Tools like x64dbg_debug accept 'action' as free-form string instead of enum, inviting hallucinated values. No pagination support visible. Security: no mention of credential handling or permission gates.
Convert between different address representations
Advanced binary dumping with OEP detection and PE rebuilding
Perform static and dynamic code analysis
Detect and bypass anti-debugging techniques
Assemble and disassemble instructions
Automatically generate and apply patches
Apply annotations in batch to multiple addresses
Manage bookmarks for addresses and code locations
Action parameters use free-form strings instead of enums. x64dbg_debug accepts 'action' as string with values like 'run', 'pause', 'step_into', should be enum type to prevent hallucinated values like 'execute' or 'resume'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 28 | 2026-07-28+ | v2 |
Manage software and hardware breakpoints
Execute arbitrary x64dbg commands
Perform compound analysis operations combining multiple analysis techniques
Manage debugging context and state
Analyze and manipulate control flow
Query and manage the analysis database
Control debugger execution: run, pause, step, continue, and check debugger state
Disassemble code at specified addresses
Dump module information including imports and exports
Subscribe to and manage debugger events
Manage exception handling and exception information
Bridge to Frida for dynamic instrumentation
Analyze and manage function information
Enumerate and manage process handles
Read and write process memory
Inspect loaded modules and their properties
Apply and manage binary patches
Search for code and data patterns with regex and wildcards
Manage process information and control
Read and write CPU registers
Execute and manage x64dbg scripts
Search for patterns in memory and code
Compare memory snapshots to identify changes
Inspect and manipulate the call stack
Resolve symbols and manage symbol information
Access system-level debugging information
Manage debugged process threads
Set up and manage execution tracing with logging
Monitor and manage watchdog threads
Tool names lack action verbs. All 37 tools use 'x64dbg_<noun>' pattern (x64dbg_debug, x64dbg_registers, x64dbg_memory). LLMs cannot infer intent from noun-only names. Should use verb_noun: 'get_registers', 'set_register', 'read_memory', 'write_memory', 'run_debugger', 'pause_debugger'.
No output schemas documented. Tool descriptions state what they do but never specify what fields are returned. LLMs cannot plan downstream tool calls or extract required IDs without knowing response structure.
x64dbg_command is a catch-all tool that duplicates 36 other tools. Violates single-responsibility principle. LLMs will be confused about whether to call x64dbg_debug or x64dbg_command. Remove or restrict to truly arbitrary commands not covered by specific tools.
Descriptions are generic and under 50 characters for most tools. 'Control debugger execution: run, pause, step, continue, and check debugger state' (x64dbg_debug) lacks context on WHEN to use it vs similar tools, prerequisites, or side effects. Baseline for A+ tools is 50-200 chars with clear intent.