J-Link RTT Viewer MCP
This server enables AI assistants to control STM32 and other embedded MCUs via a J-Link debugger using natural language. Key capabilities include:
Connect/Disconnect: Establish or terminate a connection to a J-Link debugger and target MCU (e.g., STM32F103C8, nRF52840) via SWD or JTAG with configurable speed and retry attempts.
Read RTT Data: Read Real-Time Transfer (RTT) log data from the MCU across one or multiple channels (0–15).
Write RTT Data: Send commands or data to the MCU via RTT channels, supporting plain text and hexadecimal formats.
Set Default RTT Channel: Configure the default RTT channel (0–15) for subsequent operations.
Reset MCU: Reset the target in various modes — normal, auto-reconnect, or halt (pause CPU at reset state).
Flash Firmware: Program
.hexor.binfirmware files directly onto the MCU.Get Device Info: Retrieve detailed information about the connected J-Link debugger and target MCU.
Read/Write Memory: Read or write raw data at arbitrary memory addresses on the MCU (hex or plain string formats).
Start/Stop Log Recording: Begin or stop recording RTT output to a local log file.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@J-Link RTT Viewer MCPConnect to my STM32F103C8 board"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
J-Link RTT Viewer MCP Server
English
An MCP server that wraps J-Link RTT Viewer, enabling AI assistants to control STM32 development boards via natural language.
Quick Start (3 steps)
# 1. Clone and install
git clone https://github.com/MisakaMikoto128/J-Link-RTT-Viewer-MCP.git
cd J-Link-RTT-Viewer-MCP
python -m venv .venv && .venv\Scripts\activate # Windows
pip install -r requirements.txt
# 2. Configure Claude Desktop
# Add to %APPDATA%\Claude\claude_desktop_config.json:
# { "mcpServers": { "jlink-rtt": { "command": "python", "args": ["-m", "src.server"], "cwd": "C:\\path\\to\\J-Link-RTT-Viewer-MCP" } } }
# 3. Restart Claude Desktop and use natural language!Tool Reference
Tool | Parameters | Description |
|
| Connect to MCU. Target example: |
| (none) | Disconnect from J-Link |
|
| Read RTT log data from MCU |
|
| Send command to MCU via RTT |
|
| Reset MCU. Modes: normal, auto_reconnect, halt |
|
| Flash .hex or .bin file to MCU |
| (none) | Get connected device details |
|
| Read MCU memory (hex address like 0x08000000) |
|
| Write data to MCU memory |
|
| Record RTT output to file |
| (none) | Stop recording |
|
| Set default RTT channel (0-15) |
Common Commands (for write_rtt)
freq 200 - Set LED blink interval to 200ms
freq 1000 - Set LED blink interval to 1s
mode on - Turn LED on
mode off - Turn LED off
mode blink - Set LED to blink mode
status - Get current settings
ping - Test connection (returns "pong")
reset - Reset MCU softwareExample: Control LED
User: Connect to my STM32F103C8 board
AI: [connect] Connected to STM32F103C8
User: What's in the RTT logs?
AI: [read_rtt] STM32F103C8T6 LED Control ===\r\nCommands: freq, mode, status...
User: Make the LED blink faster
AI: [write_rtt, data="freq 200"] Done! LED now blinks every 200ms
User: Turn the LED on
AI: [write_rtt, data="mode on"] LED is now on
User: Flash new firmware
AI: [flash_firmware, firmware_path="path/to/firmware.hex"] Flash complete!Supported Hardware
Debugger: SEGGER J-Link (V7-V10)
MCU: STM32F1xx, STM32F4xx, nRF52xxx, etc.
Interface: SWD, JTAG
Test with MCP Inspector
npx @modelcontextprotocol/inspector -- python -m src.serverRelated MCP server: dbgprobe-mcp-server
中文
封装 J-Link RTT Viewer 的 MCP 服务器,使 AI 助手能通过自然语言控制 STM32 开发板。
快速开始(3 步)
# 1. 克隆并安装
git clone https://github.com/MisakaMikoto128/J-Link-RTT-Viewer-MCP.git
cd J-Link-RTT-Viewer-MCP
python -m venv .venv && .venv\Scripts\activate # Windows
pip install -r requirements.txt
# 2. 配置 Claude Desktop
# 添加到 %APPDATA%\Claude\claude_desktop_config.json:
# { "mcpServers": { "jlink-rtt": { "command": "python", "args": ["-m", "src.server"], "cwd": "C:\\path\\to\\J-Link-RTT-Viewer-MCP" } } }
# 3. 重启 Claude Desktop,用自然语言对话!工具参考
工具 | 参数 | 说明 |
|
| 连接 MCU。示例: |
| (无) | 断开 J-Link |
|
| 读取 MCU 的 RTT 日志 |
|
| 通过 RTT 发送命令到 MCU |
|
| 重置 MCU。模式: normal, auto_reconnect, halt |
|
| 烧录 .hex 或 .bin 文件 |
| (无) | 获取设备详细信息 |
|
| 读取 MCU 内存 |
|
| 写入 MCU 内存 |
|
| 录制 RTT 输出到文件 |
| (无) | 停止录制 |
|
| 设置默认 RTT 通道 (0-15) |
常用命令(用于 write_rtt)
freq 200 - 设置 LED 闪烁间隔为 200ms
freq 1000 - 设置 LED 闪烁间隔为 1s
mode on - 打开 LED
mode off - 关闭 LED
mode blink - 设置 LED 闪烁模式
status - 获取当前设置
ping - 测试连接(返回 "pong")
reset - 软件重置 MCU示例:控制 LED
用户: 连接到我的 STM32F103C8 开发板
AI: [connect] 已连接到 STM32F103C8
用户: RTT 日志里有什么?
AI: [read_rtt] STM32F103C8T6 LED Control ===\r\nCommands: freq, mode, status...
用户: 让 LED 闪快一点
AI: [write_rtt, data="freq 200"] 完成!LED 现在每 200ms 闪烁一次
用户: 打开 LED
AI: [write_rtt, data="mode on"] LED 已打开
用户: 烧录新固件
AI: [flash_firmware, firmware_path="path/to/firmware.hex"] 烧录完成!支持的硬件
调试器: SEGGER J-Link (V7-V10)
MCU: STM32F1xx, STM32F4xx, nRF52xxx 等
接口: SWD, JTAG
使用 MCP Inspector 测试
npx @modelcontextprotocol/inspector -- python -m src.serverMaintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MisakaMikoto128/J-Link-RTT-Viewer-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server