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
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.
About
Reviews
Write a reviewNo 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.listdbgprobe.connections.listdbgprobe.elf.infodbgprobe.elf.lookupdbgprobe.elf.symbolsdbgprobe.mem.readdbgprobe.plugin.listdbgprobe.plugin.templatedbgprobe.probes.listdbgprobe.rtt.readdbgprobe.rtt.statusdbgprobe.spec.get
Show 13 more tools
dbgprobe.spec.listdbgprobe.spec.readdbgprobe.spec.searchdbgprobe.spec.templatedbgprobe.statusdbgprobe.svd.describedbgprobe.svd.infodbgprobe.svd.list_fieldsdbgprobe.svd.list_peripheralsdbgprobe.svd.list_registersdbgprobe.svd.readdbgprobe.trace.statusdbgprobe.trace.tail
Write 13 · Create, change, send or run things.
dbgprobe.breakpoint.setdbgprobe.disconnectdbgprobe.elf.attachdbgprobe.mem.writedbgprobe.rtt.startdbgprobe.rtt.stopdbgprobe.rtt.writedbgprobe.spec.attachdbgprobe.spec.registerdbgprobe.svd.attachdbgprobe.svd.set_fielddbgprobe.svd.update_fields
Show 1 more tools
dbgprobe.svd.write
Delete 3 · Delete, drop, revoke or wipe things.
dbgprobe.breakpoint.cleardbgprobe.erasedbgprobe.reset
Not yet classified 7 · We could not tell from the name and description.
dbgprobe.connectdbgprobe.flashdbgprobe.godbgprobe.haltdbgprobe.plugin.loaddbgprobe.plugin.reloaddbgprobe.step
Secrets and settings it asks for
Other settings (environment variables or headers).
DBGPROBE_BACKENDDBGPROBE_INTERFACEDBGPROBE_JLINK_DEVICEDBGPROBE_JLINK_GDBSERVER_PATHDBGPROBE_JLINK_PATHDBGPROBE_MCP_LOG_LEVELDBGPROBE_MCP_PLUGINSDBGPROBE_MCP_TOOL_SEPARATORDBGPROBE_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.clearClear a breakpoint at a target address.
dbgprobe.breakpoint.listList all active breakpoints for a session.
dbgprobe.breakpoint.setSet 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.connectEstablish 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.listList all open probe sessions with their status, backend, device, and config. Useful for recovering session IDs after context loss.
dbgprobe.disconnectClose a debug probe session and release resources.
dbgprobe.elf.attachParse 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.infoGet ELF metadata for a session: file path, symbol count, entry point, sections. Returns null if no ELF is attached.
dbgprobe.elf.lookupBidirectional symbol lookup. Provide 'symbol' for name-to-address, or 'address' for address-to-name+offset. Exactly one is required.
dbgprobe.elf.symbolsSearch or list ELF symbols. Optional substring filter, optional type filter (FUNC, OBJECT, NOTYPE, etc.), default limit 50.
dbgprobe.eraseErase 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.flashProgram 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.goResume target execution (run/go).
dbgprobe.haltHalt the target CPU.
dbgprobe.mem.readRead 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.writeWrite data to target memory. Provide data in one of: 'hex' (hex string), 'base64', or 'u32' (array of 32-bit words, little-endian).
dbgprobe.plugin.listList 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.loadLoad a new plugin from a file or directory path. Requires DBGPROBE_MCP_PLUGINS env var to be set.
dbgprobe.plugin.reloadHot-reload a plugin by name. Re-imports the module and refreshes tools. Requires DBGPROBE_MCP_PLUGINS env var to be set.
dbgprobe.plugin.templateReturn 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.listList attached debug probes. Returns vendor/backend-specific info (serial number, description). For J-Link, enumerates via JLinkExe.
dbgprobe.resetReset the target. Modes: 'soft' (default) — software reset and resume, 'hard' — hardware reset, 'halt' — reset and halt at first instruction.
dbgprobe.rtt.readRead 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.startStart 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.statusReturn RTT status: active, bytes buffered, total read/written.
dbgprobe.rtt.stopStop RTT and disconnect from the telnet port.
dbgprobe.rtt.writeWrite data to the target via RTT channel 0. Input is text (UTF-8 by default) or hex-encoded bytes.
dbgprobe.spec.attachAttach 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.getGet the attached spec for a connection (returns null if none attached).
dbgprobe.spec.listList all registered specs with their metadata and matching hints.
dbgprobe.spec.readRead full spec content, file path, and metadata by spec_id.
dbgprobe.spec.registerRegister 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.searchFull-text search over a spec's content. Returns matching snippets with line numbers and surrounding context.
dbgprobe.spec.templateReturn a markdown template for a new debug probe protocol spec. Optionally pre-fill with a device name.
dbgprobe.statusQuery target state. Returns whether the target is running or halted, and if halted, the current PC and stop reason (e.g. breakpoint hit).
dbgprobe.stepSingle-step one instruction. Target must be halted first. Returns the new PC and stop reason.
dbgprobe.svd.attachParse 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.describeDetailed description of a peripheral, register, or field. Includes description, access type, reset value, and enum values as appropriate.
dbgprobe.svd.infoGet SVD metadata for a session: device name, peripheral count. Returns null if no SVD is attached.
dbgprobe.svd.list_fieldsList all fields for a register.
dbgprobe.svd.list_peripheralsList all peripherals defined in the attached SVD.
dbgprobe.svd.list_registersList all registers for a peripheral.
dbgprobe.svd.readRead 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_fieldRead-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_fieldsBatch 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.writeWrite 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.statusReturn tracing config and event count.
dbgprobe.trace.tailReturn 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
- Repository
- github.com/es617/dbgprobe-mcp-server
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from es617
- 0.586score
Obsidian Sync MCP
es617
Give AI agents access to your Obsidian vault via local files or Self-hosted LiveSync.
ConnectorAFreshness: ARemote★ 66 - 0.425score
Serial MCP Server
es617
Let AI agents interact with serial devices — list ports, connect, send, and read.
ConnectorDFreshness: DLocal★ 25↓ 91/wkClaude Code +5 - 0.419score
Ble MCP Server
es617
Let AI agents interact with real BLE hardware — scan, connect, read, write, and subscribe.
ConnectorDFreshness: DRemoteLocal★ 18↓ 67/wkClaude Code +5
Cite this page
Dbgprobe MCP Server. Agent Mart. https://agentmart.dev/connectors/es617-dbgprobe-mcp-server (last updated 2026-10-25)