Token导航 LogoToken导航TokenDH.com
Jlink MCP logo
运维云端未说明官方级别未说明来源级核验

Jlink MCP

MCP Server

jlink-mcp是一款通过SEGGER J-Link探针连接AI助手与嵌入式硬件进行调试的MCP服务器,支持寄存器读取、固件烧录、日志分析等功能。

工具数

31

提示词数

0

GitHub Stars

7

资源数

0
TypeScriptClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Klievan

提供方

Klievan

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

jlink-mcp

Give AI hands to touch silicon.

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

______________________________________________________________________

这是什么?

jlink mcp 通过以下方式将AI助手(Claude、Copilot等)连接到您的嵌入式硬件 搜索 J-Link 使用调试探测器 模型上下文协议.

您的AI助手可以:

  • 读取寄存器和存储器 了解设备状态
  • 刷写固件 并重置设备
  • 流RTT日志 并按级别/模块/正则表达式搜索它们
  • 诊断碰撞 通过自动解码ARM Cortex-M故障寄存器
  • 控制执行 --暂停、步进、恢复、断点
  • 启动GDB服务器 用于完整调试会话
还支持 OpenCD (ST链路、CMIS-DAP、FTDI)和 黑魔法探测器 后端。

快速开始

克劳德桌面

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "jlink": {
      "command": "node",
      "args": ["/path/to/jlink-mcp/out/mcp/standalone.js"],
      "env": {
        "JLINK_DEVICE": "nRF52840_XXAA"
      }
    }
  }
}

克劳德代码

添加 .mcp.json 到您的项目根目录:

{
  "mcpServers": {
    "jlink": {
      "command": "node",
      "args": ["out/mcp/standalone.js"],
      "cwd": "/path/to/jlink-mcp",
      "env": {
        "JLINK_DEVICE": "nRF52840_XXAA"
      }
    }
  }
}

VSCode扩展

安装扩展(需要VSCode 1.99+)。它通过本机自动注册MCP服务器 vscode.lm API在设置中配置设备:

jlinkMcp.jlink.device = "nRF52840_XXAA"

副驾驶聊天和VSCode中的克劳德将自动发现所有31个工具。

来源

git clone https://github.com/Klievan/jlink-mcp.git
cd jlink-mcp
npm install
npm run compile
JLINK_DEVICE=nRF52840_XXAA node out/mcp/standalone.js

工具(31)

工作流工具(从这里开始)

工具说明
start_debug_session一次通话设置。 启动GDB服务器+连接RTT+返回启动日志。
snapshot捕获完整的设备状态:寄存器、故障状态、堆栈转储、RTT输出。
diagnose_crash自动读取和解码带有异常堆栈帧的ARM Cortex-M故障寄存器(CFSR、HFSR、MMFAR、BFAR)。

设备控制

工具说明
device_info探头类型、目标CPU、紧凑型寄存器摘要
halt停止CPU
resume恢复CPU
reset重置设备(重置后可选择停止)
step单步一指令

存储器和寄存器

工具说明
read_memory读取地址处的内存(干净的十六进制转储输出)
write_memory将32位值写入地址
read_registers所有CPU寄存器均采用紧凑格式
read_register读取特定寄存器(PC、SP、R0-R12等)

闪光

工具说明
flashFlash.hex/.bin/.elf固件到设备
erase擦除整个闪存

断点

工具说明
set_breakpoint在地址处设置硬件断点
clear_breakpoints清除所有断点

GDB服务器

工具说明
gdb_server_start启动探测器的GDB服务器
gdb_server_stop停止GDB服务器+断开RTT
gdb_server_statusGDB服务器、RTT和代理状态

RTT(实时传输)

工具说明
rtt_connect连接到RTT telnet端口
rtt_disconnect断开与RTT的连接
rtt_read读取最近的日志行(ANSI剥离,Zephyr格式解析)
rtt_search筛选日志 按级别(err/wrn/inf/dbg)、模块或正则表达式
rtt_send通过RTT下行信道向设备发送数据
rtt_clear清除RTT缓冲区

Telnet代理(Trice/Pigweed)

工具说明
telnet_proxy_start启动TCP代理,为外部解令牌器提供RTT
telnet_proxy_stop停止代理
telnet_proxy_status代理连接状态
telnet_proxy_read读取原始代理缓冲区

高级

工具说明
probe_command执行原始探测命令
get_config当前探测器和服务器配置

多探头支持

jlink mcp通过一个公共接口支持多个调试探测后端 ProbeBackend 抽象:

后端探测硬件状态RTT支持
J-LinkSEGGER J-Link、J-Link OB、J-Link EDU生产
OpenCDST链路、CMIS-DAP、FTDI、J-Link(通过OpenCD)测试版
黑魔法探测器BMP(串行内置GDB服务器)测试版
探头rs所有探测器支持的探测器计划中计划中

选择后端

# J-Link (default)
PROBE_TYPE=jlink JLINK_DEVICE=nRF52840_XXAA node out/mcp/standalone.js

# OpenOCD with ST-Link
PROBE_TYPE=openocd \
  OPENOCD_INTERFACE=interface/stlink.cfg \
  OPENOCD_TARGET=target/stm32f4x.cfg \
  node out/mcp/standalone.js

# Black Magic Probe
PROBE_TYPE=blackmagic \
  BMP_SERIAL_PORT=/dev/ttyACM0 \
  node out/mcp/standalone.js

建筑

┌─────────────────────────────────────────────────────┐
│                    MCP Client                        │
│          (Claude, Copilot, any MCP client)           │
└──────────────────────┬──────────────────────────────┘
                       │ JSON-RPC over stdio
┌──────────────────────▼──────────────────────────────┐
│                  jlink-mcp                           │
│                                                      │
│  ┌──────────┐  ┌──────────┐  ┌───────────────────┐  │
│  │ 31 Tools │  │4 Resources│  │    4 Prompts      │  │
│  └────┬─────┘  └────┬─────┘  └───────┬───────────┘  │
│       │              │                │              │
│  ┌────▼──────────────▼────────────────▼───────────┐  │
│  │              ProbeBackend                       │  │
│  │  ┌─────────┐ ┌─────────┐ ┌──────────────────┐  │  │
│  │  │ J-Link  │ │ OpenOCD │ │ Black Magic Probe│  │  │
│  │  └────┬────┘ └────┬────┘ └────────┬─────────┘  │  │
│  └───────┼───────────┼───────────────┼─────────────┘  │
│          │           │               │              │
│  ┌───────▼───┐ ┌─────▼────┐ ┌───────▼──────────┐  │
│  │ RTTClient │ │TelnetProxy│ │  ProcessManager  │  │
│  └───────────┘ └──────────┘ └──────────────────┘  │
└─────────────────────────────────────────────────────┘
                       │
          ┌────────────▼────────────┐
          │    Debug Probe (USB)    │
          │  → Target MCU (SWD/JTAG)│
          └─────────────────────────┘

源布局

src/
├── probe/
│   ├── backend.ts      # ProbeBackend abstract class + shared utilities
│   ├── jlink.ts        # SEGGER J-Link implementation
│   ├── openocd.ts      # OpenOCD implementation
│   ├── blackmagic.ts   # Black Magic Probe implementation
│   └── factory.ts      # Probe creation from config
├── mcp/
│   ├── server.ts       # MCP server (31 tools, 4 resources, 4 prompts)
│   └── standalone.ts   # Standalone entry (stdio transport)
├── rtt/
│   └── rtt-client.ts   # RTT client with ANSI stripping + Zephyr log parsing
├── telnet/
│   └── telnet-proxy.ts # TCP proxy for Trice/Pigweed detokenizer
├── utils/
│   ├── config.ts       # VSCode settings / env var config
│   ├── logger.ts       # Logging
│   └── process-manager.ts # Child process lifecycle
└── extension.ts        # VSCode extension + MCP provider registration

设计决策(LLM优化)

这个服务器是通过让人工智能在真实硬件上使用它来构建的,然后修复每个摩擦点:

  • 输出解析 带40+行J-Link连接横幅。只有数据会回来。
  • 寄存器 结构紧凑: Core: PC=0xBF54 SP=0x20062880 ... 而不是65条原始生产线。
  • 浮点寄存器 仅在非零时显示(它们通常都是零)。
  • RTT输出 剥离了ANSI转义码,并将Zephyr日志格式解析为结构化字段。
  • 复合工具 (start_debug_session, snapshot, diagnose_crash)用单个调用替换多步骤工作流。
  • 故障解码 是自动的——读取CFSR/HFSR/MMFAR/BFAR并解释每个比特。
  • rtt_search 允许您在不读取整个日志的情况下查找错误。

环境变量

J-Link

变量默认值描述
PROBE_TYPEjlink探测后端: jlink, openocd, blackmagic
JLINK_DEVICEUnspecified目标设备(例如。, nRF52840_XXAA, STM32F407VG)
JLINK_INSTALL_DIR自动检测SEGGER J-Link安装路径
JLINK_INTERFACESWD调试界面: SWDJTAG
JLINK_SPEED4000连接速度(kHz)
JLINK_SERIALJ-Link序列号(多探头)
JLINK_GDB_PORT2331GDB服务器端口
JLINK_RTT_PORT19021RTT telnet端口

OpenCD

变量默认值描述
OPENOCD_BINARYopenocdopenocd二进制文件的路径
OPENOCD_INTERFACEinterface/stlink.cfg接口配置文件
OPENOCD_TARGETtarget/stm32f4x.cfg目标配置文件
OPENOCD_GDB_PORT3333GDB服务器端口
OPENOCD_TELNET_PORT4444Telnet命令端口

黑魔法探测器

变量默认值描述
BMP_GDB_PATHarm-none-eabi-gdbGDB二进制文件的路径
BMP_SERIAL_PORT/dev/ttyACM0BMP串行端口
BMP_TARGET_INDEX1扫描后的目标索引

先决条件

  • 赛格J-Link软件 已安装(JLinkExe、JLinkGDBServer)
  • 连接到ARM Cortex-M目标的J-Link调试探针
  • Node.js 18+

对于其他后端:OpenCD或arm none eabi gdb(视情况而定)。

贡献

添加新的探测后端:

  1. 创建 src/probe/yourprobe.ts 实施 ProbeBackend
  2. 将案例添加到 src/probe/factory.ts
  3. 就是这样——所有31个MCP工具都是自动工作的

许可证

麻省理工学院-见 许可证

______________________________________________________________________

Built by The Sprk Factory

目录标签

目录标签

TypeScriptClaude云端部署嵌入式调试本地部署AI辅助开发硬件交互LLM工具寄存器读取

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

31

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP