Home Assistant MCP Server

Home Assistant MCP Server

一个模型上下文协议服务器,与 Home Assistant 集成,通过自然语言提供智能家居控制功能,支持灯光、气候系统、锁、警报和加湿器等设备。

智能家居与物联网
访问服务器

README

<img src="./img/ha.png" height="30" style="border-radius: 250%; margin: 0 5px;"> 🤝 <img src="./img/mcp.png" height="30" style="border-radius: 20%; margin: 0 5px;"> Home Assistant MCP 服务器

一个模型上下文协议 (MCP) 服务器项目,它与 Home Assistant 集成,以提供智能家居控制功能。

提示语

服务器为每个域的工具集提供提示语。

工具

服务器实现了对各种 Home Assistant 域的控制。目前支持:

  • 💡 灯光:打开/关闭,亮度控制
  • 🌡️ 气候:温度控制,HVAC 模式
  • 🔒 锁:锁定/解锁功能
  • 🚨 警报控制面板:布防/撤防安全系统
  • 💧 加湿器:湿度控制

示例工具包括:

light-turn_on()
climate-turn_off()
alarm_control_panel-disarm()
lock-lock()
humidifier-turn_off()

配置

环境变量

在根目录中创建一个 .env 文件,内容如下:

HOMEASSISTANT_TOKEN=你的_长期有效的_访问令牌 # 从你的 Home Assistant 实例获取,在完成初始设置后
HOMEASSISTANT_BASE_URL=你的_Home Assistant_URL # 例如:http://homeassistant.local:8123

快速开始

安装

按照说明安装 Home Assistant 并获取长期有效的访问令牌。

Claude Desktop

在 MacOS 上:~/Library/Application\ Support/Claude/claude_desktop_config.json 在 Windows 上:%APPDATA%/Claude/claude_desktop_config.json

<details> <summary>开发/未发布的服务器配置</summary>

"mcpServers": {
  "home-assistant-server": {
    "command": "uv",
    "args": [
      "--directory",
      "/path/to/home-assistant-server",
      "run",
      "home-assistant-server"
    ]
  }
}

</details>

<details> <summary>已发布的服务器配置</summary>

"mcpServers": {
  "home-assistant-server": {
    "command": "uvx",
    "args": [
      "home-assistant-server"
    ]
  }
}

</details>

开发

构建和发布

要准备用于分发的软件包:

  1. 同步依赖项并更新锁定文件:
uv sync
  1. 构建软件包分发:
uv build

这将在 dist/ 目录中创建源和 wheel 分发。

  1. 发布到 PyPI:
uv publish

注意:您需要通过环境变量或命令标志设置 PyPI 凭据:

  • 令牌:--tokenUV_PUBLISH_TOKEN
  • 或用户名/密码:--username/UV_PUBLISH_USERNAME--password/UV_PUBLISH_PASSWORD

调试

由于 MCP 服务器通过 stdio 运行,因此调试可能具有挑战性。 为了获得最佳的调试体验,我们强烈建议使用 MCP Inspector

您可以使用 npm 通过以下命令启动 MCP Inspector:

npx @modelcontextprotocol/inspector uv --directory /Users/miguel/Documents/home-assistant-server/home-assistant-server run home-assistant-server

启动后,Inspector 将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。

贡献

感谢您对贡献此项目感兴趣!

请参阅 CONTRIBUTING.md 获取指南。

许可证

MIT 许可证 - 有关详细信息,请参阅 LICENSE