上一篇说窗有两扇,人直接操作机器的那扇不是 MCP 原本瞄准的位置,而且缺的是画面。
这一篇讲那份画面从哪里来。
换掉一个前提
通常是宿主知道画面。哪台设备给哪个值、这个值用哪个组件画、哪个按钮发哪条命令 — 应用全知道。所以多一台设备就改一次应用。
要换的前提是:画面由设备定义,不由宿主定义。
设备本来就作为 MCP 服务器把自己的功能暴露为工具。再加一件事 — 用声明的方式描述自己的画面。 客户端接住这份描述,用原生方式画出来。不需要浏览器,也不需要内嵌网页引擎。
于是客户端不必事先知道要画什么。第一次见到的设备,接上就能操作。
桌上的两块板
这话说出来很像那么回事,正因如此才用实物确认。
两块板。STM32H723 走 USB 串口,ESP32 走 Wi-Fi。连发现方式都不同 — 一个靠打开端口找,一个靠网络找。无论电气上还是传输上,两者毫无关系。
每块板上有桥接,把自己的功能暴露为工具,把自己的画面暴露为资源。而客户端对两者完全相同,没有按板分支。
画面出来了。按下按钮,桌上的 LED 真的亮起来。
这个样例挂着一条规则:没有板子就不算通过。 不用仿真替代,而是报出查了哪个端口然后判失败。没有硬件却「验证」过的硬件文章,不算验证过。