# dbgprobe-mcp-server [Health: Active]

**Category:** 📟 Embedded System  
**Repository:** https://github.com/es617/dbgprobe-mcp-server.git  
**GitHub Stars:** 10  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/dbgprobe-mcp-server

## Description
Let AI agents interact with debug probes — connect, flash, read/write memory, and reset.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "dbgprobe-mcp-server": {
    "command": "uvx",
    "args": ["dbgprobe-mcp-server"],
    "env": {
      "DBGPROBE_BACKEND": "",
      "DBGPROBE_JLINK_PATH": "",
      "DBGPROBE_JLINK_GDBSERVER_PATH": "",
      "DBGPROBE_JLINK_DEVICE": "",
      "DBGPROBE_INTERFACE": "",
      "DBGPROBE_SPEED_KHZ": "",
      "DBGPROBE_MCP_LOG_LEVEL": "",
      "DBGPROBE_MCP_TOOL_SEPARATOR": ""
    }
  }
}
```

**Requires environment variables:** `DBGPROBE_BACKEND`, `DBGPROBE_JLINK_PATH`, `DBGPROBE_JLINK_GDBSERVER_PATH`, `DBGPROBE_JLINK_DEVICE`, `DBGPROBE_INTERFACE`, `DBGPROBE_SPEED_KHZ`, `DBGPROBE_MCP_LOG_LEVEL`, `DBGPROBE_MCP_TOOL_SEPARATOR` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What dbgprobe-mcp-server MCP server does

dbgprobe-mcp-server MCP server exposes embedded debug operations through the Model Context Protocol. Its working backend is SEGGER J-Link, allowing an agent to discover attached probes, create sessions, flash or erase a target, reset it, and inspect or modify memory.

The server also provides controls for interactive debugging, including halt, resume, single-step, status checks, and breakpoint management. An ELF file can be attached to support symbol lookup and symbol-aware debugging. SVD files provide structured access to peripherals, registers, and fields, including register reads and writes.

Additional tool groups cover Segger RTT communication, plugin management, and trace inspection. Multiple probe connections can be tracked at the same time, with each connection maintaining its own session state.

## How it works

The server communicates with an MCP client over standard input and output. The client invokes namespaced tools such as `dbgprobe.connect` or `dbgprobe.mem.read`, and receives structured JSON results. A typical session can list probes, connect to a selected target, flash firmware, reset or halt the device, and read memory without manually entering J-Link Commander commands.

J-Link support relies on SEGGER’s command-line software. The server looks for `JLinkExe` and, where needed, `JLinkGDBServerCLExe` on the system PATH or in common installation directories. The target device can be configured globally or supplied when a session is created. SWD is the default interface, with JTAG also supported.

Tool names use periods by default. Clients that reject periods in tool names can use an alternate separator through configuration; the README specifically documents this adjustment for Cursor.

## Setup and configuration

Install Python 3.11 or newer, the package, and the SEGGER J-Link Software Pack. A packaged installation can be registered with Claude Code using `dbgprobe_mcp`; editable installation is also documented with pip and uv. VS Code with Copilot uses a project `.vscode/mcp.json` file, while Cursor uses `.cursor/mcp.json`.

Useful configuration variables include:

- `DBGPROBE_JLINK_PATH` and `DBGPROBE_JLINK_GDBSERVER_PATH` for explicit SEGGER executable paths.
- `DBGPROBE_JLINK_DEVICE` for a default target device such as `nRF52840_xxAA`.
- `DBGPROBE_INTERFACE` and `DBGPROBE_SPEED_KHZ` for the debug connection.
- `DBGPROBE_MCP_LOG_LEVEL` for server logging.
- `DBGPROBE_MCP_TOOL_SEPARATOR` when a client cannot accept dotted tool names.
- `DBGPROBE_MCP_PLUGINS` to enable all plugins or selected plugin names.

Tracing is enabled by default. `DBGPROBE_MCP_TRACE` disables it, while `DBGPROBE_MCP_TRACE_PAYLOADS` includes memory payloads in trace arguments and `DBGPROBE_MCP_TRACE_MAX_BYTES` limits their size.

## Tools and capabilities

The available tool families include probe discovery and control, connection listing, ELF attachment and symbol queries, SVD inspection and register operations, RTT start/read/write/status operations, plugin listing and loading, and trace status or tail operations. Probe controls include erase, flash, reset, halt, go, step, status, memory read/write, and breakpoint set, clear, and list.

## Limitations and notes

The current working backend is J-Link. OpenOCD and pyOCD are listed as planned backends, so ST-Link and other hardware supported only through those backends are not currently provided by this implementation. The server requires compatible SEGGER software and a connected supported probe for J-Link operations. It is not affiliated with or sponsored by SEGGER.

_Full upstream README: https://allmcps.com/mcp/dbgprobe-mcp-server/readme_

