J-Link Debugger
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.
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
Maintainer
Works with
Installation
Manual Installation
npx jlink-mcpConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
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
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-mcpVerify 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/nullSet 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=SWDAdd 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"
}
}
}
}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).
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.
J-Link Debugger Alternatives — Similar Developer Tools Servers
Looking for alternatives to J-Link Debugger? Here are other popular developer tools servers you can use with Claude, Cursor, and VS Code.
Ecc
★ 188.2kThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Javaguide
★ 155.8kJava 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Gemini CLI
★ 104.5kA secure MCP server that wraps the Google Gemini CLI, allowing clients to query Gemini models using local OAuth sessions without requiring an API key. It provides tools for model interaction and diagnostics with built-in protection against command in
Awesome MCP Servers
★ 87.3k⭐ Curated list of Model Context Protocol (MCP) servers - tools that extend Claude Desktop, Cursor, Windsurf, and other MCP clients with custom capabilities.
MCP Servers
★ 86.0kModel Context Protocol Servers
CC Switch
★ 77.5kA cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
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.
Set Up J-Link Debugger in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
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.