返回市场
家居MCP服务器

家居MCP服务器

作者:allistera4 星标更新:2025-11-07

项目介绍

更新

Homey 现在提供自己的 MCP 服务器:https://homey.app/en-gb/news/introducing-the-homey-mcp-server/

Homey 的 MCP 服务器

用于与 Homey 智能家居平台交互的 Model Context Protocol (MCP) 服务器。

功能

  • 设备管理:列出并控制所有 Homey 设备
  • 能力控制:设置设备的能力(如开关、亮度、温度等)
  • 区域管理:列出并组织区域
  • 流程自动化:列出并触发 Homey 流程

示例

  • “显示所有楼下开着的灯”
  • “你能打开客厅的灯并将亮度设置为75%吗?”
  • “客厅的温度是多少?”

预备条件

  • Node.js >= 18
  • 具有本地 API 访问权限的 Homey Pro 设备
  • Homey API 密钥和本地 IP 地址

获取 Homey API 凭据

  1. 在 Homey Web 应用中导航到 设置 → API 密钥
  2. 点击“新建 API 密钥”
  3. 给它命名并选择适当的权限
  4. 复制生成的 API 密钥
  5. 在 设置 → 常规 → 网络 中找到 Homey 的本地 IP 地址

安装

npm install
npm run build

配置

创建一个 .env 文件或设置环境变量:

HOMEY_API_TOKEN=your_api_token_here
HOMEY_LOCAL_IP=192.168.1.xxx

使用方法

运行服务器

npm run build
node dist/index.js

Claude Desktop 配置

添加到你的 Claude Desktop 配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "homey": {
      "command": "node",
      "args": ["/absolute/path/to/demo/dist/index.js"],
      "env": {
        "HOMEY_API_TOKEN": "your_api_token_here",
        "HOMEY_LOCAL_IP": "1192.168.1.xxx"
      }
    }
  }
}

可用工具

list_devices

列出连接到 Homey 的所有设备及其能力和状态。

get_device

获取特定设备的详细信息。

参数:

  • deviceId (字符串):设备的ID

set_capability

设置设备的能力值。

参数:

  • deviceId (字符串):设备的ID
  • capability (字符串):要设置的能力(例如,onoffdimtarget_temperature
  • value (任意类型):要设置的值

示例:

  • 打开灯光:{ deviceId: "abc123", capability: "onoff", value: true }
  • 设置亮度:{ deviceId: "abc123", capability: "dim", value: 0.5 }
  • 设置温度:{ deviceId: "abc123", capability: "target_temperature", value: 21 }

list_zones

列出 Homey 设置中的所有区域。

list_flows

列出所有可用的流程。

trigger_flow

触发特定的 Homey 流程。

参数:

  • flowId (字符串):要触发的流程的ID

开发

监视模式

npm run watch

代码检查

npm run lint

修复代码检查错误

npm run lint:fix

项目结构

.
├── src/
│   └── index.ts       # 主 MCP 服务器实现
├── dist/              # 编译后的 JavaScript 输出
├── package.json
├── tsconfig.json
└── README.md

常见设备能力

  • onoff:开启/关闭设备(布尔型)
  • dim:亮度级别(0-1)
  • target_temperature:目标温度(数值型)
  • measure_temperature:当前温度(只读)
  • measure_power:功率消耗(只读)
  • measure_humidity:湿度水平(只读)
  • volume_set:音量级别(0-1)
  • speaker_playing:播放状态(布尔型)

故障排除

连接问题

  • 验证 Homey 的本地 IP 地址是否未更改
  • 确保 API 密钥具有足够的权限
  • 检查设备是否与 Homey 在同一网络上

设备未找到

  • 使用 list_devices 获取正确的设备ID
  • 验证设备是否在 Homey 应用中可用

许可证

MIT