J-Link Debugger

v1.0.0Developer Toolsstable

A powerful Model Context Protocol (MCP) server for J-Link debuggers that provides comprehensive debugging capabilities including memory operations, flash programming, and real-time data transfer through AI assistant integration.

jlink-mcpmcpai-integration
Share:
9
Stars
0
Downloads
0
Weekly
0/5

What is J-Link Debugger?

J-Link Debugger is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to powerful model context protocol (mcp) server for j-link debuggers that provides comprehensive debugging capabilities including memory operations, flash programming, and real-time data transfer through...

A powerful Model Context Protocol (MCP) server for J-Link debuggers that provides comprehensive debugging capabilities including memory operations, flash programming, and real-time data transfer through AI assistant integration.

This server falls under the Developer Tools category on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • A powerful Model Context Protocol (MCP) server for J-Link de

Use Cases

Control J-Link debuggers for comprehensive debugging capabilities.
Perform memory operations and flash programming through AI.
Execute real-time data transfer and debugging tasks.
cyj0920

Maintainer

LicenseMIT
Languagepython
Versionv1.0.0
UpdatedMay 16, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx jlink-mcp

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use J-Link Debugger

The J-Link MCP server exposes 41 tools that give Claude comprehensive control over SEGGER J-Link hardware debuggers. You can connect to embedded targets, read and write memory, erase and program flash, control CPU execution (halt, step, run), set breakpoints, stream RTT console output, manage SVD peripheral register definitions, and even launch a GDB server — all through natural-language requests to Claude without switching to a separate IDE.

Prerequisites

  • Python 3.8 or later installed
  • SEGGER J-Link Software Pack (latest version) installed from segger.com/downloads/jlink
  • A J-Link hardware debugger (J-Link BASE, EDU, or J-Link on an evaluation board) connected via USB
  • Target embedded device connected to the J-Link probe via SWD or JTAG
1

Install the jlink-mcp package

Install jlink-mcp from PyPI using pip or uv. The uv approach is recommended for isolated dependency management.

pip install jlink-mcp
# or (recommended)
uv pip install jlink-mcp
2

Verify J-Link software is installed

Confirm the SEGGER J-Link Software Pack is on your system. The MCP server uses the JLinkARM shared library (JLinkARM.dll on Windows, libjlinkarm on Linux/macOS).

# Windows: check Program Files\SEGGER\JLink
# macOS/Linux:
ls /usr/lib/libjlinkarm* 2>/dev/null || ls /opt/SEGGER/JLink/libjlinkarm* 2>/dev/null
3

Set optional environment variables

Configure optional environment variables to customize SVD file locations, device patch directories, and the default debug interface.

# Optional: set in your shell profile or .env
export JLINK_SVD_DIR=/Users/you/svd-files
export JLINK_PATCH_DIR=/Users/you/jlink-patches
export JLINK_DEFAULT_INTERFACE=SWD
4

Add the server to Claude Desktop config

Register the J-Link MCP server in claude_desktop_config.json. Include optional environment variables if you have SVD files to use.

{
  "mcpServers": {
    "jlink": {
      "command": "python",
      "args": ["-m", "jlink_mcp"],
      "env": {
        "JLINK_DEFAULT_INTERFACE": "SWD",
        "JLINK_SVD_DIR": "/Users/you/svd-files"
      }
    }
  }
}
5

Connect to your target in Claude

Ask Claude to connect to your target device. Provide the chip name as recognized by J-Link (e.g., STM32F407VG, nRF52840).

6

Use SVD files for register-level debugging

Place vendor SVD files in JLINK_SVD_DIR and ask Claude to list SVD devices, then read peripheral registers by name rather than raw address.

J-Link Debugger Examples

Client configuration

claude_desktop_config.json snippet for the J-Link MCP server with SWD as the default interface and a local SVD directory.

{
  "mcpServers": {
    "jlink": {
      "command": "python",
      "args": ["-m", "jlink_mcp"],
      "env": {
        "JLINK_DEFAULT_INTERFACE": "SWD",
        "JLINK_SVD_DIR": "/Users/you/svd-files",
        "JLINK_PATCH_DIR": "/Users/you/jlink-patches"
      }
    }
  }
}

Prompts to try

Example debugging requests you can send to Claude once the J-Link MCP server is connected.

- "Connect to an STM32F407VG target over SWD and show me the target voltage"
- "Read 64 bytes of memory at address 0x20000000 as 32-bit words"
- "Halt the CPU, step one instruction, then show me the current register values"
- "Program the flash at 0x08000000 with the binary file at /tmp/firmware.bin and verify"
- "Start RTT logging and stream the console output from the target"
- "List available SVD peripherals for the connected STM32 and read the USART1 registers"

Troubleshooting J-Link Debugger

Cannot find JLinkARM library at startup

Ensure the SEGGER J-Link Software Pack is installed and the JLinkARM shared library is in a standard path. On macOS or Linux you may need to set DYLD_LIBRARY_PATH or LD_LIBRARY_PATH to the J-Link installation directory.

connect_device fails with 'No J-Link detected'

Check that the J-Link USB device appears in your system (lsusb on Linux, System Information on macOS, Device Manager on Windows). On Linux, install the SEGGER udev rules from the J-Link software package to grant non-root USB access.

read_register_with_fields returns unknown peripheral error

The SVD file for your specific chip must be present in JLINK_SVD_DIR. Download vendor SVD files from the chip manufacturer's website (STMicroelectronics, Nordic, NXP, etc.) and place them in the configured directory.

Frequently Asked Questions about J-Link Debugger

What is J-Link Debugger?

J-Link Debugger is a Model Context Protocol (MCP) server that powerful model context protocol (mcp) server for j-link debuggers that provides comprehensive debugging capabilities including memory operations, flash programming, and real-time data transfer through ai assistant integration. It connects AI assistants to external tools and data sources through a standardized interface.

How do I install J-Link Debugger?

Follow the installation instructions on the J-Link Debugger GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.

Which AI clients work with J-Link Debugger?

J-Link Debugger works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is J-Link Debugger free to use?

Yes, J-Link Debugger is open source and available under the MIT license. You can use it freely in both personal and commercial projects.

Browse More Developer Tools MCP Servers

Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "jlink-mcp": { "command": "npx", "args": ["-y", "jlink-mcp"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

Ready to use J-Link Debugger?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides