使用说明

项目简介

Home Assistant MCP (Model Context Protocol) 是一个基于 Model Context Protocol 构建的 MCP 服务器,它充当 Anthropic 的 Claude 或其他 LLM 与 Home Assistant 智能家居系统之间的桥梁。通过此 MCP 服务器,您可以使用自然语言与 Home Assistant 实例进行交互,实现智能家居设备的控制、状态监控以及自动化管理。

主要功能点

  • 自动化管理: 支持列出、获取、创建、更新和删除 Home Assistant 自动化配置,以及切换自动化状态。
  • 实体控制: 允许列出指定域(如 lights, switches, sensors)下的实体,获取实体详细信息,更新实体状态和属性,并调用 Home Assistant 服务执行更复杂的操作。
  • 媒体播放器控制: 提供媒体播放器的列表,控制媒体播放(播放、暂停、停止等)和调节音量。
  • 更新管理: 能够检查 Home Assistant Core、Supervisor、OS 和 Add-ons 的可用更新,并获取更新详情,支持模拟安装更新。
  • Node-RED 集成: 支持列出、获取和更新 Node-RED 流程,以及部署 Node-RED 流程。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/liorfranko/home-assistant-mcp.git
    cd home-assistant-mcp
  2. 安装依赖:

    npm install
  3. 配置环境变量: 创建 '.env' 文件,并填入以下 Home Assistant 和 Node-RED 的连接信息:

    HA_URL=http://homeassistant.local:8123 # Home Assistant 地址
    HA_TOKEN=your_long_lived_access_token # Home Assistant 长期访问令牌
    NODE_RED_URL=http://homeassistant.local:1880 # Node-RED 地址 (可选,如果使用 Node-RED 集成功能则需要)
    NODE_RED_USERNAME=your_node_red_username # Node-RED 用户名 (可选)
    NODE_RED_PASSWORD=your_node_red_password # Node-RED 密码 (可选)

    请务必替换 'your_long_lived_access_token' 为您在 Home Assistant 中生成的长期访问令牌。

  4. 构建项目:

    npm run build
  5. 启动 MCP 服务器:

    npm start

服务器配置 (MCP 客户端)

以下是 MCP 客户端(例如 Cursor 编辑器)连接到 Home Assistant MCP 服务器的 'mcp.json' 配置示例。您需要根据实际情况配置 'command' 和 'args' 字段。

{
  "mcpServers": {
    "home-assistant": {
      "command": "node", // 启动 MCP 服务器的命令,这里假设使用 Node.js 运行
      "args": ["<path/to/your/dist/folder>"], // 启动命令的参数,指向编译后的 dist 文件夹
      "env": {
        "HA_URL": "http://homeassistant.local:8123", // Home Assistant 地址,可以环境变量方式传入
        "HA_TOKEN": "your_long_lived_access_token", // Home Assistant 长期访问令牌,可以环境变量方式传入
        "NODE_RED_URL": "http://homeassistant.local:1880", // Node-RED 地址 (可选),可以环境变量方式传入
        "NODE_RED_USERNAME": "your_node_red_username", // Node-RED 用户名 (可选),可以环境变量方式传入
        "NODE_RED_PASSWORD": "your_node_red_password"  // Node-RED 密码 (可选),可以环境变量方式传入
      }
    }
  }
}

请将 '<path/to/your/dist/folder>' 替换为实际 'dist' 文件夹的路径。

基本使用方法

启动 MCP 服务器后,在 MCP 客户端中配置连接信息。连接成功后,即可通过自然语言指令与 Home Assistant 进行交互。例如,您可以尝试在聊天界面输入:

'List all my Home Assistant automations'

来列出 Home Assistant 中的所有自动化配置。

信息

分类

桌面与硬件