This is the canonical first-run debugger workflow for pwno-mcp.
Create a named debug session
{"tool":"create_debug_session","arguments":{"session_id":"chal-a"}}
Load the target binary
{"tool":"set_file","arguments":{"binary_path":"/workspace/chal","session_id":"chal-a"}}
Set a breakpoint at main
{"tool":"set_breakpoint","arguments":{"location":"main","session_id":"chal-a"}}
Run the program
{"tool":"run","arguments":{"args":"","start":false,"session_id":"chal-a"}}
Inspect the current state
{"tool":"get_context","arguments":{"context_type":"all","session_id":"chal-a"}}
{"tool":"get_memory","arguments":{"address":"$rsp","size":64,"format":"hex","session_id":"chal-a"}}
Step once
{"tool":"step_control","arguments":{"command":"n","session_id":"chal-a"}}
At this point you should have a stable named session you can continue using for more breakpoints, raw execute commands, or an interactive pwncli flow.
Useful follow-ups
- use
finish to run out of the current function
- use
until to run until a location or next source line
- use
gdb_interrupt if the inferior is still running and you need to regain control
See Debug Sessions Reference for the full command set.