摘要
让你的 AI 读取你的 Home Assistant:每个传感器、灯、门和恒温器的当前状态、历史记录、按时间记录事件的日志簿,以及你的日历。只读:绝不会控制设备。适用于自托管的 Home Assistant。
引导式设置
2 分钟将 Home Assistant 连接到 ChatGPT
开始 AnythingMCP Cloud 免费试用,在引导式设置中连接 Home Assistant,再把你的 MCP URL 添加到 ChatGPT。无需代码,也无需自行运行服务器。
无需信用卡 · 7 天试用 · 提供自托管方案
ChatGPT 插件目录中的 AnythingMCP 插件可在 AnythingMCP Cloud 上回答有关企业数据库的问题(PostgreSQL、MySQL、SQL Server、Oracle、SAP HANA、SQLite、MongoDB,只读):打开插件页面 (在新标签页中打开)并点击 Install plugin。其他所有连接器都以自定义 MCP 服务器的方式添加到 ChatGPT,使用你的 AnythingMCP MCP URL。
试试这样问
Home Assistant 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 不想安装?直接使用 cloud.anythingmcp.com。 登录后点击 Connectors → Home Assistant,粘贴你的凭据,生成一个 MCP API 密钥即可。无需 Docker,无需
git clone,无需本地服务器。
Home Assistant + ChatGPT
让你的 AI 读取你的 Home Assistant:每个传感器、灯、门和恒温器的当前状态、历史记录、按时间记录事件的日志簿,以及你的日历。只读:绝不会控制设备。适用于自托管的 Home Assistant。
前提条件
请查看连接器内置的完整设置说明(在应用内商店中选择该连接器即可看到)。此连接器所需的环境变量如下:
HOME_ASSISTANT_URL, HOME_ASSISTANT_TOKEN
第 1 步 — 获取凭据
设置大约需要 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 服务器。
时间:时间戳以 UTC 的 ISO 8601 格式传入,并带 Z 后缀,例如 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(区域、设备、实体注册表)。
第 2 步 — 安装适配器
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
第 3 步 — 在 ChatGPT 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,并复制其 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方,请使用该 URL。
ChatGPT 在其 Plugins 页面中将 MCP 服务器作为插件添加,支持网页版和付费套餐。不再需要开发者模式。在 Business 工作区中,只有管理员和所有者可以添加;在 Enterprise 和 Edu 中,管理员可以授予 Create plugins with MCPs 权限。
- 前往 chatgpt.com/plugins,点击 Add,然后点击 Add custom MCP server。
- 输入名称,例如 Name:
Home Assistant。 - 在 Connection 下,输入 Server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID,并将 Authentication 保持为 OAuth。 - 选择 I understand and want to continue,然后点击 Create as a plugin。当 ChatGPT 提示时,登录 AnythingMCP 并允许访问。
- 从你的个人插件中安装新插件,然后在聊天中输入 @ 并选择它。
可用工具
| 工具 | 功能 |
|---|---|
home_assistant_get_config | 获取 Home Assistant 配置:版本、位置名称、时区、单位制、坐标和已加载的组件 |
home_assistant_list_states | 列出令牌有权读取的每个实体,精简为 entity_id、状态、友好名称、单位和 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 | 获取某个日历在开始和结束之间的事件:摘要、开始时间、结束时间、描述和地点 |
常见问题
免费版 ChatGPT 可以使用自定义 MCP 服务器吗? OpenAI 的文档中仅为付费套餐提供自定义 MCP 服务器;免费套餐不在其列表中。
后续步骤
这份指南对你有帮助吗?