プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Dbgprobe MCP Server

作者:es617バージョン 0.1.4i★ –iパソコンで動く
レジストリ名io.github.es617/dbgprobe-mcp-server

インストール

概要

作者による説明(英語の原文)

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

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 検索・AIの記憶

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: DBGPROBE_BACKEND, DBGPROBE_MCP_LOG_LEVEL, DBGPROBE_JLINK_PATH, DBGPROBE_JLINK_GDBSERVER_PATH, DBGPROBE_JLINK_DEVICE, DBGPROBE_INTERFACE, DBGPROBE_SPEED_KHZ, DBGPROBE_MCP_PLUGINS, DBGPROBE_MCP_TOOL_SEPARATOR

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

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

ターミナルでこれを実行します

claude mcp add dbgprobe --env DBGPROBE_BACKEND=your-value --env DBGPROBE_MCP_LOG_LEVEL=your-value --env DBGPROBE_JLINK_PATH=your-value --env DBGPROBE_JLINK_GDBSERVER_PATH=your-value --env DBGPROBE_JLINK_DEVICE=your-value --env DBGPROBE_INTERFACE=your-value --env DBGPROBE_SPEED_KHZ=your-value --env DBGPROBE_MCP_PLUGINS=your-value --env DBGPROBE_MCP_TOOL_SEPARATOR=your-value -- uvx dbgprobe-mcp-server

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

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

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "dbgprobe": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "dbgprobe-mcp-server"
      ],
      "env": {
        "DBGPROBE_BACKEND": "your-value",
        "DBGPROBE_MCP_LOG_LEVEL": "your-value",
        "DBGPROBE_JLINK_PATH": "your-value",
        "DBGPROBE_JLINK_GDBSERVER_PATH": "your-value",
        "DBGPROBE_JLINK_DEVICE": "your-value",
        "DBGPROBE_INTERFACE": "your-value",
        "DBGPROBE_SPEED_KHZ": "your-value",
        "DBGPROBE_MCP_PLUGINS": "your-value",
        "DBGPROBE_MCP_TOOL_SEPARATOR": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • DBGPROBE_BACKEND env
    Debug probe backend to use (default: jlink). Future: openocd, pyocd.
  • DBGPROBE_MCP_LOG_LEVEL env
    Log level: DEBUG, INFO, WARNING (default), ERROR.
  • DBGPROBE_JLINK_PATH env
    Explicit path to JLinkExe (or JLink.exe on Windows). Auto-detected if not set.
  • DBGPROBE_JLINK_GDBSERVER_PATH env
    Explicit path to JLinkGDBServerCLExe. Auto-detected if not set.
  • DBGPROBE_JLINK_DEVICE env
    Default target device string (e.g. nRF52840_xxAA). Can be overridden per-session.
  • DBGPROBE_INTERFACE env
    Debug interface: SWD (default) or JTAG.
  • DBGPROBE_SPEED_KHZ env
    Interface speed in kHz (default: 4000).
  • DBGPROBE_MCP_PLUGINS env
    Plugin policy: 'all' or comma-separated plugin names. Unset = disabled.
  • DBGPROBE_MCP_TOOL_SEPARATOR env
    Tool name separator character (default '.'). Set to '_' for clients that reject dots (e.g. Cursor).

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント es617 で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

検索・AIの記憶のほかのサーバーとの比較i

  • このカテゴリのほかの7251件のうち0%よりスターが多い
  • このカテゴリのほかの7251件のうち5%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの7251件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Dbgprobe MCP Serverは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.4)がレジストリに届いたのは8 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Context7, Codebase Memory, Exa

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Context7

作者:upstash

Up-to-date docs for AI agents

パソコンでもクラウドでも★ 64,224MIT今日更新
インストール

Codebase Memory

作者:DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

パソコンで動く★ 48,148MIT20 日前更新
インストール

Exa

作者:exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

クラウドで動く★ 5,213MIT先月更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Debug Probe MCP Server

A stateful debug probe Model Context Protocol (MCP) server for developer tooling and AI agents. Works out of the box with Claude Code, VS Code with Copilot, and any MCP-compatible runtime. Communicates over stdio and drives on-chip debug probes (J-Link first, OpenOCD and pyOCD planned) to flash, debug, and inspect embedded targets.

Example: Let Claude Code list attached J-Link probes, connect to your nRF52840, flash a new firmware, read memory, and reset the target — all conversationally.

Demo

Video walkthrough — connecting to a J-Link probe, flashing firmware, loading ELF and SVD for symbol-aware debugging, RTT logging, and breakpoints.


Why this exists

If you've ever typed J-Link Commander commands by hand, copy-pasted memory addresses between a datasheet and a terminal, re-flashed the same firmware 20 times during a debug session, and juggled multiple tool windows — this is for you.

You have a microcontroller on a debug probe. You want an AI agent to interact with it — connect, flash firmware, read/write memory, reset, halt, resume. This server makes that possible.

It gives any MCP-compatible agent a full set of debug probe tools. The agent calls these tools, gets structured JSON back, and reasons about what to do next — without you manually driving JLinkExe for every operation.

What agents can do with it:

  • Flash and iterate — build firmware, flash it, reset, check behavior — all in one conversation
  • Inspect memory — read peripheral registers, check RAM contents, verify flash writes
  • Debug interactively — halt, step, set breakpoints, inspect state, resume
  • Automate test flows — flash → reset → read output → validate
  • Multi-probe setups — connect to multiple probes simultaneously, each with its own session

Who is this for?

  • Embedded engineers — faster iteration: flash, debug, inspect memory conversationally
  • Hobbyists and makers — interact with microcontrollers without learning JLinkExe command syntax
  • QA and test engineers — automated flash-and-test sequences across multiple boards
  • Researchers — systematic exploration of embedded systems, register inspection

Quickstart (Claude Code)

pip install dbgprobe-mcp-server

Register the MCP server with Claude Code

claude mcp add dbgprobe -- dbgprobe_mcp

Or with explicit J-Link path

claude mcp add dbgprobe \ -e DBGPROBE_JLINK_PATH=/Applications/SEGGER/JLink/JLinkExe \ -- dbgprobe_mcp

Then in Claude Code, try:

"List attached debug probes, connect to the J-Link, and read 16 bytes from address 0x20000000."


Supported backends

BackendStatusProbe hardware
J-LinkWorking (v0)SEGGER J-Link (EDU, EDU Mini, PLUS, PRO, etc.)
OpenOCDPlannedST-Link, CMSIS-DAP, and many others
pyOCDPlannedCMSIS-DAP, ST-Link, J-Link (via pyOCD)

The server is backend-agnostic — tool names (dbgprobe.*) stay the same regardless of which probe you use.

J-Link requirements

Install the SEGGER J-Link Software Pack. The server auto-detects JLinkExe on PATH or in common install locations:

  • macOS: /Applications/SEGGER/JLink/
  • Linux: /opt/SEGGER/JLink/, /usr/bin/
  • Windows: C:\Program Files\SEGGER\JLink\

Or set DBGPROBE_JLINK_PATH to point to the executable directly.

*This project is not affiliated with or sponsored by SEGGER. J-Link is used because it's widely available and well-supported.*


Tools

CategoryTools
Probedbgprobe.probes.list, dbgprobe.connect, dbgprobe.erase, dbgprobe.disconnect, dbgprobe.reset, dbgprobe.halt, dbgprobe.go, dbgprobe.step, dbgprobe.status, dbgprobe.flash, dbgprobe.mem.read, dbgprobe.mem.write, dbgprobe.breakpoint.set, dbgprobe.breakpoint.clear, dbgprobe.breakpoint.list
Introspectiondbgprobe.connections.list
ELFdbgprobe.elf.attach, dbgprobe.elf.info, dbgprobe.elf.lookup, dbgprobe.elf.symbols
SVDdbgprobe.svd.attach, dbgprobe.svd.info, dbgprobe.svd.read, dbgprobe.svd.write, dbgprobe.svd.set_field, dbgprobe.svd.update_fields, dbgprobe.svd.list_peripherals, dbgprobe.svd.list_registers, dbgprobe.svd.list_fields, dbgprobe.svd.describe
RTTdbgprobe.rtt.start, dbgprobe.rtt.stop, dbgprobe.rtt.read, dbgprobe.rtt.write, dbgprobe.rtt.status
Pluginsdbgprobe.plugin.list, dbgprobe.plugin.template, dbgprobe.plugin.load, dbgprobe.plugin.reload
Tracingdbgprobe.trace.status, dbgprobe.trace.tail

See docs/tools.md for full schemas and examples.


Install (development)

# Editable install from repo root

pip install -e ".[test]"

Or with uv

uv pip install -e ".[test]"

MCP is a protocol — this server works with any MCP-compatible client. Below are setup instructions for the most common ones.

Add to Claude Code

# Standard setup

claude mcp add dbgprobe -- dbgprobe_mcp

With default target device

claude mcp add dbgprobe \ -e DBGPROBE_JLINK_DEVICE=nRF52840_xxAA \ -- dbgprobe_mcp

Debug logging

claude mcp add dbgprobe -e DBGPROBE_MCP_LOG_LEVEL=DEBUG -- dbgprobe_mcp

Add to VS Code / Copilot

Add to your project's .vscode/mcp.json (or create it):

{

"servers": { "dbgprobe": { "type": "stdio", "command": "dbgprobe_mcp", "args": [], "env": { "DBGPROBE_JLINK_DEVICE": "nRF52840_xxAA" } } } }

Adjust env to match your target — set DBGPROBE_JLINK_DEVICE to your chip, or remove it to specify the device at connect time.

Add to Cursor

Add to your project's .cursor/mcp.json (or create it). Cursor does not support dots in tool names, so DBGPROBE_MCP_TOOL_SEPARATOR must be set to _:

{

"mcpServers": { "dbgprobe": { "command": "dbgprobe_mcp", "args": [], "env": { "DBGPROBE_JLINK_DEVICE": "nRF52840_xxAA", "DBGPROBE_MCP_TOOL_SEPARATOR": "_" } } } }

Environment variables

Server
VariableDefaultDescription
DBGPROBE_BACKENDjlinkDebug probe backend. Future: openocd, pyocd.
DBGPROBE_MCP_LOG_LEVELWARNINGPython log level (DEBUG, INFO, WARNING, ERROR). Logs go to stderr.
DBGPROBE_MCP_TRACEenabledJSONL tracing of every tool call. Set to 0, false, or no to disable.
DBGPROBE_MCP_TRACE_PAYLOADSdisabledInclude memory data payloads in traced args (stripped by default).
DBGPROBE_MCP_TRACE_MAX_BYTES16384Max payload chars before truncation (only when TRACE_PAYLOADS is on).
DBGPROBE_MCP_TOOL_SEPARATOR.Character used to separate tool name segments. Set to _ for MCP clients that reject dots in tool names (e.g. Cursor).
DBGPROBE_MCP_PLUGINSdisabledPlugin policy: all or comma-separated plugin names (e.g. nrf52,stm32).
J-Link backend
VariableDefaultDescription
DBGPROBE_JLINK_PATHauto-detectExplicit path to JLinkExe (or JLink.exe on Windows).
DBGPROBE_JLINK_GDBSERVER_PATHauto-detectExplicit path to JLinkGDBServerCLExe.
DBGPROBE_JLINK_DEVICE*(none)*Default target device string (e.g. nRF52840_xxAA). Can be overridden per-session.
DBGPROBE_INTERFACESWDDebug interface: SWD or JTAG.
DBGPROBE_SPEED_KHZ4000Interface clock speed in kHz.
DBGPROBE_GDB_TRACEdisabledLog all GDB RSP packets to file. Set to 1, true, or yes to enable.
DBGPROBE_GDB_TRACE_FILE/tmp/gdb_trace.logPath for GDB RSP trace log (only when GDB_TRACE is on).

ELF Support

Attach an ELF file to a session to enable symbol-aware debugging:

  • Symbol lookup — resolve function names to addresses and vice versa
  • Breakpoints by name — breakpoint.set(symbol="main") instead of raw addresses
  • Auto-enriched responses — status, step, and halt include symbol + symbol_offset when an ELF is attached
  • Flash integration — flashing an .elf auto-attaches it; flashing .hex/.bin auto-reloads a previously attached ELF; sibling .elf files are suggested via hints
> "Attach the ELF, set a breakpoint on main, run, and show me where it halted."

The agent calls elf.attach, breakpoint.set(symbol="main"), go, then status — and gets back "halted at main+0" instead of a raw hex address.


SVD Support

Attach an SVD (System View Description) file to a session to enable register-level peripheral access:

  • Named register reads — svd.read("GPIO.OUT") returns the raw value and all decoded fields with enum names
  • Field-level reads — svd.read("GPIO.PIN_CNF[3].PULL") returns the field value and enum name ("PullUp")
  • Safe field writes — svd.set_field("GPIO.PIN_CNF[3].PULL", "PullUp") does read-modify-write
  • Batch field updates — svd.update_fields("GPIO.PIN_CNF[3]", {"DIR": "Output", "PULL": "PullUp"}) — one read, one write
  • Raw register writes — svd.write("GPIO.OUT", 0x01) — full register, no RMW
  • Discovery — list peripherals, registers, fields; describe with enums
  • Auto-decode on mem.read — when an SVD is attached and mem.read hits a known register address, the response includes decoded fields
> "Attach the SVD, read GPIO.PIN_CNF[3], and set PULL to PullUp."

The agent calls svd.attach, svd.read("GPIO.PIN_CNF[3]"), then svd.set_field("GPIO.PIN_CNF[3].PULL", "PullUp") — and gets back decoded field values instead of raw hex.


RTT (Real-Time Transfer)

Start, stop, read, and write to SEGGER RTT channels. The agent can stream target log output and send data to the device — useful for debugging firmware that prints over RTT instead of UART.

> "Start RTT and show me the output."

For repetitive flows — read device ID, run a self-test sequence, validate calibration — you can package them as plugins: Python modules that expose custom tools the agent can call directly.

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く