Home Assistant MCP Server

Home Assistant MCP Server

site icon
2025.03.06 1
TypeScript智能家居控制自然语言交互位置服务
Home Assistant MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,用于与 Home Assistant 智能家居平台集成,允许大型语言模型(LLMs)控制和查询智能家居设备。它提供了丰富的工具集,支持通过自然语言进行设备控制和状态查询,适用于各种智能家居场景。
View on GitHub

Overview

基本能力

产品定位

Home Assistant MCP Server 是一个智能家居集成服务,通过 MCP 协议将 Home Assistant 平台的能力暴露给 LLMs,实现自然语言交互的智能家居控制。

核心功能

  • 通过自然语言查询和控制 Home Assistant 实体
  • 兼容所有 MCP 客户端(如 Claude Desktop)
  • 提供状态管理、服务调用、历史记录等多种工具
  • 使用 Home Assistant 长期访问令牌进行安全认证
  • 支持多种传输方式(本地进程的 stdio 和远程客户端的 SSE)
  • 提供演示模式,在 Home Assistant 不可用时使用模拟数据进行测试

适用场景

  • 通过自然语言控制智能家居设备
  • 集成到 AI 助手应用中实现智能家居控制
  • 开发和测试智能家居自动化流程
  • 演示智能家居集成功能

工具列表

  • states: 查询实体状态
  • lights: 列出所有灯光设备
  • light: 控制单个灯光
  • service: 调用 Home Assistant 服务
  • history: 获取历史实体数据
  • services: 列出可用服务
  • config: 获取 Home Assistant 配置
  • domains: 列出可用域
  • error_log: 获取错误日志
  • devices: 获取所有设备

常见问题解答

  • 安全建议:仅在可信网络运行,使用 HTTPS 远程暴露,保护 .env 文件安全
  • 如何获取长期访问令牌:通过 Home Assistant 个人资料中的 Long-Lived Access Tokens 创建
  • 演示模式:使用 --mock 参数或设置 HASS_MOCK=true 启用

使用教程

使用依赖

需要安装 bun 运行时环境

安装教程

# 使用 bun 全局安装
bun install -g home-assistant-mcp-server

# 或从源码安装
git clone https://github.com/oleander/home-assistant-mcp-server.git
cd home-assistant-mcp-server
bun install
bun run build
bun link

配置

创建 .env 文件并配置以下变量:

HASS_URL=http://your-home-assistant:8123
HASS_TOKEN=your_long_lived_access_token
PORT=3000
HASS_MOCK=false

调试方式

# 标准模式
home-assistant-mcp-server
home-assistant-mcp-server --stdio

# 演示模式
home-assistant-mcp-server --mock
home-assistant-mcp-server --stdio --mock

与 Claude Desktop 集成

  1. 编辑 Claude Desktop 配置文件
  2. 添加服务器配置
  3. 重启 Claude Desktop

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。