Skip to content
Agentmart
Submit a tool

J-Link MCP

Debug embedded firmware on real hardware: J-Link probes, Cortex-M faults, RTT logs, GDB.

Connector by Klievan · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 38
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/klievan-jlink-mcp

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

Debug embedded firmware on real hardware: J-Link probes, Cortex-M faults, RTT logs, GDB.

Use cases: debugging

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, install config and code. Checked Oct 25, 2026.

Tools
20 read · 22 write · 4 delete · 2 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Tools by what they do 48

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

Read 20 · Look things up without changing anything.

  • check_setup
  • device_info
  • diagnose_crash
  • gdb_backtrace
  • gdb_server_status
  • gdb_wait
  • get_config
  • list_devices
  • list_peripherals
  • read_memory
  • read_peripheral
  • read_register
Show 8 more tools
  • read_registers
  • rtt_read
  • rtt_search
  • rtt_status
  • search_devices
  • snapshot
  • telnet_proxy_read
  • telnet_proxy_status

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

  • decode_register
  • flash
  • gdb_command
  • gdb_connect
  • gdb_disconnect
  • gdb_load
  • gdb_server_start
  • gdb_server_stop
  • halt
  • resume
  • rtt_disconnect
  • rtt_send
Show 10 more tools
  • set_breakpoint
  • set_device
  • set_rtt_address
  • set_serial_number
  • set_svd_path
  • start_debug_session
  • step
  • telnet_proxy_start
  • telnet_proxy_stop
  • write_memory

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

  • clear_breakpoints
  • erase
  • reset
  • rtt_clear

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

  • probe_command
  • rtt_connect

Secrets and settings it asks for

Other settings (environment variables or headers).

  • JLINK_DEVICE
  • JLINK_RTT_ADDR
  • JLINK_SERIAL
  • SVD_PATH

Network hosts it talks to 3

  • github.com · found in code
  • kb.segger.com · found in code
  • segger.com · found in code

Files it touches

  • /dev/ttyACM0
  • /opt/SEGGER
  • /opt/SEGGER/JLink
  • /usr/local/SEGGER
  • /usr/local/SEGGER/JLink
  • 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+…].

  • check_setup

    Check that everything needed to debug is in place: the probe software, a connected probe, a target device name, and the optional files that make output readable. Run this first when anything fails, or when starting on a machine for the first time.

  • clear_breakpoints

    Clear all breakpoints, including any left armed in the debug hardware by an earlier session

  • decode_register

    Decode a value into named bit fields using the target's SVD. Reads from the device unless a value is supplied — useful for interpreting a number you already have.

  • device_info

    Description is built at runtime.

  • diagnose_crash

    Auto-read and decode ARM Cortex-M fault registers (CFSR, HFSR, MMFAR, BFAR), exception stack frame, and recent errors.

  • erase

    Erase target flash memory

  • flash

    Flash firmware to the target device

  • gdb_backtrace

    Get a stack backtrace. With debug symbols loaded, shows function names, file paths, and line numbers.

  • gdb_command

    Send any GDB command and get the response. For execution commands (continue, step, next, finish, until), blocks until the target stops or times out. If the target doesn't stop, use gdb_wait to poll. Examples: 'bt' (backtrace), 'info threads', 'print myVar', 'break main', 'continue', 'next', 'step', 'finish', 'info registers', 'x/10xw 0x20000000'

  • gdb_connect

    Connect a GDB client to the running GDB server. Enables source-level debugging: backtraces, variable inspection, conditional breakpoints, stepping by source line. Optionally load an ELF file for symbol info.

  • gdb_disconnect

    Disconnect the GDB client (does not stop the GDB server)

  • gdb_load

    Load an ELF file into GDB. By default loads symbols only (for source-level debugging: backtraces with file:line, variable names). Set flash=true to also program it onto the target.

  • gdb_server_start

    Description is built at runtime.

  • gdb_server_status

    Get GDB server, RTT, and telnet proxy status

  • gdb_server_stop

    Description is built at runtime.

Show 33 more tools
  • gdb_wait

    Poll for target stop after a continue/step that timed out. Returns the stop reason (breakpoint hit, signal, finished stepping, etc.) when the target halts.

  • get_config

    Get current probe and server configuration

  • halt

    Halt the target CPU

  • list_devices

    Scan for connected PROBES — the debuggers plugged into this machine, not target chips. Despite the name it does not list target devices; use search_devices for those. Shows probe serial numbers and whether one is reachable.

  • list_peripherals

    List the target's peripherals and base addresses, from its CMSIS-SVD description. Requires an SVD file to be configured.

  • probe_command

    Description is built at runtime.

  • read_memory

    Read memory from the target. Returns clean hex dump.

  • read_peripheral

    Read every register of a peripheral from the target and decode each one's bit fields by name. This is read_memory plus the meaning of what was read.

  • read_register

    Read a specific CPU register by name

  • read_registers

    Read all CPU registers (compact format, FP only if non-zero).

  • reset

    Reset the target device. Halting leaves the core stopped at the reset vector, which is where you want it before flashing, or to watch startup run.

  • resume

    Resume the target CPU

  • rtt_clear

    Clear RTT buffer

  • rtt_connect

    Description is built at runtime.

  • rtt_disconnect

    Disconnect from RTT

  • rtt_read

    Read RTT log lines (clean, parsed Zephyr format). Non-destructive — reading does not consume the buffer. Returns the NEWEST lines by default; oldest:true returns the start of the buffer. Note the buffer spans reflashes: its oldest lines may be from firmware you have since replaced. rtt_clear drops them.

  • rtt_search

    Search/filter RTT logs by level, module, or regex

  • rtt_send

    Send data to device via RTT down-channel

  • rtt_status

    Read SEGGER's RTT control block on the target: is it initialised, how much has the firmware written, and how much has the probe collected. Use this when RTT is silent — it separates a quiet device from a probe that stopped collecting, which look identical from rtt_read.

  • search_devices

    Search the device names this J-Link installation accepts, by part number, manufacturer, or core. Use this before set_device instead of guessing a part number — the name must match exactly, and a wrong one fails in a way that looks like broken hardware.

  • set_breakpoint

    Set a hardware breakpoint

  • set_device

    Set the target device name at runtime. Required before any debugging commands will work. The name must match J-Link's exactly — use search_devices to find it rather than guessing a part number. Examples: 'nRF52840_XXAA', 'nRF5340_xxAA_APP', 'STM32F407VG', 'STM32L476RG'.

  • set_rtt_address

    Tell the server where the firmware's RTT control block is (its _SEGGER_RTT symbol), at runtime. Without it RTT cannot be recovered after a reset or flash, and a stopped stream is indistinguishable from a quiet device. Mirrors set_device.

  • set_serial_number

    Set the debug probe serial number at runtime. Required when multiple probes are connected to select which one to communicate with. Run list_devices to see connected serial numbers.

  • set_svd_path

    Point the server at a CMSIS-SVD file for the target at runtime, so peripheral reads come back with named fields and decoded values instead of raw hex. Mirrors set_device — you do not have to restart with SVD_PATH set.

  • snapshot

    Capture complete device state: CPU registers (compact), fault status, recent RTT output, and stack dump.

  • start_debug_session

    Description is built at runtime.

  • step

    Step one CPU instruction

  • telnet_proxy_read

    Read raw data from telnet proxy buffer

  • telnet_proxy_start

    Start a TCP relay that re-serves the RTT stream on another port, so an external decoder (Trice, Pigweed, or your own) can consume it alongside this server. It relays bytes; it does not decode them.

  • telnet_proxy_status

    Get telnet proxy status

  • telnet_proxy_stop

    Stop telnet proxy

  • write_memory

    Write a 32-bit value to memory

Signals

Stars
38
Forks
6
Open issues
1
Contributors
3
Last commit
Oct 9, 2026 (19 days ago)
Last release
Aug 28, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.Klievan/jlink-mcp
Version
0.6.0
Auth
No auth
Packages
npm jlink-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

J-Link MCP. Agent Mart. https://agentmart.dev/connectors/klievan-jlink-mcp (last updated 2026-10-24)