Collection · 12 entries · updated 29 Oct 2026

Debug probes your agent can drive

Serial logs only go so far. With these MCP servers and tools, an agent halts a core, reads registers and memory, streams RTT or SWO trace and recovers a stuck target through OpenOCD, probe-rs, pyOCD, J-Link, ST-LINK and CMSIS-DAP probes. Start with the 2 entries that show output from a board, then pick the tool that matches your probe. The builds at the end show agents finding bugs this way.

Entries in this collection

  1. 5 mo ago

    1 of 12A short way in if you have OpenOCD and a CMSIS-DAP probe: identify the chip, halt, read registers and decode peripherals from SVD. The repo includes a smoke test run on an STM32F407.

    ToolBB-0062github.com5 starsPython

    OpenOCD MCU MCP: an OpenOCD bridge and Codex skill for Cortex-M debugging

    OpenOCD MCU MCP connects a coding agent to a microcontroller through OpenOCD, using an MCP server and a Codex skill. The agent can identify the chip, halt and reset it, read registers and memory, and decode peripheral registers from CMSIS-SVD files. The README includes a smoke test on an STM32F407 over a CMSIS-DAP probe.

    Shown working
  2. 5 mo ago

    2 of 12For STM32 work with ST's own tools: CubeMX, CubeIDE, CubeProgrammer and the ST-LINK GDB server, driven from Claude Code. The demo GIF builds and flashes a NUCLEO-L476RG from one request.

    ToolBB-0064github.comCurator pick6 starsPython

    embedagents-stm32: a Claude Code plugin that drives ST's STM32 tools

    embedagents-stm32 runs ST's own command-line tools from Claude Code to work on STM32 projects. It drives CubeMX, CubeIDE, CubeProgrammer, the signing tool, the ST-LINK GDB server and the virtual COM port, and bundles none of them. The README's demo GIF shows Claude Code building and flashing a NUCLEO-L476RG from one plain-language request.

    Shown working
  3. 5 mo ago

    3 of 12Flashes through probe-rs or espflash and captures RTT, semihosting or serial with defmt decoding, stopping as soon as the expected line appears so the agent never waits out a timeout. We have not seen a full session log.

    ToolBB-0069github.com5 starsRust

    flashprobe-mcp: flash and monitor firmware over probe-rs or espflash

    flashprobe-mcp flashes embedded targets from Claude Code or another MCP client, through probe-rs over SWD or JTAG or espflash over UART. It then captures RTT, semihosting or serial output and decodes defmt frames. Capture stops at an expected line, a defmt error at a set level, idle time or a timeout. The README shows no full session log.

  4. 6 mo ago

    4 of 12A VS Code extension that flashes and recovers Cortex-M chips through CMSIS-DAP and opens a two-way RTT terminal, with the same actions exposed as MCP tools. Supports the nRF54L15 out of the box. We have not seen it run.

    ToolBB-0011github.com1 starTypeScript

    FreeOCD: a CMSIS-DAP flasher and RTT debugger for VS Code with an MCP server

    FreeOCD flashes, verifies, recovers and soft-resets microcontrollers from VS Code through a CMSIS-DAP probe, and opens a two-way SEGGER RTT terminal. The extension registers the same actions as MCP tools for Copilot and other MCP clients. The README lists the Nordic nRF54L15 as the only built-in target; other chips need a target definition file.

  5. 4 mo ago

    5 of 12Adds ITM/SWO trace streaming through pyOCD, with raw and decoded export, for when RTT is not enough. The README shows no captured trace.

    ToolBB-0075github.com0 starsPython

    brontes-probe-mcp: a debug-probe broker that streams ITM/SWO trace to agents

    brontes-probe-mcp connects coding agents such as Claude Code to a Cortex-M debug probe through pyOCD. Agents can program firmware, halt and resume, read memory and stream ITM/SWO trace with raw and decoded export. Docker images are published, though Docker Desktop on macOS cannot pass a USB probe through. The README shows no captured trace.

  6. 3 mo ago

    6 of 12The broadest toolbox here: ST-Link and J-Link, Keil builds, ELF symbols, SVD decoding, RTT, FreeRTOS task state and GDB servers. Its results say whether a failure is the chip, the firmware or the setup. We have not seen it run.

    ToolBB-0119github.com8 starsPython

    McuBuddy connects AI assistants to MCU debug probes such as ST-Link and J-Link for board-level debugging. Opt-in toolsets add Keil MDK builds, SVD register decoding, RTT and UART logs, FreeRTOS task state and flash writes. Each result says what kind of failure it found and suggests the next safe check. The README lists validation on STM32L496 and STM32F103 boards.

  7. 37 d ago

    7 of 12A scriptable J-Link RTT terminal: firmware exposes a console over RTT and Lua scripts assert on replies and timing. It shares the flashing probe and leaves the UART free. Windows only; we have not seen it run.

    ToolBB-0216github.com58 starsC#

    rttsh: a scriptable SEGGER RTT terminal for on-board firmware checks by agents

    rttsh is a Windows command-line terminal over SEGGER J-Link RTT for checking firmware on the board. Firmware exposes a command console through RTT, and Lua scripts on the host send commands and assert on replies and timing. It shares the flashing probe, leaves the UART free and includes an 8-tool MCP server. The README's 23 example scripts target an STM32H743.

  8. 3 mo ago

    8 of 12For when a person, a script and an agent all need the same UART or GDB stub. A linked transcript shows an agent probing an unknown SAM C21 board over SWD and naming the part.

    ToolBB-0133github.com2 starsC

    smolmux: share one serial or SWD connection between people, scripts and agents

    smolmux holds one serial, GDB or serial-over-TCP link open and shares it among several clients over Unix sockets. Two MCP servers put the broker in front of agents, and esptool can borrow the port. The README's demo GIF runs on an ESP32-S3, and a linked transcript shows its MCP probe tool identifying a SAM C21 board over SWD.

    Shown working
  9. 57 d ago

    9 of 12A probe built for agents: target power, USB switching, reset, boot straps, SWD/JTAG and UART on one RP2040 board. The dated validation report includes logic-analyzer checks of SWD on the fabricated board.

    ToolBB-0187github.com0 starsHTML

    Agent Debug Probe: an RP2040 probe that gives agents power, reset, SWD and UART

    Agent Debug Probe connects a coding agent to a target through an RP2040 probe and MCP adapter. The agent can switch target power and USB data, drive reset and boot straps, and use SWD/JTAG and UART. A validation report dated 8 August logs bench tests of the fabricated board, including an 8.66 MB UART transfer to a Zynq target.

  10. 2 mo ago

    10 of 12Not a probe but the rule to put on top of one: the agent cannot say firmware works until the board prints a boot banner with the git hash and register readbacks match. The README has console logs from an STM32H743.

    ToolBB-0181github.com1 starPython

    flashgate: a hardware-in-the-loop check for firmware an agent just built

    flashgate checks whether firmware an agent just built runs on an STM32 board. It flashes over ST-Link, waits for a boot banner carrying the git hash, drives features over the console and checks register readbacks. Each run ends with an exit code and a JSON record. The README includes console output from an STM32H743 bench.

    Shown working
  11. 3 mo ago

    11 of 12Claude Code drove a PIC24 Curiosity board's onboard debugger from the command line and traced a dropped-byte I2C bug, with an OLED photo after each flash to check the fix.

    BuildBB-0120github.comBuild of the week

    Claude Code agents build a tilt maze game on a PIC24 Curiosity board and debug its I2C driver

    Ori Grossman built a tilt maze game on a PIC24FJ256GA705 Curiosity board with Claude Code agents, an ADXL345 accelerometer and a 96x96 OLED. One agent drove the board's debugger through MPLAB's mdb command line and traced an I2C driver bug that dropped queued bytes. The README has a photo of the game running.

  12. 2 mo ago

    12 of 12An agent flashed an nRF52840 dongle as a BLE sniffer, read RTT logs and counted 36 advertisements on air against zero received. That led it to an RF front-end that was never switched on.

    BuildBB-0151youtube.comCurator pick

    Adsum IoT Coder finds a disabled RF front-end with a BLE sniffer it flashed itself

    Adsum Networks' IoT Coder agent debugged a Fanstel BWG840 gateway whose nRF52840 BLE scanner ran cleanly but received nothing. It flashed an nRF52840 dongle as a Bluetooth sniffer and compared the air with RTT logs: 36 advertisements captured, none received. The cause was an RF front-end that was never enabled. This is a vendor demo of its own product.

    Shown working

All collections