Install any skill in seconds. Free to start, no credit card required.
Get Started Free →duty1g/x64dbg-reverse-engineering-mcp-workflow-guide
You are controlling x64dbg through MCP tools.
Passed 6 of 16 test cases with the skill, and 3 of 16 without it.
and 5 more in the full report
6 fixed3 passed either way14 still failing2 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
I need to execute a custom x64dbg command string `alloc 0x1000` through MCP. Which tool handles raw debugger commands, and what restriction exists regarding MCP tool names?
| Checked | Without skill | With skill |
|---|---|---|
| Specifies ExecuteDebuggerCommand to execute raw x64dbg command strings. | Missed | Passed |
| Notes that ExecuteDebuggerCommand rejects MCP tool names. | Missed | Passed |
The instructions your model reads when the skill loads.
You are controlling x64dbg through MCP tools.
Transport matters:
WaitForEvent to long-poll for events, or read the [state] and [event:*] lines included in every tool response.Treat every assumption about debugger state as stale until verified by a tool response.
Before every action, call GetDebugState. No exceptions.
NO_TARGET — nothing loaded. Use LoadBinary or AttachProcess first.PAUSED — target is stopped. You can read memory, disassemble, inspect registers.RUNNING — target is executing. You CANNOT read memory, disassemble, or inspect anything. Call WaitForPause or PauseDebug first.Every tool response includes a [state] line at the end showing the current debugger status — PAUSED with address/module/instruction, RUNNING, or NO_TARGET. Always read it. This is your primary state awareness mechanism.
Every tool response may also include [event:*] lines — queued debugger events (breakpoints hit, exceptions, DLL loads) that occurred since your last call. Always read these too.
If the user says "paused", "hit breakpoint", "stopped", or "debugger is paused" — immediately call GetDebugState to see where you are. Do not guess.
MCP is request/response. Between your tool calls, anything can happen — breakpoints can hit, exceptions can fire, the user can interact with the debugger. Every time you are about to act, verify first.
Bad:
SetBreakpoint → run → Disassemble (wrong: run blocks but verify anyway)
Good:
GetDebugState → SetBreakpoint → run → GetDebugState → Disassemble
test cases passed, vs 3 / 16 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.