嵌入式调试器MCP服务器
  
专业的模型上下文协议(MCP)服务器,用于使用probe-rs进行嵌入式调试。为AI助手提供全面的嵌入式系统调试功能,包括ARM Cortex-M、RISC-V微控制器和真正的硬件集成。
📖 语言版本: 英语 | 中文
✨ 特性
- 🚀 生产就绪:真正的硬件集成,22个全面的调试工具
- 🔌 多探头支持:J-Link、ST-Link V2/V3、DAPLink、黑魔探针
- 🎯 完全调试控制:连接、暂停、运行、重置、单步执行
- 💾 存储器操作:读/写具有多种数据格式的闪存和RAM
- 🛑 断点管理:具有实时控制的硬件和软件断点
- 📱 Flash编程:完成闪存操作-擦除、编程、验证
- 📡 RTT双向:使用交互式命令/响应系统进行实时传输
- 🏗️ 多架构:ARM Cortex-M、RISC-V,经过测试的STM32集成
- 🤖 人工智能集成:与Claude和其他AI助手完美兼容
- 🧪 综合测试:所有22个工具均已通过真正的STM32G431CBTx硬件验证
🏗️ 建筑
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP Client │◄──►│ Embedded │◄──►│ Debug Probe │
│ (Claude/AI) │ │ Debugger MCP │ │ Hardware │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Target Device │
│ (ARM/RISC-V) │
└──────────────────┘🚀 快速开始
先决条件
硬件要求:
- 调试探测器:ST-Link V2/V3、J-Link或DAPLink兼容探头
- 目标板:STM32或其他支持的微控制器
- 连接:用于探头和目标板的USB电缆
软件要求:
- 锈蚀1.70+
- 探测器rs兼容调试探测器驱动程序
安装
# Clone and build from source
git clone https://github.com/adancurusul/embedded-debugger-mcp.git
cd embedded-debugger-mcp
cargo build --release基本用法
配置MCP客户端
Claude桌面配置示例
添加到Claude Desktop配置文件:
Windows示例:
{
"mcpServers": {
"embedded-debugger": {
"command": "C:\\path\\to\\debugger-mcp-rs\\target\\release\\embedded-debugger-mcp.exe",
"args": [],
"env": {
"RUST_LOG": "info"
}
}
}
}macOS/Linux示例:
{
"mcpServers": {
"embedded-debugger": {
"command": "/path/to/debugger-mcp-rs/target/release/embedded-debugger-mcp",
"args": [],
"env": {
"RUST_LOG": "info"
}
}
}
}其他工具的其他示例,如游标、claude代码等,请参阅相应的工具文档
🎯 试试STM32演示
我们提供全面的 STM32 RTT双向演示 展示所有功能:
# Navigate to the example
cd examples/STM32_demo
# Build the firmware
cargo build --release
# Use with MCP server for complete debugging experience演示显示了什么:
- ✅ 交互式RTT通信:发送命令并获得实时响应
- ✅ 全部22个MCP工具:使用真正的STM32硬件完成验证
- ✅ 斐波那契计算器:带有控制命令的实时数据流
- ✅ 硬件集成:使用STM32G431CBTx+ST Link V2进行测试
AI助手的使用示例
列出可用的调试探测器
Please list available debug probes on the system连接和闪存固件
Connect to my STM32G431CBTx using ST-Link probe, then flash the firmware at examples/STM32_demo/target/thumbv7em-none-eabi/release/STM32_demo交互式RTT通信
Please attach RTT and show me the data from the terminal channel. Then send a command 'L' to toggle the LED.内存分析
Read 64 bytes of memory from address 0x08000000 and analyze the data format测试所有22个MCP工具
Please help me test all 22 MCP embedded debugger tools with my STM32 board. Start by connecting to the probe, then systematically test each tool category: probe management, memory operations, debug control, breakpoints, flash operations, RTT communication, and session management.🛠️ 全套工具(22个工具)
所有工具均使用真实的STM32硬件进行测试和验证:
🔌 探头管理(3个工具)
| 工具 | 描述 | 状态 |
|---|---|---|
list_probes | 发现可用的调试探测 | ✅ 生产就绪 |
connect | 连接探头和目标芯片 | ✅ 生产就绪 |
probe_info | 获取详细的会话信息 | ✅ 生产就绪 |
💾 内存操作(2个工具)
| 工具 | 描述 | 状态 |
|---|---|---|
read_memory | 读取多种格式的闪存/RAM | ✅ 生产就绪 |
write_memory | 写入目标内存 | ✅ 生产就绪 |
🎯 调试控制(4个工具)
| 工具 | 描述 | 状态 |
|---|---|---|
halt | 停止目标执行 | ✅ 生产就绪 |
run | 恢复目标执行 | ✅ 生产就绪 |
reset | 硬件/软件重置 | ✅ 生产就绪 |
step | 单指令步进 | ✅ 生产就绪 |
🛑 断点管理(2个工具)
| 工具 | 描述 | 状态 |
|---|---|---|
set_breakpoint | 设置硬件/软件断点 | ✅ 生产就绪 |
clear_breakpoint | 删除断点 | ✅ 生产就绪 |
📱 Flash操作(3个工具)
| 工具 | 描述 | 状态 |
|---|---|---|
flash_erase | 擦除闪存扇区/芯片 | ✅ 生产就绪 |
flash_program | 程序ELF/HEX/BIN文件 | ✅ 生产就绪 |
flash_verify | 验证闪存内容 | ✅ 生产就绪 |
📡 RTT通信(6个工具)
| 工具 | 描述 | 状态 |
|---|---|---|
rtt_attach | 连接到RTT通信 | ✅ 生产就绪 |
rtt_detach | 断开RTT | ✅ 生产就绪 |
rtt_channels | 列出可用的RTT信道 | ✅ 生产就绪 |
rtt_read | 从RTT上行信道读取 | ✅ 生产就绪 |
rtt_write | 写入RTT下行信道 | ✅ 生产就绪 |
run_firmware | 完成部署+RTT | ✅ 生产就绪 |
📊 会话管理(2个工具)
| 工具 | 描述 | 状态 |
|---|---|---|
get_status | 获取当前调试状态 | ✅ 生产就绪 |
disconnect | 清理会话终止 | ✅ 生产就绪 |
✅ 22/22工具-使用真实硬件的成功率为100%
🌍 支持的硬件
调试探测器
- J-Link:Segger J-Link(所有变体)
- ST链接:ST链路/V2、ST链路/V3
- DAPLink:ARM DAPLink兼容探头
- 黑魔法探测器:黑魔法探测器
- FTDI:基于FTDI的调试探测
目标架构
- ARM Cortex-M:M0、M0+、M3、M4、M7、M23、M33
- RISC-V:各种RISC-V内核
- ARM Cortex-A:基本支持
🏆 生产状态
✅ 完全实施和测试
当前状态:生产准备就绪
- ✅ 完整的探头集成:使用所有22个工具进行真正的硬件调试
- ✅ 硬件验证:使用STM32G431CBTx+ST Link V2进行测试
- ✅ RTT双向:与实时命令进行完全交互式通信
- ✅ Flash操作:完成擦除、编程、验证工作流程
- ✅ 会话管理:具有强大错误处理功能的多会话支持
- ✅ 人工智能集成:完美的MCP协议兼容性
🙏 致谢
感谢以下开源项目:
📄 许可证
该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
⭐ 如果这个项目对你有帮助,请给我们一颗星!
