jlink-mcp
Version:
MCP server for SEGGER J-Link debug probes — LLM-driven embedded debugging with RTT, GDB server, and Trice/Pigweed support
215 lines (214 loc) • 5.95 kB
JSON
{
"name": "jlink-mcp",
"displayName": "jlink-mcp",
"description": "MCP server for SEGGER J-Link debug probes — LLM-driven embedded debugging with RTT, GDB server, and Trice/Pigweed support",
"repository": {
"type": "git",
"url": "https://github.com/Klievan/jlink-mcp"
},
"homepage": "https://github.com/Klievan/jlink-mcp#readme",
"bugs": {
"url": "https://github.com/Klievan/jlink-mcp/issues"
},
"version": "0.1.3",
"publisher": "Klievan",
"license": "MIT",
"engines": {
"vscode": "^1.110.0"
},
"categories": [
"Debuggers",
"Other"
],
"keywords": [
"j-link",
"segger",
"embedded",
"mcp",
"mcp-server",
"model-context-protocol",
"rtt",
"debug",
"arm",
"cortex-m",
"trice",
"pigweed",
"openocd",
"blackmagic",
"firmware"
],
"bin": {
"jlink-mcp": "./out/mcp/standalone.js"
},
"activationEvents": [
"onStartupFinished"
],
"main": "./out/extension.js",
"contributes": {
"commands": [
{
"command": "jlinkMcp.showStatus",
"title": "J-Link MCP: Show Status",
"category": "J-Link"
},
{
"command": "jlinkMcp.startGdbServer",
"title": "J-Link MCP: Start GDB Server",
"category": "J-Link"
},
{
"command": "jlinkMcp.stopGdbServer",
"title": "J-Link MCP: Stop GDB Server",
"category": "J-Link"
},
{
"command": "jlinkMcp.connectRtt",
"title": "J-Link MCP: Connect RTT",
"category": "J-Link"
},
{
"command": "jlinkMcp.disconnectRtt",
"title": "J-Link MCP: Disconnect RTT",
"category": "J-Link"
},
{
"command": "jlinkMcp.startTelnetProxy",
"title": "J-Link MCP: Start Telnet Proxy",
"category": "J-Link"
},
{
"command": "jlinkMcp.stopTelnetProxy",
"title": "J-Link MCP: Stop Telnet Proxy",
"category": "J-Link"
},
{
"command": "jlinkMcp.flashFirmware",
"title": "J-Link MCP: Flash Firmware",
"category": "J-Link"
},
{
"command": "jlinkMcp.showOutput",
"title": "J-Link MCP: Show Output Log",
"category": "J-Link"
},
{
"command": "jlinkMcp.showRttOutput",
"title": "J-Link MCP: Show RTT Output",
"category": "J-Link"
}
],
"configuration": {
"title": "J-Link MCP",
"properties": {
"jlinkMcp.jlink.installDir": {
"type": "string",
"default": "",
"description": "Path to SEGGER J-Link installation directory (auto-detected if empty)"
},
"jlinkMcp.jlink.device": {
"type": "string",
"default": "Unspecified",
"description": "Target device name (e.g., NRF52840_XXAA, STM32F407VG)"
},
"jlinkMcp.jlink.interface": {
"type": "string",
"enum": ["SWD", "JTAG"],
"default": "SWD",
"description": "Debug interface"
},
"jlinkMcp.jlink.speed": {
"type": "number",
"default": 4000,
"description": "Connection speed in kHz"
},
"jlinkMcp.jlink.serialNumber": {
"type": "string",
"default": "",
"description": "J-Link serial number (for multi-probe setups)"
},
"jlinkMcp.jlink.gdbPort": {
"type": "number",
"default": 2331,
"description": "GDB server port"
},
"jlinkMcp.jlink.rttTelnetPort": {
"type": "number",
"default": 19021,
"description": "RTT telnet port"
},
"jlinkMcp.jlink.swoTelnetPort": {
"type": "number",
"default": 2332,
"description": "SWO telnet port"
},
"jlinkMcp.telnetProxy.listenPort": {
"type": "number",
"default": 19400,
"description": "Telnet proxy listen port for Trice/Pigweed"
},
"jlinkMcp.telnetProxy.sourcePort": {
"type": "number",
"default": 19021,
"description": "Source port to proxy (usually RTT telnet port)"
},
"jlinkMcp.telnetProxy.sourceHost": {
"type": "string",
"default": "localhost",
"description": "Source host for telnet proxy"
},
"jlinkMcp.trice.binaryPath": {
"type": "string",
"default": "trice",
"description": "Path to trice binary"
},
"jlinkMcp.trice.idListPath": {
"type": "string",
"default": "",
"description": "Path to Trice ID list file (til.json)"
},
"jlinkMcp.trice.encoding": {
"type": "string",
"default": "TREX",
"description": "Trice encoding format"
},
"jlinkMcp.pigweed.tokenDatabase": {
"type": "string",
"default": "",
"description": "Path to Pigweed token database (.csv or .elf)"
},
"jlinkMcp.pigweed.pythonPath": {
"type": "string",
"default": "python3",
"description": "Path to Python for Pigweed detokenizer"
}
}
},
"mcpServerDefinitionProviders": [
{
"id": "jlinkMcp.mcpServer",
"label": "J-Link Debug Probe"
}
]
},
"scripts": {
"compile": "tsc -p ./",
"bundle": "node esbuild.mjs",
"watch": "tsc -watch -p ./",
"build": "npm run compile && npm run bundle",
"prepublishOnly": "npm run build",
"vscode:prepublish": "npm run build",
"package": "npm run build && vsce package",
"lint": "tsc --noEmit"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.29.0",
"zod": "^4.3.6"
},
"devDependencies": {
"@types/node": "^25.5.2",
"@types/vscode": "^1.110.0",
"@vscode/vsce": "^3.7.1",
"esbuild": "^0.28.0",
"typescript": "^6.0.2"
}
}