Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

J-Link MCP

von KlievanVersion 0.8.0i★ –iLäuft auf deinem Computer
Name in der Registryio.github.Klievan/jlink-mcp

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

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

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft auf deinem Computer
  • Transport: stdio
  • Kategorie: Sonstiges
  • Das musst du eintragen: JLINK_DEVICE

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
  • Das trägst du selbst ein: JLINK_DEVICE, JLINK_SERIAL, SVD_PATH, JLINK_RTT_ADDR

Du brauchst

  • npmNode.js installiert (für den Befehl npx)

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "jlink": {
      "command": "npx",
      "args": [
        "-y",
        "jlink-mcp"
      ],
      "env": {
        "JLINK_DEVICE": "your-value",
        "JLINK_SERIAL": "your-value",
        "SVD_PATH": "your-value",
        "JLINK_RTT_ADDR": "your-value"
      }
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add jlink --env JLINK_DEVICE=your-value --env JLINK_SERIAL=your-value --env SVD_PATH=your-value --env JLINK_RTT_ADDR=your-value -- npx -y jlink-mcp

Trag die leeren Werte ein, bevor du ihn startest.

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "jlink": {
      "command": "npx",
      "args": [
        "-y",
        "jlink-mcp"
      ],
      "env": {
        "JLINK_DEVICE": "your-value",
        "JLINK_SERIAL": "your-value",
        "SVD_PATH": "your-value",
        "JLINK_RTT_ADDR": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "jlink": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "jlink-mcp"
      ],
      "env": {
        "JLINK_DEVICE": "your-value",
        "JLINK_SERIAL": "your-value",
        "SVD_PATH": "your-value",
        "JLINK_RTT_ADDR": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Werte, die du selbst einträgst

  • JLINK_DEVICE erforderlich env
    Target device name, exactly as J-Link spells it (e.g. nRF52840_XXAA, STM32F407VG). Use the search_devices tool to find it.
  • JLINK_SERIAL env
    Serial number of a specific probe, when more than one is attached.
  • SVD_PATH env
    CMSIS-SVD file for the target. Without it, peripheral reads are undecoded hex.
  • JLINK_RTT_ADDR env
    Address of the firmware's _SEGGER_RTT symbol. Lets RTT survive a reset or flash.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto Klievan bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Im Vergleich mit anderen in Sonstigesi

  • Mehr Sterne als 0 % der anderen 32531 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 75 % der anderen 32531 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 32531 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist J-Link MCP sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: JLINK_DEVICE

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.8.0) kam vor 11 Tagen in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Reelsaw

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Spec Driven Development

von formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Läuft auf deinem Computer★ 440MITAktualisiert vor 14 Monaten
Installieren

Remote Desktop Commander

von desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Läuft in der Cloud★ 211Aktualisiert gestern
Installieren

Reelsaw

von osbytes

Drive a self-hosted Reelsaw: turn long videos into vertical clips, edit, re-render and export them.

Läuft auf deinem ComputerAktualisiert heute
Installieren

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

jlink-mcp

Give AI hands to touch silicon.

An MCP server that lets LLMs debug embedded devices through SEGGER J-Link probes.


See it work

Real MCP tool calls against a real nRF52840-DK. Reproduce it yourself: npm run demo

Your firmware just crashed. One tool call:

> diagnose_crash

Crash Diagnosis

CPU State

Core: PC=0x000000B8 SP=0x2003FFA8 R0=0x0000000A R1=0x000007FF R2=0x00000001 ... Status: XPSR=0x21000003 CONTROL=0x00000000 PRIMASK=0x00000000 ... Stack: MSP=0x2003FFA8 PSP=0x00000000

⚠ CPU is in exception handler (IPSR=0x00000003)

Fault Registers

CFSR=0x01000000 HFSR=0x40000000 DFSR=0x00000000 MMFAR=0xe000edf8 BFAR=0xe000edf8

Decoded Faults

UsageFault (UFSR):

  • UNALIGNED: Unaligned memory access

HardFault (HFSR):

  • FORCED: Forced HardFault (escalated from configurable fault)
Exception Stack Frame

R0 = 0x0000000A R1 = 0x000007FF R12 = 0x00000000 LR = 0x000001F5 PC = 0x00000254 xPSR = 0x21000000

→ Faulting instruction at PC=0x00000254

Recent Errors/Warnings from RTT

[WRN] sensor_drv: sample out of range, clamping seq=2

Fault decoded, exception frame unwound, faulting instruction named, and the device's own log correlated — from one call, without a human reading a datasheet to find out what bit 24 of CFSR means.

And it knows what the silicon is

Point it at your target's CMSIS-SVD file and peripheral registers stop being hex:

> read_peripheral FICR

FICR @ 0x10000000 INFO.PART @ 0x10000100 = 0x00052840 (read-only) [31:0] PART 0x52840 → N52840 INFO.RAM @ 0x1000010C = 0x00000100 (read-only) [31:0] RAM 0x100 → K256 INFO.FLASH @ 0x10000110 = 0x00000400 (read-only) [31:0] FLASH 0x400 → K1024

0x400 means 1024 KB of flash — but only if you know that, and an LLM guessing at bit layouts is exactly the failure this avoids. The addresses come from the vendor's own description, and the meanings from its enumerations.

*Both transcripts are verbatim output from an nRF52840-DK in this project's hardware test suite.*

What is this?

jlink-mcp connects AI assistants (Claude, Copilot, etc.) to your embedded hardware via SEGGER J-Link debug probes using the Model Context Protocol.

Instead of manually typing J-Link commands, your AI assistant can:

  • Read registers and memory to understand device state
  • Flash firmware and reset devices
  • Stream RTT logs and search them by level/module/regex
  • Diagnose crashes by auto-decoding ARM Cortex-M fault registers
  • Control execution — halt, step, resume, breakpoints
  • Start GDB servers for full debugging sessions

Also supports OpenOCD (ST-Link, CMSIS-DAP, FTDI) and Black Magic Probe backends.

Installing

You need the SEGGER J-Link software — that is what this server drives — a probe connected to an ARM Cortex-M target, and Node 18+. For the other backends, OpenOCD or arm-none-eabi-gdb instead.

Claude Code — from the plugin marketplace. This brings the embedded-debugging skill along with the server, which is what stops an assistant guessing at your hardware:

/plugin marketplace add Klievan/jlink-mcp

/plugin install jlink-mcp

Any other agent — point it at this repository and ask it to set itself up:

Install the MCP server at https://github.com/Klievan/jlink-mcp and configure

it for my board.

It will find what it needs here. If you would rather do it by hand, the server is on npm and needs no build step: npx -y jlink-mcp, with JLINK_DEVICE set to your target. mcp-config.json is a config you can paste.

VS Code — install the extension. It registers the server for Copilot Chat, Claude, and any MCP-aware client, so there is nothing to configure.

Nix / NixOS — run directly from the flake without installing:

# Run standalone MCP server

nix run github:Klievan/jlink-mcp

Or in an MCP client configuration (e.g. Claude Desktop / Claude Code)

"command": "nix", "args": ["run", "github:Klievan/jlink-mcp", "--"]

Or add jlink-mcp and jlink-mcp-skills to your system configuration or flake:

# flake.nix inputs

inputs.jlink-mcp.url = "github:Klievan/jlink-mcp";

In your packages:

inputs.jlink-mcp.packages.''${system}.jlink-mcp inputs.jlink-mcp.packages.''${system}.jlink-mcp-skills

Note for NixOS users: Add your preferred probe tools (segger-jlink / segger-jlink-headless, openocd, or gdb) to environment.systemPackages or your devShell. segger-jlink requires nixpkgs.config.allowUnfree = true; and services.udev.packages = [ pkgs.segger-jlink ]; for probe USB permissions.

Then check it

Ask for check_setup. One call, and it says what is missing and what to do:

Not ready to debug yet.

OK probe software — J-Link software found at /Applications/SEGGER/JLink BLOCK probe — none detected (Connecting to J-Link via USB...FAILED). Check the USB cable. BLOCK target device — not set. Find the exact name with search_devices, then set_device. note SVD — not loaded, so peripheral reads stay raw hex. Set SVD_PATH to a CMSIS-SVD file.

You do not need your device's exact part number up front. search_devices searches all 9800 that J-Link supports, by part number, manufacturer, or core.

Tools (48)

Workflow Tools (start here)
ToolDescription
start_debug_sessionOne-call setup. Starts GDB server + connects RTT + returns boot log.
snapshotCaptures full device state: registers, fault status, stack dump, RTT output.
diagnose_crashAuto-reads and decodes ARM Cortex-M fault registers (CFSR, HFSR, MMFAR, BFAR) with exception stack frame.
Device Setup
ToolDescription
list_devicesScan for connected probes and show the configured target
set_deviceChange the target device at runtime — no restart needed
set_serial_numberChange the probe serial number at runtime (for multi-probe setups)
get_configCurrent probe, target device, and GDB server state
Device Control
ToolDescription
device_infoProbe type, target CPU, compact register summary
haltHalt CPU
resumeResume CPU
resetReset device. halt stops it at the reset vector; strategy picks a J-Link reset type, or omit it and let J-Link choose
stepSingle-step one instruction
Peripherals (CMSIS-SVD)

Set jlinkMcp.svdPath to your target's SVD — the same file Cortex-Debug takes as svdFile. Vendors publish one per part.

ToolDescription
list_peripheralsEvery peripheral and base address on the chip
read_peripheralRead a peripheral's registers and decode each one's bit fields by name
decode_registerDecode one register — read from the device, or interpret a value you already have
Memory & Registers
ToolDescription
read_memoryRead memory at address (clean hex dump output)
write_memoryWrite 32-bit value to address
read_registersAll CPU registers in compact format
read_registerRead specific register (PC, SP, R0-R12, etc.)
Flash
ToolDescription
flashFlash .hex/.bin/.elf firmware to device
eraseErase entire flash
Breakpoints
ToolDescription
set_breakpointSet hardware breakpoint at address
clear_breakpointsClear all breakpoints
GDB Server
ToolDescription
gdb_server_startStart probe's GDB server
gdb_server_stopStop GDB server + disconnect RTT
gdb_server_statusGDB server, RTT, and proxy status
Source-Level Debugging

Attach a real GDB client for symbol-aware work — backtraces, variable inspection, and stepping by source line rather than by instruction.

ToolDescription
gdb_connectAttach a GDB client (auto-starts the server; optional ELF for symbols)
gdb_loadLoad an ELF for debug symbols, optionally flashing it too
gdb_backtraceCall stack, optionally with locals in each frame
gdb_commandRun any GDB command — print sensor_state, info threads, break main
gdb_waitWait for the target to stop (after a continue or a breakpoint)
gdb_disconnectDetach the client, clearing breakpoints and debug hardware
RTT (Real-Time Transfer)
ToolDescription
rtt_connectConnect to RTT telnet port
rtt_disconnectDisconnect from RTT
rtt_readRead recent log lines (ANSI stripped, Zephyr format parsed)
rtt_searchFilter logs by level (err/wrn/inf/dbg), module, or regex
rtt_sendSend data to device via RTT down-channel
rtt_clearClear RTT buffer
Telnet Proxy (Trice / Pigweed)
ToolDescription
telnet_proxy_startStart TCP proxy that tees RTT for external detokenizers
telnet_proxy_stopStop proxy
telnet_proxy_statusProxy connection status

| `te

Nur der Anfang wird gezeigt; den Rest findest du im Repo

PopNx fragen