Skip to main content
Glama
MisakaMikoto128

J-Link RTT Viewer MCP

J-Link RTT Viewer MCP Server

English | 中文


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

target, interface="SWD", speed=4000

Connect to MCU. Target example: STM32F103C8

disconnect

(none)

Disconnect from J-Link

read_rtt

channels=[0], max_size=4096

Read RTT log data from MCU

write_rtt

data, channel=0

Send command to MCU via RTT

reset

mode="normal"

Reset MCU. Modes: normal, auto_reconnect, halt

flash_firmware

firmware_path

Flash .hex or .bin file to MCU

get_device_info

(none)

Get connected device details

read_memory

address, size

Read MCU memory (hex address like 0x08000000)

write_memory

address, data

Write data to MCU memory

start_log_recording

log_dir="logs"

Record RTT output to file

stop_log_recording

(none)

Stop recording

set_rtt_channel

channel

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 software

Example: 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.server

Related 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,用自然语言对话!

工具参考

工具

参数

说明

connect

target, interface="SWD", speed=4000

连接 MCU。示例: STM32F103C8

disconnect

(无)

断开 J-Link

read_rtt

channels=[0], max_size=4096

读取 MCU 的 RTT 日志

write_rtt

data, channel=0

通过 RTT 发送命令到 MCU

reset

mode="normal"

重置 MCU。模式: normal, auto_reconnect, halt

flash_firmware

firmware_path

烧录 .hex 或 .bin 文件

get_device_info

(无)

获取设备详细信息

read_memory

address, size

读取 MCU 内存

write_memory

address, data

写入 MCU 内存

start_log_recording

log_dir="logs"

录制 RTT 输出到文件

stop_log_recording

(无)

停止录制

set_rtt_channel

channel

设置默认 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.server
Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

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