home / mcp / embedded debugger mcp server

Embedded Debugger MCP Server

MCP server enabling embedded debugging with real hardware, RTT, breakpoints, flash, and AI-assisted workflows.

Installation
Add the following to your MCP client configuration file.

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.

How to use

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.

How to install

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 --release

Additional notes and setup details

Configure 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.

Available tools

list_probes

Discover available debug probes connected to the system and visible to the MCP server

connect

Establish a session with a connected probe and target device to begin debugging

probe_info

Retrieve detailed information about the current probe session and capabilities

read_memory

Read memory from flash or RAM using multiple data formats

write_memory

Write data to target memory with broad format support

halt

Pause the target's execution to inspect state

run

Resume target execution from halt or breakpoints

reset

Reset the hardware or software state of the target

step

Single-step through instructions for precise debugging

set_breakpoint

Install hardware or software breakpoints at specified addresses

clear_breakpoint

Remove existing breakpoints

flash_erase

Erase flash memory sectors or the entire chip before programming

flash_program

Program ELF/HEX/BIN files into flash

flash_verify

Verify that flash contents match the expected data

rtt_attach

Connect to the Real-Time Transfer (RTT) channel for bidirectional communication

rtt_detach

Disconnect RTT from the current session

rtt_channels

List available RTT channels for data exchange

rtt_read

Read data from RTT up channels in real time

rtt_write

Write data to RTT down channels

run_firmware

Deploy and run firmware with RTT enabled for full integration

get_status

Query the current status of the debugging session

disconnect

Terminate the debugging session and clean up resources