Homeassistant MCP

Homeassistant MCP

Homeassistant MCP 是一个基于 MCP 协议的服务器工具,用于连接 Home Assistant 与语言模型(LLM),实现通过自然语言控制和监控智能家居设备。

80 浏览
2026-01-01 发布

详细介绍

Homeassistant MCP 是一个基于 MCP(Model Context Protocol)协议的服务器工具,旨在连接 Home Assistant 与语言模型(LLM),实现通过自然语言控制和监控智能家居设备。该工具支持多种设备类型,提供实时状态更新、自动化管理、安全验证等功能,适用于希望通过语音或文本指令管理智能家居的用户。

核心功能

MCP 服务器的核心功能包括:

  • 设备控制:支持控制灯光、恒温器、窗帘、开关等多种设备。
  • 实时更新:通过 Server-Sent Events (SSE) 实现实时状态同步。
  • 自动化管理:支持创建、修改和管理 Home Assistant 的自动化规则。
  • 状态监控:可实时查询和跟踪设备状态。
  • 安全保护:采用基于令牌的身份验证和速率限制机制,保障系统安全。

安装方法

安装 MCP 服务器需要以下步骤:

  1. 克隆项目代码:
git clone https://github.com/jango-blockchained/homeassistant-mcp.git
  1. 进入项目目录并安装依赖:
npm install
  1. 构建项目:
npm run build
  1. 复制并编辑环境变量配置文件:
cp .env.example .env
nano .env
  1. 使用 Docker Compose 启动服务器:
docker compose up -d

使用方法

使用 MCP 服务器可以通过 JavaScript 脚本进行初始化和控制。以下是一个基础使用示例:

const { ModelContext } = require('home-assistant-model-context');

async function initializeModel() {
  const model = new ModelContext({
    host: 'localhost',
    port: 8123,
    tokenPath: '/config/secrets.yaml'
  });

  await model.initialize();
  const state = await model.getState('light.living_room');
  console.log('灯的状态:', state.state);
}

initializeModel().catch(console.error);

此外,MCP 服务器还支持通过自然语言指令控制设备,例如:

  • 打开客厅灯光
  • 调整卧室温度至22度

使用场景

MCP 服务器适用于以下场景:

  • 通过语音助手或聊天机器人控制智能家居设备。
  • 实现自然语言与 Home Assistant 的无缝交互。
  • 为开发者提供一个集成 LLM 与 Home Assistant 的桥梁。

配置说明

配置文件通常为 config.json,内容如下:

{
  "host": "localhost",
  "port": 8123,
  "token": "your_api_key_here"
}

确保 hostport 与 Home Assistant 实例一致,并正确设置访问令牌。

注意事项

在使用过程中,需要注意以下事项:

  • 确保 Home Assistant 正常运行并可访问。
  • 网络连接必须稳定。
  • 高级功能可能需要一定的技术背景。
  • 如果遇到 toSorted is not a function 错误,请升级 Node.js 至 20.10.0 或以上版本。

通过以上步骤和配置,用户可以快速搭建并使用 MCP 服务器,实现智能家居的自然语言控制。

自然语言控制 智能家居集成 Home Assistant LLM协议

相关服务推荐

查看更多