mcpserver.lol
registry/jlink-mcp
Connection check local install

jlink-mcp

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

Tools 47
GitHub stars 28
Installs / wk 539
Licence MIT
Transport stdio
Last checked never

Tools & capabilities

47 tools

Read from the published package source — this server runs locally, so there is no endpoint to query. Names are taken from the code, not observed at runtime, and descriptions are often absent.

check_setup from source
Check that everything needed to debug is in place: the probe software, a connected probe, a target
clear_breakpoints from source
Clear all breakpoints, including any left armed in the debug hardware by an earlier session
decode_register from source
Decode a value into named bit fields using the target
device_info from source
Halt the target and read its registers via ${probe.displayName}. Returns the probe name and a compact register summary. Leaves the target HALTED — call resume when you are done.
diagnose_crash from source
Auto-read and decode ARM Cortex-M fault registers (CFSR, HFSR, MMFAR, BFAR), exception stack frame, and recent errors.
erase from source
Erase target flash memory
flash from source
Flash firmware to the target device
gdb_backtrace from source
Get a stack backtrace. With debug symbols loaded, shows function names, file paths, and line numbers.
gdb_command from source
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
gdb_connect from source
Connect a GDB client to the running GDB server. Enables source-level debugging: backtraces, variable inspection, conditional breakpoints, stepping by source line. Optionally load a…
gdb_disconnect from source
Disconnect the GDB client (does not stop the GDB server)
gdb_load from source
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 from source
Start ${probe.displayName} GDB server
gdb_server_status from source
Get GDB server, RTT, and telnet proxy status
gdb_server_stop from source
Stop ${probe.displayName} GDB server and disconnect RTT
gdb_wait from source
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 from source
Get current probe and server configuration
halt from source
Halt the target CPU
list_devices from source
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 s…
list_peripherals from source
List the target
probe_command from source
Execute raw ${probe.displayName} commands
read_memory from source
Read memory from the target. Returns clean hex dump.
read_peripheral from source
Read every register of a peripheral from the target and decode each one
read_register from source
Read a specific CPU register by name
read_registers from source
Read all CPU registers (compact format, FP only if non-zero).
reset from source
Reset the target device. Halting leaves the core stopped at the reset vector,
resume from source
Resume the target CPU
rtt_clear from source
Clear RTT buffer
rtt_connect from source
Connect to RTT${probe.supportsRTT() ?
rtt_disconnect from source
Disconnect from RTT
rtt_read from source
Read RTT log lines (clean, parsed Zephyr format). Non-destructive — reading does not consume
rtt_search from source
Search/filter RTT logs by level, module, or regex
rtt_send from source
Send data to device via RTT down-channel
rtt_status from source
Read SEGGER
search_devices from source
Search the device names this J-Link installation accepts, by part number, manufacturer, or core.
set_breakpoint from source
Set a hardware breakpoint
set_device from source
Set the target device name at runtime. Required before any debugging commands will work.
set_rtt_address from source
Tell the server where the firmware
set_svd_path from source
Point the server at a CMSIS-SVD file for the target at runtime, so peripheral reads come back
snapshot from source
Capture complete device state: CPU registers (compact), fault status, recent RTT output, and stack dump.
start_debug_session from source
One-call setup: starts GDB server via ${probe.displayName}, connects RTT (if supported), waits for initial output. This is the recommended first tool to call. If no device is confi…
step from source
Step one CPU instruction
telnet_proxy_read from source
Read raw data from telnet proxy buffer
telnet_proxy_start from source
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…
telnet_proxy_status from source
Get telnet proxy status
telnet_proxy_stop from source
Stop telnet proxy
write_memory from source
Write a 32-bit value to memory