- Home
- MCP servers
- MCP Debug Server
MCP Debug Server
- python
0
GitHub Stars
python
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"nickzer0-mcp-debugserver": {
"command": "python",
"args": [
"<path-to>/mcp-debugserver/src/mcp_debugserver/server.py"
],
"env": {
"arch": "x64"
}
}
}
}You can debug Windows processes with an MCP Debug Server that exposes WinDbg/CDB tooling through a simple MCP client workflow. It lets you attach to processes, inspect memory, set breakpoints, view call stacks, and control execution from your MCP client, making complex debugging tasks faster and more repeatable.
How to use
Start by launching the local debug server so your MCP client can connect. Then configure your MCP client to connect to that server, and issue natural language prompts to drive debugging actions. The LLM will translate your requests into debugging actions such as attaching to a process, inspecting modules, reading memory, or stepping through code.
Practical usage patterns you can try after the server is running:
- Attach to a target process by name or PID and begin debugging
- Show loaded modules and symbol information for the attached process
- Read and inspect memory, registers, and call stacks
- Set and manage breakpoints, including hardware breakpoints
- Switch between threads and inspect per-thread state
- Create a minidump for later analysis
- Execute arbitrary WinDbg commands directly when needed
Basic workflow
-
Start the debug server on a port
-
Connect your MCP client to the server
-
Attach to the target process by PID or process name
-
Use inspection and control commands to debug as needed
-
Detach or disconnect when you are finished
Available tools
start_debug_server
Launches the local debug server instance and begins listening for connections from the MCP client.
stop_debug_server
Stops the running debug server instance and releases any resources.
connect_debugger
Establishes a connection from the MCP client to the running debug server.
disconnect_debugger
Terminates the connection from the MCP client to the debug server.
attach_process
Attaches the debugger to a target process by PID or name so you can inspect it.
detach_process
Detaches the debugger from the currently attached target process.
get_process_info
Retrieves information about the current target process, such as PID, image name, and modules.
read_memory
Reads a specified memory range from the target process.
write_memory
Writes data to a specified memory range in the target process.
read_registers
Reads the CPU registers for the current thread.
write_register
Writes a value to a specified CPU register.
get_callstack
Disassembles or lists the call stack for the current thread.
list_threads
Lists all threads in the target process and their state.
list_modules
Lists loaded modules and their base addresses in the target process.
module_info
Displays detailed information about a specific module loaded in the target process.
disassemble
Disassembles code at the current instruction pointer or a given address.
evaluate_expression
Evaluates a debugger expression or symbol in the context of the target process.
display_symbol
Displays information about a specific symbol or symbol path.
reload_symbols
Reloads symbol information from configured symbol paths.
set_symbol_path
Sets or updates the symbol search path for resolving symbols.
set_breakpoint
Sets a breakpoint at a specified address or function.
remove_breakpoint
Removes a breakpoint by address or identifier.
list_breakpoints
Lists all current breakpoints.
enable_breakpoint
Enables a previously disabled breakpoint.
disable_breakpoint
Disables a breakpoint without removing it.
step_into
Steps into the next instruction or function call.
step_over
Steps over the next instruction or function call.
step_out
Steps out of the current function.
break_execution
Pauses the target process execution.
resume_execution
Resumes execution after a break.
read_memory_range
Reads a contiguous block of memory for inspection.
write_memory_range
Writes a block of memory to the target process.
start_debug_server
Starts the debug server on a specified port.
stop_debug_server
Stops the running debug server.
get_exception_info
Retrieves information about the current exception state.
enable_exception_monitoring
Enables monitoring of exceptions in the target process.
get_last_exception_captured
Gets the most recently captured exception details.
set_exception_break
Sets a breakpoint on exceptions to trigger debugging actions.
resume_with_monitoring
Resumes execution with ongoing exception monitoring.
create_minidump
Creates a minidump file for post-mortem analysis.
set_hardware_breakpoint
Sets a hardware breakpoint on a memory address.
remove_hardware_breakpoint
Removes a hardware breakpoint.
list_hardware_breakpoints
Lists active hardware breakpoints.
toggle_hardware_breakpoint
Toggles the state of a hardware breakpoint.
execute_command
Runs any WinDbg command directly and returns the result.