Home Assistant MCP

Home Assistant MCP

一个模型上下文协议(MCP)集成,它允许 AI 助手通过自然语言命令来控制 Home Assistant 设备,具体实现方式是通过搜索实体并控制设备。 Or, a slightly more formal translation: 一种模型上下文协议(MCP)集成方案,该方案允许人工智能助手通过自然语言指令控制 Home Assistant 设备。其实现方式为:通过搜索实体,并以此为基础控制设备。

远程shell执行
AI集成系统
访问服务器

README

Home Assistant MCP

一个用于使用 AI 助手控制 Home Assistant 设备的模型上下文协议 (MCP) 集成。

概述

此 MCP 允许 AI 助手控制您的 Home Assistant 设备。它提供以下工具:

  1. 在您的 Home Assistant 实例中搜索实体
  2. 控制设备(打开/关闭)
  3. 控制灯光颜色和亮度

前提条件

  • Python 3.11 或更高版本
  • 正在运行并通过 API 可访问的 Home Assistant 实例
  • Home Assistant 长期访问令牌

安装

  1. 克隆此存储库
  2. 设置 Python 环境:
cd home-assistant
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -U pip
pip install uv
uv pip install -e .

配置

获取 Home Assistant 长期访问令牌

  1. 转到您的 Home Assistant 实例
  2. 导航到您的个人资料(单击侧边栏中的用户名)
  3. 向下滚动到“长期访问令牌”
  4. 创建一个新令牌,并使用描述性名称,例如“MCP 集成”
  5. 复制令牌(您只会看到一次)

在 Cursor AI 中设置

将以下配置添加到 Cursor 中的 MCP 配置:

{
  "mcpServers": {
    "home_assistant": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/your/home-assistant-mcp",
        "run",
        "main.py"
      ],
      "env": {
        "HOME_ASSISTANT_TOKEN": "your_home_assistant_token_here"
      },
      "inheritEnv": true
    }
  }
}

替换:

  • /path/to/your/home-assistant 为此目录的实际路径
  • your_home_assistant_token_here 为您的 Home Assistant 长期访问令牌

Home Assistant URL 配置

默认情况下,MCP 尝试连接到 http://homeassistant.local:8123 上的 Home Assistant。

如果您的 Home Assistant 位于不同的 URL,您可以在 app/config.py 中修改 HA_URL 变量。

用法

配置完成后,您可以使用 Cursor AI 控制您的 Home Assistant 设备:

  • 搜索设备:“查找我的客厅灯”
  • 控制设备:“打开厨房灯”
  • 控制灯光颜色:“将我的客厅灯设置为红色”
  • 调整亮度:“将我的餐厅灯设置为蓝色,亮度为 50%”

灯光控制功能

MCP 现在支持高级灯光控制功能:

  1. 颜色控制:为兼容的灯光设置任何 RGB 颜色

    • 使用 RGB 值(每个分量 0-255)指定颜色
    • 示例:set_device_color("light.living_room", 255, 0, 0) 表示红色
  2. 亮度控制:调整灯光亮度

    • 可选的亮度参数 (0-255)
    • 可以与颜色更改结合使用
    • 示例:set_device_color("light.dining_room", 0, 0, 255, brightness=128) 表示中等亮度的蓝色

故障排除

  • 如果您收到身份验证错误,请验证您的令牌是否正确且未过期
  • 检查您的 Home Assistant 实例是否可以在配置的 URL 上访问
  • 对于颜色控制问题:
    • 验证您的灯光实体是否支持 RGB 颜色控制
    • 检查灯光是否已打开,然后再尝试更改颜色

未来功能

动态实体暴露

当前的实现需要一个两步过程来控制设备:

  1. 使用自然语言搜索实体
  2. 使用其特定的 entity_id 控制实体

计划的增强功能是创建一种更动态的方式来将实体暴露给控制设备工具,从而允许 AI:

  • 通过更自然的命令直接控制设备(例如,“关闭厨房灯”)
  • 缓存常用实体以加快访问速度
  • 支持更复杂的操作,例如调整亮度、温度或其他属性
  • 更直观地处理实体组和场景

这将大大减少操作时间,并在通过 AI 助手控制 Home Assistant 设备时创建更无缝的用户体验。

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
AIO-MCP Server

AIO-MCP Server

🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。

精选
本地
https://github.com/Streen9/react-mcp

https://github.com/Streen9/react-mcp

react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。

精选
本地
MCP Atlassian

MCP Atlassian

适用于 Atlassian Cloud 产品(Confluence 和 Jira)的 Model Context Protocol (MCP) 服务器。此集成专为 Atlassian Cloud 实例设计,不支持 Atlassian Server 或 Data Center 部署。

精选
any-chat-completions-mcp

any-chat-completions-mcp

将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。

精选
Exa MCP Server

Exa MCP Server

一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。

精选
MySQL MCP Server

MySQL MCP Server

允许人工智能助手通过受控界面列出表格、读取数据和执行 SQL 查询,从而使数据库探索和分析更安全、更有条理。

精选