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 toolsRead 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 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 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 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. 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. 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 Erase target flash memory
flash
from source
Flash firmware to the target device 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. 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 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… 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
from source
Disconnect the GDB client (does not stop the GDB server) 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. 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 Start ${probe.displayName} GDB server
gdb_server_status
from source
Get GDB server, RTT, and telnet proxy status Get GDB server, RTT, and telnet proxy status
gdb_server_stop
from source
Stop ${probe.displayName} GDB server and disconnect RTT 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. 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 Get current probe and server configuration
halt
from source
Halt the target CPU 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… 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
from source
List the target List the target
probe_command
from source
Execute raw ${probe.displayName} commands Execute raw ${probe.displayName} commands
read_memory
from source
Read memory from the target. Returns clean hex dump. 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 every register of a peripheral from the target and decode each one
read_register
from source
Read a specific CPU register by name Read a specific CPU register by name
read_registers
from source
Read all CPU registers (compact format, FP only if non-zero). 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, Reset the target device. Halting leaves the core stopped at the reset vector,
resume
from source
Resume the target CPU Resume the target CPU
rtt_clear
from source
Clear RTT buffer Clear RTT buffer
rtt_connect
from source
Connect to RTT${probe.supportsRTT() ? Connect to RTT${probe.supportsRTT() ?
rtt_disconnect
from source
Disconnect from RTT Disconnect from RTT
rtt_read
from source
Read RTT log lines (clean, parsed Zephyr format). Non-destructive — reading does not consume 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 Search/filter RTT logs by level, module, or regex
rtt_send
from source
Send data to device via RTT down-channel Send data to device via RTT down-channel
rtt_status
from source
Read SEGGER Read SEGGER
search_devices
from source
Search the device names this J-Link installation accepts, by part number, manufacturer, or core. Search the device names this J-Link installation accepts, by part number, manufacturer, or core.
set_breakpoint
from source
Set a hardware breakpoint Set a hardware breakpoint
set_device
from source
Set the target device name at runtime. Required before any debugging commands will work. 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 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 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. 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… 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 configured, use list_devices and set_device first.
step
from source
Step one CPU instruction Step one CPU instruction
telnet_proxy_read
from source
Read raw data from telnet proxy buffer 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… 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
from source
Get telnet proxy status Get telnet proxy status
telnet_proxy_stop
from source
Stop telnet proxy Stop telnet proxy
write_memory
from source