Skip to content
Agentmart
Submit a tool

Dbgprobe MCP Server

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

Connector by es617 · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 10
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/es617-dbgprobe-mcp-server

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
25 read · 13 write · 3 delete · 7 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Python package

Tools by what they do 48

Read from the source code; the running server may list different tools.

Read 25 · Look things up without changing anything.

  • dbgprobe.breakpoint.list
  • dbgprobe.connections.list
  • dbgprobe.elf.info
  • dbgprobe.elf.lookup
  • dbgprobe.elf.symbols
  • dbgprobe.mem.read
  • dbgprobe.plugin.list
  • dbgprobe.plugin.template
  • dbgprobe.probes.list
  • dbgprobe.rtt.read
  • dbgprobe.rtt.status
  • dbgprobe.spec.get
Show 13 more tools
  • dbgprobe.spec.list
  • dbgprobe.spec.read
  • dbgprobe.spec.search
  • dbgprobe.spec.template
  • dbgprobe.status
  • dbgprobe.svd.describe
  • dbgprobe.svd.info
  • dbgprobe.svd.list_fields
  • dbgprobe.svd.list_peripherals
  • dbgprobe.svd.list_registers
  • dbgprobe.svd.read
  • dbgprobe.trace.status
  • dbgprobe.trace.tail

Write 13 · Create, change, send or run things.

  • dbgprobe.breakpoint.set
  • dbgprobe.disconnect
  • dbgprobe.elf.attach
  • dbgprobe.mem.write
  • dbgprobe.rtt.start
  • dbgprobe.rtt.stop
  • dbgprobe.rtt.write
  • dbgprobe.spec.attach
  • dbgprobe.spec.register
  • dbgprobe.svd.attach
  • dbgprobe.svd.set_field
  • dbgprobe.svd.update_fields
Show 1 more tools
  • dbgprobe.svd.write

Delete 3 · Delete, drop, revoke or wipe things.

  • dbgprobe.breakpoint.clear
  • dbgprobe.erase
  • dbgprobe.reset

Not yet classified 7 · We could not tell from the name and description.

  • dbgprobe.connect
  • dbgprobe.flash
  • dbgprobe.go
  • dbgprobe.halt
  • dbgprobe.plugin.load
  • dbgprobe.plugin.reload
  • dbgprobe.step

Secrets and settings it asks for

Other settings (environment variables or headers).

  • DBGPROBE_BACKEND
  • DBGPROBE_INTERFACE
  • DBGPROBE_JLINK_DEVICE
  • DBGPROBE_JLINK_GDBSERVER_PATH
  • DBGPROBE_JLINK_PATH
  • DBGPROBE_MCP_LOG_LEVEL
  • DBGPROBE_MCP_PLUGINS
  • DBGPROBE_MCP_TOOL_SEPARATOR
  • DBGPROBE_SPEED_KHZ

Files it touches

  • Any path the agent passes to its tools

Tools (48)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • dbgprobe.breakpoint.clear

    Clear a breakpoint at a target address.

  • dbgprobe.breakpoint.list

    List all active breakpoints for a session.

  • dbgprobe.breakpoint.set

    Set a breakpoint at a target address or symbol name. Software breakpoints (default) are handled by the debug probe and work on both flash and RAM. Hardware breakpoints use the CPU's FPB and are limited in number (typically 4-6). If 'symbol' is provided and an ELF is attached, resolves the symbol to an address.

  • dbgprobe.connect

    Establish a debug probe session. Returns a session_id and the resolved configuration (backend, executable paths, defaults applied). The target is halted after connecting — this is inherent to the debug probe connection. Use dbgprobe.go to resume execution if needed. For symbol-aware debugging, attach an ELF file with dbgprobe.elf.attach after connecting — this enables breakpoints by function name and address-to-symbol resolution in status/step/halt responses. For register-level peripheral access, attach an SVD file with dbgprobe.svd.attach.

  • dbgprobe.connections.list

    List all open probe sessions with their status, backend, device, and config. Useful for recovering session IDs after context loss.

  • dbgprobe.disconnect

    Close a debug probe session and release resources.

  • dbgprobe.elf.attach

    Parse an ELF file and attach it to a session. Enables symbol-based breakpoints (by function name), address-to-symbol resolution in status/step/halt responses, and symbol search. Re-attaching replaces the previous ELF.

  • dbgprobe.elf.info

    Get ELF metadata for a session: file path, symbol count, entry point, sections. Returns null if no ELF is attached.

  • dbgprobe.elf.lookup

    Bidirectional symbol lookup. Provide 'symbol' for name-to-address, or 'address' for address-to-name+offset. Exactly one is required.

  • dbgprobe.elf.symbols

    Search or list ELF symbols. Optional substring filter, optional type filter (FUNC, OBJECT, NOTYPE, etc.), default limit 50.

  • dbgprobe.erase

    Erase target flash. With no address params: full chip erase (unlocks secured/read-protected devices like Nordic APPROTECT). With start_addr and end_addr: erase only that range. If session_id is provided, erases through the active GDB session (preferred — no USB contention). Without session_id, uses JLinkExe directly (for session-less erase, e.g. unlocking a secured device before connect).

  • dbgprobe.flash

    Program a firmware image to the target. Supports .hex, .elf (address auto-detected) and raw .bin (requires explicit addr). Optionally verify and reset after flashing. If session_id is provided, tears down GDB, flashes, and restarts (preferred). Without session_id, uses JLinkExe directly (session-less, no debug session needed).

  • dbgprobe.go

    Resume target execution (run/go).

  • dbgprobe.halt

    Halt the target CPU.

  • dbgprobe.mem.read

    Read memory from the target. Returns data in the requested format: 'hex' (hex string), 'base64', or 'u32' (array of 32-bit words, little-endian). If an SVD file is attached and the read is exactly one register wide, the response includes decoded SVD field names and values.

Show 33 more tools
  • dbgprobe.mem.write

    Write data to target memory. Provide data in one of: 'hex' (hex string), 'base64', or 'u32' (array of 32-bit words, little-endian).

  • dbgprobe.plugin.list

    List loaded plugins with their tool names and metadata. Each plugin may include a 'meta' dict with matching hints like device_name_contains or description — use these to determine which plugin fits the connected device. Also returns whether plugins are enabled and the current policy. Plugins require DBGPROBE_MCP_PLUGINS env var — set to 'all' for all or 'name1,name2' to allow specific plugins. If disabled, tell the user to set this variable when adding the MCP server.

  • dbgprobe.plugin.load

    Load a new plugin from a file or directory path. Requires DBGPROBE_MCP_PLUGINS env var to be set.

  • dbgprobe.plugin.reload

    Hot-reload a plugin by name. Re-imports the module and refreshes tools. Requires DBGPROBE_MCP_PLUGINS env var to be set.

  • dbgprobe.plugin.template

    Return a Python plugin template. Use this when creating a new plugin. Optionally pre-fill with a device name. Save the result to .dbgprobe_mcp/plugins/<name>.py, fill in the tools and handlers, then load with dbgprobe.plugin.load.

  • dbgprobe.probes.list

    List attached debug probes. Returns vendor/backend-specific info (serial number, description). For J-Link, enumerates via JLinkExe.

  • dbgprobe.reset

    Reset the target. Modes: 'soft' (default) — software reset and resume, 'hard' — hardware reset, 'halt' — reset and halt at first instruction.

  • dbgprobe.rtt.read

    Read buffered RTT data from the target. Returns data as text (UTF-8 by default) or hex. Non-blocking — returns whatever is buffered, waiting up to timeout seconds for initial data.

  • dbgprobe.rtt.start

    Start RTT (Real-Time Transfer) on a connected session. Connects to the JLinkGDBServer RTT telnet port and begins buffering target output (channel 0). Optional address hint for the RTT control block in target RAM.

  • dbgprobe.rtt.status

    Return RTT status: active, bytes buffered, total read/written.

  • dbgprobe.rtt.stop

    Stop RTT and disconnect from the telnet port.

  • dbgprobe.rtt.write

    Write data to the target via RTT channel 0. Input is text (UTF-8 by default) or hex-encoded bytes.

  • dbgprobe.spec.attach

    Attach a registered spec to a connection session (in-memory only). The spec will be available via dbgprobe.spec.get for the duration of this connection. After attaching, check dbgprobe.plugin.list for a matching plugin, then present the user with their options: interact with the device using the spec (send commands, execute flows), use plugin shortcut tools if a plugin is loaded, extend an existing plugin with new tools, or create a new plugin using dbgprobe.plugin.template.

  • dbgprobe.spec.get

    Get the attached spec for a connection (returns null if none attached).

  • dbgprobe.spec.list

    List all registered specs with their metadata and matching hints.

  • dbgprobe.spec.read

    Read full spec content, file path, and metadata by spec_id.

  • dbgprobe.spec.register

    Register a spec file in the index. Validates YAML front-matter (requires kind: dbgprobe-protocol and name). The file path can be absolute or relative to CWD.

  • dbgprobe.spec.search

    Full-text search over a spec's content. Returns matching snippets with line numbers and surrounding context.

  • dbgprobe.spec.template

    Return a markdown template for a new debug probe protocol spec. Optionally pre-fill with a device name.

  • dbgprobe.status

    Query target state. Returns whether the target is running or halted, and if halted, the current PC and stop reason (e.g. breakpoint hit).

  • dbgprobe.step

    Single-step one instruction. Target must be halted first. Returns the new PC and stop reason.

  • dbgprobe.svd.attach

    Parse an SVD file and attach it to a session. Enables named register reads/writes, field-level access, and auto-decode on mem.read. Re-attaching replaces the previous SVD.

  • dbgprobe.svd.describe

    Detailed description of a peripheral, register, or field. Includes description, access type, reset value, and enum values as appropriate.

  • dbgprobe.svd.info

    Get SVD metadata for a session: device name, peripheral count. Returns null if no SVD is attached.

  • dbgprobe.svd.list_fields

    List all fields for a register.

  • dbgprobe.svd.list_peripherals

    List all peripherals defined in the attached SVD.

  • dbgprobe.svd.list_registers

    List all registers for a peripheral.

  • dbgprobe.svd.read

    Read a register or field by name. For registers (e.g. 'GPIO.OUT'), returns the raw value and all decoded fields. For fields (e.g. 'GPIO.PIN_CNF[3].PULL'), returns just the field value and enum name.

  • dbgprobe.svd.set_field

    Read-modify-write a single register field. Reads the current register value, modifies the specified field, and writes back. Accepts enum names (e.g. 'PullUp') or integer values.

  • dbgprobe.svd.update_fields

    Batch read-modify-write: update multiple fields in one register with a single read and write. Accepts a dict of field names to values (enum names or integers).

  • dbgprobe.svd.write

    Write a raw value to a full register. No read-modify-write — the entire register is overwritten. For field-level writes, use svd.set_field.

  • dbgprobe.trace.status

    Return tracing config and event count.

  • dbgprobe.trace.tail

    Return last N trace events (default 50).

Signals

Stars
10
Forks
1
Open issues
0
Weekly downloads
55
Last commit
Mar 14, 2026 (7 months ago)
Last release
Mar 13, 2026 (7 months ago)
Last package publish
Mar 13, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.es617/dbgprobe-mcp-server
Version
0.1.4
Auth
No auth
Packages
pypi dbgprobe-mcp-server
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

More from es617

Cite this page

Dbgprobe MCP Server. Agent Mart. https://agentmart.dev/connectors/es617-dbgprobe-mcp-server (last updated 2026-10-25)