
Embedded Debugger
STDIOProfessional MCP server for embedded debugging with probe-rs, supporting ARM Cortex-M and RISC-V microcontrollers
Professional MCP server for embedded debugging with probe-rs, supporting ARM Cortex-M and RISC-V microcontrollers
A professional Model Context Protocol (MCP) server for embedded debugging with probe-rs. Provides AI assistants with comprehensive debugging capabilities for embedded systems including ARM Cortex-M, RISC-V microcontrollers with real hardware integration.
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP Client │◄──►│ Embedded │◄──►│ Debug Probe │
│ (Claude/AI) │ │ Debugger MCP │ │ Hardware │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Target Device │
│ (ARM/RISC-V) │
└──────────────────┘
Hardware Requirements:
Software Requirements:
# Clone and build from source git clone https://github.com/adancurusul/embedded-debugger-mcp.git cd embedded-debugger-mcp cargo build --release
Configure MCP Clients
Add to Claude Desktop configuration file:
Windows Example:
{ "mcpServers": { "embedded-debugger": { "command": "C:\\path\\to\\debugger-mcp-rs\\target\\release\\embedded-debugger-mcp.exe", "args": [], "env": { "RUST_LOG": "info" } } } }
macOS/Linux Example:
{ "mcpServers": { "embedded-debugger": { "command": "/path/to/debugger-mcp-rs/target/release/embedded-debugger-mcp", "args": [], "env": { "RUST_LOG": "info" } } } }
Other examples for other tools like cursor ,claude code etc. please refer to the corresponding tool documentation
We provide a comprehensive STM32 RTT Bidirectional Demo that showcases all capabilities:
# Navigate to the example cd examples/STM32_demo # Build the firmware cargo build --release # Use with MCP server for complete debugging experience
What the demo shows:
📖 View STM32 Demo Documentation →
Please list available debug probes on the system
Connect to my STM32G431CBTx using ST-Link probe, then flash the firmware at examples/STM32_demo/target/thumbv7em-none-eabi/release/STM32_demo
Please attach RTT and show me the data from the terminal channel. Then send a command 'L' to toggle the LED.
Read 64 bytes of memory from address 0x08000000 and analyze the data format
Please help me test all 22 MCP embedded debugger tools with my STM32 board. Start by connecting to the probe, then systematically test each tool category: probe management, memory operations, debug control, breakpoints, flash operations, RTT communication, and session management.
All tools tested and validated with real STM32 hardware:
Tool | Description | Status |
---|---|---|
list_probes | Discover available debug probes | ✅ Production Ready |
connect | Connect to probe and target chip | ✅ Production Ready |
probe_info | Get detailed session information | ✅ Production Ready |
Tool | Description | Status |
---|---|---|
read_memory | Read flash/RAM with multiple formats | ✅ Production Ready |
write_memory | Write to target memory | ✅ Production Ready |
Tool | Description | Status |
---|---|---|
halt | Stop target execution | ✅ Production Ready |
run | Resume target execution | ✅ Production Ready |
reset | Hardware/software reset | ✅ Production Ready |
step | Single instruction stepping | ✅ Production Ready |
Tool | Description | Status |
---|---|---|
set_breakpoint | Set hardware/software breakpoints | ✅ Production Ready |
clear_breakpoint | Remove breakpoints | ✅ Production Ready |
Tool | Description | Status |
---|---|---|
flash_erase | Erase flash memory sectors/chip | ✅ Production Ready |
flash_program | Program ELF/HEX/BIN files | ✅ Production Ready |
flash_verify | Verify flash contents | ✅ Production Ready |
Tool | Description | Status |
---|---|---|
rtt_attach | Connect to RTT communication | ✅ Production Ready |
rtt_detach | Disconnect RTT | ✅ Production Ready |
rtt_channels | List available RTT channels | ✅ Production Ready |
rtt_read | Read from RTT up channels | ✅ Production Ready |
rtt_write | Write to RTT down channels | ✅ Production Ready |
run_firmware | Complete deployment + RTT | ✅ Production Ready |
Tool | Description | Status |
---|---|---|
get_status | Get current debug status | ✅ Production Ready |
disconnect | Clean session termination | ✅ Production Ready |
✅ 22/22 Tools - 100% Success Rate with Real Hardware
Current Status: PRODUCTION READY
Thanks to the following open source projects:
This project is licensed under the MIT License. See the LICENSE file for details.
⭐ If this project helps you, please give us a Star!