关于 crosspad-mcp
crosspad-mcp 是用于开发 CrossPad 固件并操作其模拟器和硬件的 MCP 服务。它将构建、测试、设备、音频、崩溃诊断和代码导航任务分组;写入操作需确认,也可启用只读模式。
主要功能
- 01构建并刷写固件
- 02运行模拟器并查看截图
- 03驱动按键并采集音频
- 04诊断崩溃并追踪变量
- 05导航符号和实现位置
- 06按任务类别组织工具
适用场景
- 01构建固件并在刷写前确认
- 02检查模拟器画面和输入
- 03录制并分析按键音频
- 04查找崩溃原因或代码实现
MCP 相关
该 MCP 服务向 Claude Code 等 MCP 客户端提供 CrossPad 开发工具。客户端可按需启用工具组;写入操作需要确认,且只读模式会移除写入工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
crosspad-mcp
与 CrossPad 对话,让 Claude 处理工具链。
crosspad-mcp 是一个 MCP 服务,可教会 Claude Code(或任何 MCP 客户端)如何为 CrossPad 打击垫控制器进行开发。你只需说 “刷入新构建版本并检查它是否启动”;它就会运行 ESP-IDF 构建,请你确认刷写,打开控制台,运行冒烟测试场景并告知结果——硬件相关的陷阱也已内置,因此你不必记住打开串口时哪个端口会让开发板重启。
你可以用它做什么
每张卡片都是一个真实的提示词。下方列出的工具就是实际执行的内容——你无需亲自调用它们。
| 说这句话…… | ……就会发生这些事 |
|---|---|
| “构建固件并通过 OTA 刷写。” | crosspad_build platform=idf 会持续输出构建进度,crosspad_flash transport=ota 会请求确认,然后持续输出上传进度。系统会检测新的应用目录,并自动执行 fullclean。 |
| “给我看看模拟器屏幕上显示了什么。” | crosspad_run 会启动 PC 模拟器,crosspad_screenshot 会返回 LCD 图像,让 Claude 能实际查看。接着你可以说 “按下打击垫 5”、“将编码器向左转两次”——由 crosspad_input 执行。 |
| “用打击垫演奏一段鼓点,并录下声音。” | crosspad_stimulus 会按照实际时序敲击打击垫,crosspad_capture 会通过开发板自身的 USB 音频端点录音,crosspad_analyze 会给出判定(起音、爆音、静音、力度曲线)。 |
| “它为什么崩溃了?” | crosspad_diagnose_crash——复位原因、寄存器、根据实际刷入的 ELF 解码的回溯,以及重启后的堆状态。一次调用即可。 |
| “我插入线缆时,监视一下电池充电器状态机。” | crosspad_trace 会通过 ST-Link 实时轮询 STM32 变量,不会暂停核心,并绘制变量图表。 |
| “安装采样器应用并重新构建。” | crosspad_apps_install app_name=sampler 会从 crosspad-apps 注册表添加子模块,然后执行干净构建。 |
“IPadLogicHandler 是在哪里实现的?” | 使用 crosspad_interface_implementations 搜索生态系统中的所有仓库,或使用 crosspad_symbol 查找 clangd 精确定位的定义和调用层级。 |
| “我的开发板到底连上了吗?” | crosspad_devices 和 crosspad_doctor 会显示它处于哪种 USB 模式、哪些端口属于它、主机上缺少什么,以及如何逐项修复。 |
快速开始
claude mcp add crosspad -- npx -y crosspad-mcp-server
重启 Claude Code,然后询问:
我的 CrossPad 已连接吗?工具链配置好了吗?
这会运行 crosspad_doctor。每项未通过的检查都会附带一个 fix。服务默认认为你的仓库并排放在 ~/GIT/ 下——如果不是,请设置路径。
安装随附的 crosspad 技能后,Claude 就能预先了解生态系统概况、各角色指南和硬件相关的陷阱:
/plugin marketplace add CrossPad/crosspad-mcp
/plugin install crosspad@crosspad
组织方式
服务器启动时仅显示 core 工具集,因此工具列表会保持精简。Claude 会根据对话需要启用其他工具集——或者你也可以使用 --toolsets device,sim 启动服务器。
flowchart LR
core["core · always on<br/>devices · doctor · snapshot<br/>build · flash · repo status · tasks<br/>bench lease"]
sim["sim<br/>PC simulator: run, screenshot,<br/>input, MIDI, settings, tests"]
device["device<br/>the board over USB: console,<br/>CDC verbs, UI driving, USB mode"]
hil["hil<br/>scenarios, pad stimulus,<br/>audio capture + analysis, BLE"]
code["code<br/>symbols, interfaces,<br/>docs search"]
git["git<br/>submodule drift,<br/>update, commit"]
apps["apps<br/>crosspad-apps registry"]
trace["trace<br/>SWD live variables"]
core --> sim & device & code & git & apps
device --> hil
core --> trace
任何会写入设备或主机的操作都分级管理。刷写、DFU 和 SWD 写入会先返回 需要确认;--read-only 则会从列表中完全移除所有写入工具。长时间运行的操作(构建、刷写、场景)会作为任务运行,你可以查看、等待或取消这些任务。
适用对象
- 你构建并操控 CrossPad 固件——主要使用模拟器,有时也使用开发板。请从用户指南开始。
- 你负责固件开发——刷写、控制台、HIL 场景、崩溃诊断、SWD。请阅读固件开发者指南和 HIL 测试。
- 你想扩展此服务器——请参阅贡献者指南和开发部分。
深入了解
许可证
GPL-3.0-or-later——详见 LICENSE。属于 CrossPad 项目。 版本最高至 10.3.0 的发行版均以 MIT 许可证发布。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。