home / mcp / embedded debugger mcp server
MCP server enabling embedded debugging with real hardware, RTT, breakpoints, flash, and AI-assisted workflows.
Configuration
View docs{
"mcpServers": {
"adancurusul-embedded-debugger-mcp": {
"command": "C:\\path\\to\\debugger-mcp-rs\\target\\release\\embedded-debugger-mcp.exe",
"args": [],
"env": {
"RUST_LOG": "info"
}
}
}
}You have a high-performance MCP server for embedded debugging that integrates with probe hardware to give AI assistants like Claude direct, real-time control over embedded targets. It supports multiple probes, memory operations, breakpoints, flash programming, RTT, and multi-architecture targets, enabling fully interactive debugging sessions with real hardware.
You use this MCP server by connecting it to an MCP client or AI assistant and then performing debugging tasks through the client. Start a local or remote server configuration, attach to your probe, and you can halt, run, reset, or single-step the target. Use the RTT channel for real-time data streams and issue memory, flash, and breakpoint commands as you develop.
Prerequisites involve setting up the development environment and verifying hardware readiness. You will need a supported debug probe, a target board, and the appropriate software toolchain.
Install prerequisites and build from source with the following steps.
# Clone the MCP server repository
git clone https://github.com/adancurusul/embedded-debugger-mcp.git
cd embedded-debugger-mcp
# Build in release mode
cargo build --releaseConfigure your MCP client to connect to the server. You can reference the provided configuration examples for different platforms to ensure the MCP client launches the server with the correct environment and command.
A complete set of usage examples and demonstrations is included to showcase interactive RTT communication, multi-tool validation, and a STM32-based demonstration workflow.
Discover available debug probes connected to the system and visible to the MCP server
Establish a session with a connected probe and target device to begin debugging
Retrieve detailed information about the current probe session and capabilities
Read memory from flash or RAM using multiple data formats
Write data to target memory with broad format support
Pause the target's execution to inspect state
Resume target execution from halt or breakpoints
Reset the hardware or software state of the target
Single-step through instructions for precise debugging
Install hardware or software breakpoints at specified addresses
Remove existing breakpoints
Erase flash memory sectors or the entire chip before programming
Program ELF/HEX/BIN files into flash
Verify that flash contents match the expected data
Connect to the Real-Time Transfer (RTT) channel for bidirectional communication
Disconnect RTT from the current session
List available RTT channels for data exchange
Read data from RTT up channels in real time
Write data to RTT down channels
Deploy and run firmware with RTT enabled for full integration
Query the current status of the debugging session
Terminate the debugging session and clean up resources