MCP 集成:服务端接入与智能家居
MCP 在小智生态里有两个不同的位置:设备端工具(固件内置,音量、屏幕、拍照等,见MCP 使用指南)与服务端接入(让大模型调用外部工具)。本页整理服务端接入的社区路线;协议消息结构只在MCP 协议规范维护。
版本与验证状态(2026-11-08 观察):路线一(Endpoint)已完成本站本地集成演练(见下表验证状态);路线二、三仍为作者声明级、未实测;固定版本锚点取自各仓库当前水位。本地演练不等于与真实设备/服务端的端到端验收。
路线一:MCP Endpoint 注册中心
| 项 | 内容 |
|---|---|
| 项目 | xinnan-tech/mcp-endpoint-server(MIT,latest v0.0.7 / commit 0f9302f3,2026-06-02) |
| 角色 | 独立注册中心:MCP 服务端向它注册,小智服务端(xinnan 系)从它发现工具 |
| 谁连接谁 | MCP 工具服务 → 注册中心 ← 小智服务端 |
| 传输 | WebSocket 注册与转发(作者声明) |
| 适用后端 | 面向 xinnan 自定义 MCP 注册设计;不是通用 MCP Registry,不支持所有标准传输 |
| 部署 | 作者建议 Docker;FastAPI 实现 |
| 验证状态 | 本站本地集成演练已通过(2026-11-08,v0.0.7):注册(MCP 端 WebSocket 接入)→ 转发(小智端 tools/list 请求被改写 id 后转发到 MCP 端)→ 回程(按改写 id 应答后小智端收到含 total_servers/responded_servers 的聚合结果)→ 撤销(双侧断开后自动注销)→ 恢复(断开重连注册成功);负例:无效 token 以 close code 1008 拒绝。健康检查 /mcp_endpoint/health?key=… 返回 JSON-RPC ok。未验证:与 xiaozhi 服务端/真实设备的端到端集成 |
路线二:Home Assistant 作为 MCP 服务端(直连)
| 项 | 内容 |
|---|---|
| 项目 | c1pher-cn/ha-mcp-for-xiaozhi(MIT,latest v0.2.1 / commit 64cc1507,2026-10-17) |
| 角色 | HA 集成:HA 自身作为 MCP 服务端,把自己的实体/工具代理给小智 |
| 谁连接谁 | HA → 小智侧 MCP 接入点:HA 通过 WebSocket 主动连接小智 MCP 接入点地址(v0.2.1 README 第 27/67 行),无需中转 |
| 传输 | WebSocket(HA 侧发起),对接小智侧 MCP 接入点(如 xinnan 系的 Endpoint 服务) |
| 权限 | 接入点地址在 HA 集成配置中填写;可勾选 HA 自带 Assist API 与用户在 HA 中接入的其他 MCP Server |
| 验证状态 | 待验证:工具发现与调用按作者 README 声明整理 |
路线三:Home Assistant MCP Server 桥接
| 项 | 内容 |
|---|---|
| 项目 | mac8005/xiaozhi-mcp-ha(MIT,latest v0.0.27 / commit a6d3ca4a,2026-10-21) |
| 角色 | 桥接/代理:位于小智云服务与本地 HA MCP Server 集成之间(v0.0.27 README “How it Works”:设备 ↔ 小智云 ↔ 本集成 ↔ HA MCP Server ↔ HA 实体) |
| 谁连接谁 | 本集成主动建立并维护到小智云端点(WebSocket URL 含 token)的长连接(README 特性:自动重连+指数退避);小智云在既有连接上向本集成下发 MCP 请求;本集成再以 SSE 转发给本地 HA MCP Server(http://localhost:8123/mcp_server/sse,legacy HTTP/SSE)。即「云下发请求」发生在桥接主动建立的连接之内,不是云向家庭网络拨号 |
| 配置与权限 | 两个独立令牌:小智侧 MCP 端点 URL(含 ?token=…,来自官方控制台的 MCP 页面)+ HA 长期访问令牌(HA 个人资料创建);两者不可混用 |
| 验证状态 | 待验证:新式 Streamable HTTP 兼容未测试;v0.0.26 起 loopback 之外要求 TLS、不再记录消息负载与端点 URL——既有局域网明文 URL 需迁移(作者 CHANGELOG/SECURITY 声明) |
选择与边界
- 两条 HA 路线不合并为同一套步骤:直连与桥接的传输、权限模型不同;
- 令牌与端点地址只放在服务端配置,不进入页面示例(本页无真实凭据);
- 各路线的兼容性以对应项目文档为准;本页"待验证"条目在具备运行环境后补实测记录;
- 设备端 MCP 工具(与本文的三条服务端路线不同位置)见使用指南。
关联项目记录
三条路线的项目实体、许可与观察水位已登记在生态项目与来源注册表(仓库 numeric ID 保持身份,改名不失效)。