UNPKG

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
{ "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" } }