通过MCP让AI控制软件
通过MCP让AI控制软件
概述
纸飞机调试助手内置本地 Control HTTP API,并通过 MCP 服务把这些能力暴露给 Cursor 等支持 MCP 的 AI 客户端。它不是单纯的“文档问答”,而是让 AI agent 在本机受控访问纸飞机:查询串口、切换通信模式、打开设备、收发数据、读取窗口文本、管理命令面板、操作自由工作区、查询绘图数据等。
本地 Control API 默认关闭,需要用户主动开启;服务仅监听本机地址,并使用 Bearer Token 鉴权。
启用方式

常规方式:
设置 -> MCP 服务设置。启用本地 MCP HTTP 服务。MCP HTTP服务AI 客户端配置要点

MCP 服务需要知道两个环境变量:
COMASSISTANT_URL=http://127.0.0.1:17340
COMASSISTANT_TOKEN=<软件中显示的 Device ID>
推荐先做健康检查:
diag_ping_comassistant()(或 GET /v1/health):确认纸飞机 Control API 可访问。diag_ping_mcp 仍可通过 mcp_invoke 调用(冷工具),仅返回 MCP Python 进程身份,一般不单独使用。
如果 MCP 客户端能启动但工具报错,优先检查 COMASSISTANT_URL、COMASSISTANT_TOKEN、软件是否已授权、MCP HTTP 服务是否已启用。
可自动化的功能
MCP 能力覆盖以下常见场景:
使用边界
AI agent 操作硬件时要区分三类发送方式:
device_send(data, format):直接向设备发数据,不经过发送区 UI。send_area_set(text) + send_button():写入发送区,再模拟点击发送按钮。command_panel_send_command() / command_panel_send_group():模拟命令面板发送。需要复现用户界面行为时,优先选择 UI 对应接口;需要精确发一包数据时,选择直发接口。不要把三者混用,否则容易出现 HEX 发送状态、换行规则或命令面板延时与预期不一致。
安全建议
常见问题
为什么菜单里的 MCP 服务是灰色或不可用?
MCP HTTP 服务需要授权后使用。先完成在线账户登录或离线授权验证,再打开 MCP 服务设置。
AI 报 HTTP 502,浏览器打开健康接口却是 unauthorized?
/v1/health 得到 {"ok":false,"error":"unauthorized"} 表示 HTTP 服务已在听(401),不是服务挂了。diag_connectivity()(或先 diag_ping_comassistant),按返回的 cause / next_steps 排查。COMASSISTANT_TOKEN 是否等于设置里的 Device ID,改完后重启 MCP。MCP 和 Lua 怎么分工?
Lua 更适合在纸飞机内部处理收发钩子、过滤、自动应答等实时逻辑;MCP 更适合让外部 AI agent 编排调试流程、读写配置、查询状态和整理数据。
> 本文为 AI 辅助生成内容