项目简介

HA_MCP 是一个为 Home Assistant 智能家居平台设计的 Model Context Protocol (MCP) 服务器附加组件。它允许 AI 助手(如 Claude Desktop)通过标准化的 MCP 协议与您的 Home Assistant 实例进行安全、实时的交互。您可以利用自然语言命令来控制智能设备、创建自动化、查询设备状态和历史数据、分析能源使用情况,甚至进行系统诊断和故障排除。

主要功能点

  • 自然语言控制: 通过与 AI 对话来操控您的智能家居设备。
  • 丰富操作: 支持超过40种操作,包括查询实体状态、调用服务、创建自动化、获取设备与区域信息等。
  • 企业级安全: 集成 Home Assistant Supervisor 令牌认证、请求限速、输入净化、实体过滤等多重安全机制。
  • 实时更新: 利用 WebSocket 连接,实现设备状态的即时同步。
  • 易于安装: 作为 Home Assistant 附加组件,支持一键安装和多架构部署。
  • AI 辅助功能: 提供智能自动化建议、能源优化分析、安全检查、故障排除等高级 AI 辅助功能。

安装步骤

  1. 添加仓库: 在 Home Assistant 界面的 "设置" → "附加组件" → "附加组件商店" 中,点击右上角 "⋮" (三点菜单) → "仓库"。
  2. 粘贴仓库地址: 输入 'https://github.com/mtebusi/HA_MCP' 并点击 "添加"。
  3. 刷新商店: 返回 "附加组件商店",刷新页面(移动端下拉,桌面端按 F5)。
  4. 安装附加组件: 在列表中找到 "MCP Server for Claude" 并点击安装。
  5. 配置与启动: 在附加组件的 "配置" 选项卡中调整端口(默认 6789)和日志级别等设置,然后启动附加组件并启用 "开机启动"。

服务器配置(用于 MCP 客户端连接)

MCP 服务器启动后,您的 MCP 客户端(例如 Claude Desktop)需要配置连接信息。您需要将以下 JSON 配置添加到 Claude Desktop 的配置文件中,文件路径通常为:

  • macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%\Claude\claude_desktop_config.json'
  • Linux: '~/.config/Claude/claude_desktop_config.json'
{
  "mcpServers": {
    "homeassistant": { // 服务器的唯一标识符,可自定义
      "command": "npx", // 运行 MCP SSE 客户端的命令
      "args": [
        "-y", // npx 的参数,表示总是安装最新包
        "@modelcontextprotocol/server-sse-client", // 用于连接 SSE MCP 服务器的客户端工具包
        "http://homeassistant.local:6789/sse" // MCP 服务器的 SSE 端点 URL
      ]
    }
  }
}

请根据您的 Home Assistant 实际部署情况,替换上述 JSON 中 'args' 数组里的第三个元素 'http://homeassistant.local:6789/sse' 为正确的服务器地址:

  • 局域网访问: 如果 Home Assistant 在您的本地网络中,通常是 'http://homeassistant.local:6789/sse'。
  • IP 地址访问: 如果您知道 Home Assistant 的 IP 地址,可以使用 'http://<您的Home Assistant IP地址>:6789/sse'。
  • Nabu Casa 远程访问: 如果您使用 Nabu Casa 远程访问服务,请使用 'https://<您的Nabu Casa ID>.ui.nabu.casa:6789/sse'。

配置完成后,请务必重启您的 MCP 客户端以使更改生效。

基本使用方法

连接成功后,您可以通过 MCP 客户端(例如在 Claude Desktop 中)使用自然语言与 Home Assistant 交互:

  • 设备控制:
    • "关掉卧室里所有的灯。"
    • "把恒温器调到22度。"
    • "车库门开着吗?"
  • 自动化创建:
    • "创建一个自动化,在我开始看电视时调暗灯光。"
    • "如果任何门打开超过5分钟,就提醒我。"
  • 分析与优化:
    • "哪些设备能耗最高?"
    • "分析我的取暖习惯。"
    • "优化我的自动化以节省能源。"
  • 故障排除:
    • "我的运动传感器昨晚为什么没触发?"
    • "检查我的Z-Wave网络健康状况。"

信息

分类

桌面与硬件