跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 Home Assistant,然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
摘要
让你的 AI 读取 Home Assistant:每个传感器、灯光、门和恒温器的当前状态、历史记录、事件日志(记录了什么时候发生了什么)以及你的日历。只读:绝不会控制设备。支持自托管的 Home Assistant。
试试这样问
Home Assistant 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装?直接使用 cloud.anythingmcp.com。 登录后点击 Connectors → Home Assistant,粘贴你的凭据,生成一个 MCP API 密钥即可。无需 Docker,无需
git clone,也无需本地服务器。
Home Assistant
让你的 AI 读取 Home Assistant:每个传感器、灯光、门和恒温器的当前状态、历史记录、事件日志(记录了什么时候发生了什么)以及你的日历。只读:绝不会控制设备。支持自托管的 Home Assistant。
设置
设置大约需要 3 分钟。你需要一个 AnythingMCP 能够访问的 Home Assistant 实例,以及一个长期访问令牌,最好来自专用的非管理员用户。
- 将
HOME_ASSISTANT_URL设置为你打开 Home Assistant 时使用的地址,末尾不要加斜杠,也不要加/api,例如https://home.example.com或http://192.168.1.10:8123(默认端口为 8123)。 - 推荐:在 Settings → People → Users → Add user 下为 AnythingMCP 创建一个专用的 Home Assistant 用户,并关闭 Administrator。该连接器使用的所有端点都不需要管理员权限。
- 以该用户身份登录,点击左下角你的名字打开个人资料。打开 Security 标签页,在 Long-lived access tokens 下点击 Create token。复制令牌(只显示一次,有效期为 10 年),并粘贴到
HOME_ASSISTANT_TOKEN中,不要带 Bearer 一词。 - 安装连接器并运行
home_assistant_get_config:它会返回版本、位置名称和时区,并确认地址和令牌可用。
读取内容:每个实体(传感器、灯光、气候、门、在家状态)的当前状态及其属性、某一时间段内记录的数值历史、事件日志(记录了什么时候发生了什么,例如车库门上次打开的时间)、你的日历及其事件,以及实例配置。实体 ID 形如 sensor.living_room_temperature 或 binary_sensor.garage_door。
只读:每个工具都是 GET 请求。该连接器无法调用动作(服务)、打开或关闭任何设备、解锁门、运行脚本或更改状态。Home Assistant 自身的动作端点并非仅限管理员使用,因此这一保证来自连接器只暴露读取操作,而不是来自令牌。
Home Assistant 的运行位置:在自托管的 AnythingMCP 上,位于私有网络中的实例(http://192.168.x.x:8123、homeassistant.local)需要由管理员在 SSRF_ALLOWED_HOSTS 或管理设置的允许列表中放行该主机。AnythingMCP Cloud 只能访问通过 HTTPS 暴露在公网上的实例,例如位于反向代理之后,或使用 Home Assistant Cloud 远程访问。
隐私:家庭数据会显示谁在家以及家庭成员的日常作息。请只将该连接器分配给其用户有权查看这些数据的 MCP 服务器。
时间:时间戳以带 Z 后缀的 UTC ISO 8601 格式传入,例如 2026-10-01T00:00:00Z。home_assistant_get_config 会返回家庭所在的时区,用于呈现结果。
常见错误:401 表示令牌错误或已被删除。针对单个实体或其日历事件返回 404,表示没有实体使用该 ID;每次调用都返回 404,表示 HOME_ASSISTANT_URL 有误,或已经以 /api 结尾。日历事件返回 400,表示 start 或 end 缺失或不是有效的时间戳。连接被拒绝或被阻止,表示该主机未在 SSRF 允许列表中放行(自托管),或未通过 HTTPS 公开(Cloud)。
该连接器不会调用动作或服务,不会写入或删除状态,不会触发事件,不会渲染模板,不会显示摄像头图像,也不会读取事件流、错误日志或 WebSocket API(区域、设备、实体注册表)。
前提条件:HOME_ASSISTANT_URL、HOME_ASSISTANT_TOKEN
在本地安装连接器
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
打开 http://localhost:3000/connectors/store,选择 Home Assistant,并粘贴前提条件中列出的环境变量。
可用工具
| Tool | What it does |
|---|---|
home_assistant_get_config | 获取 Home Assistant 配置:版本、位置名称、时区、单位制、坐标以及已加载的组件 |
home_assistant_list_states | 列出令牌有权读取的每个实体,精简为 entity_id、state、友好名称、单位和 last_changed |
home_assistant_get_state | 获取单个实体的当前状态及其所有属性、last_changed 和 last_updated,例如恒温器的目标温度或… |
home_assistant_get_history | 获取一个或多个实体在某一时间段内记录的状态变化,例如客厅夜间的温度 |
home_assistant_get_logbook | 获取从起始时间开始的事件日志条目:人类可读的事件,例如门被打开、灯被点亮或有人到家,并附带… |
home_assistant_list_calendars | 列出此 Home Assistant 实例的日历实体(entity_id 和名称,例如 calendar.family) |
home_assistant_get_calendar_events | 获取某个日历在开始和结束之间的事件:摘要、开始时间、结束时间、描述和地点 |
后续步骤
这份指南对你有帮助吗?