Token导航 LogoToken导航TokenDH.com
Homie5 MCP Server logo
运维云端stdio官方级别未说明来源级核验

Homie5 MCP Server

MCP Server

一个让LLMs通过MQTT与Homie 5智能家居设备交互的服务器,抽象化MQTT主题和Homie约定,提供简洁的设备导向API。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
智能家居设备管理TypeScriptClaude物联网Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

electrification-bus

提供方

electrification-bus

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --init -e HOMIE_BROKER_URL=mqtt://user:pass@broker:1883 homie-mcp-server

详细介绍

Homie MCP服务器

允许LLM与以下对象交互的MCP服务器 Homie 5 MQTT上的智能家居设备。它抽象了MQTT主题和Homie约定,提供了一个干净的面向设备的API。

运作原理

  1. 启动时(或之后 homie_connect),订阅 {domain}/5/+/$state{domain}/5/+/$description
  2. 当一个设备 $description 到达(保留JSON),解析并订阅 {domain}/5/{deviceId}/+/+ 对于所有房产价值
  3. 属性值在到达时被缓存——缓存始终是最新的
  4. 当一个设备 $state 清除(空负载)后,设备将从缓存中删除
  5. 从缓存读取的工具调用(即时)或向MQTT发布集命令

设置

npm install
npm run build

配置

配置是通过环境变量进行的。有两种模式:

预配置模式:设置 HOMIE_BROKER_URL 服务器在启动时连接。这 homie_connect 工具未暴露。

交互模式:省略 HOMIE_BROKER_URL LLM通过 homie_connect 工具。

凭证包含在代理URL中(例如。 mqtt://user:pass@broker:1883).

变量描述必填默认
HOMIE_BROKER_URLMQTT代理URL(例如。 mqtt://user:pass@host:1883)--
HOMIE_CLIENT_IDMQTT客户端IDhomie-mcp-{random}
HOMIE_DOMAINHomie主题域前缀homie
HOMIE_SSE_PORT如果已设置,请在此端口上运行SSE传输,而不是stdio--
HOMIE_TLS_CERTHTTPS的PEM证书文件路径--
HOMIE_TLS_KEYHTTPS的PEM私钥文件路径--

使用SSE传输时,服务器始终通过HTTPS运行。如果两者都有 HOMIE_TLS_CERTHOMIE_TLS_KEY 如果已设置,则使用这些证书。如果两者都没有设置,则会自动生成自签名证书。只设置其中一个是错误的。

用法

克劳德代码(预配置)

claude mcp add homie-mcp -- env HOMIE_BROKER_URL=mqtt://localhost:1883 node /path/to/homie-mcp-server/build/index.js

克劳德代码(交互式)

claude mcp add homie-mcp -- node /path/to/homie-mcp-server/build/index.js

法学硕士需要致电 homie_connect 在它可以与设备交互之前。

独立(stdio)

HOMIE_BROKER_URL=mqtt://localhost:1883 node build/index.js

SSE运输(自签名证书)

HOMIE_BROKER_URL=mqtt://localhost:1883 HOMIE_SSE_PORT=3000 node build/index.js

SSE运输(海关证书)

HOMIE_BROKER_URL=mqtt://localhost:1883 HOMIE_SSE_PORT=3000 HOMIE_TLS_CERT=cert.pem HOMIE_TLS_KEY=key.pem node build/index.js

连接到 https://localhost:3000/sse 对于SSE流,POST到 /messages 对于请求。

码头工人

docker build -t homie-mcp-server .
docker run --init -e HOMIE_BROKER_URL=mqtt://user:pass@broker:1883 homie-mcp-server

HOMIE_BROKER_URL 如果没有它,容器将拒绝启动。

要使用SSE传输:

docker run --init -e HOMIE_BROKER_URL=mqtt://broker:1883 -e HOMIE_SSE_PORT=3000 -p 3000:3000 homie-mcp-server

使用自定义证书,将它们装载到容器中:

docker run --init \
  -e HOMIE_BROKER_URL=mqtt://broker:1883 \
  -e HOMIE_SSE_PORT=3000 \
  -e HOMIE_TLS_CERT=/certs/cert.pem \
  -e HOMIE_TLS_KEY=/certs/key.pem \
  -v /path/to/certs:/certs:ro \
  -p 3000:3000 homie-mcp-server

工具

homie_connect

*仅在以下情况下可用 HOMIE_BROKER_URL 未设置。*

连接到MQTT代理。如果已连接,请先断开连接,然后重新连接到新代理。连接后自动启动设备发现。

参数类型必填
broker_urlstring

凭据位于URL中: mqtt://user:pass@host:1883.

homie_get_devices

列出所有发现的设备。返回设备ID、名称、类型和状态。

默认情况下,仅返回活动设备(状态 readysleeping).通过 include_all: true 还包括设备 init, disconnected,以及 lost 国家。

homie_get_device

获取单个设备的完整详细信息:状态、描述、所有节点和属性及其当前值。

参数类型必填
device_idstring

homie_get_value

获取特定属性的当前值及其元数据(数据类型、单位、格式、可设置)。

参数类型必填
device_idstring
node_idstring
property_idstring

homie_set_value

向可设置属性发送命令。在发布之前,会根据属性的数据类型和格式验证该值。

参数类型必填
device_idstring
node_idstring
property_idstring
valuestring

验证规则:

  • 布尔:必须是 "true""false"
  • 整数:必须是一个整数,与格式中的min:max范围进行核对
  • 浮点数:必须是一个数字,根据格式中的min:max范围进行检查
  • 枚举:必须是格式中以逗号分隔的值之一
  • 颜色:已验证 rgbhsv 格式
  • 日期时间:必须是有效的ISO 8601
  • 持续时间:必须为ISO 8601持续时间(例如。 PT30S)

命令发布到 {topic}/set 根据Homie规范,QoS为0,不保留。

homie_discover

强制重新发现。清除设备存储,取消订阅所有内容,并重新订阅发现主题。保留的邮件将重新填充存储。没有参数。

目录标签

目录标签

智能家居设备管理TypeScriptClaude物联网本地部署MQTT服务器LLM交互

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP