一个用于 Home Assistant 与 Claude 及其他 LLMs 集成的 Model Context Protocol (MCP) 服务器。
Hass-MCP 使像 Claude 这样的 AI 助手能够直接与您的 Home Assistant 实例交互,允许它们:
拉取 Docker 镜像:
docker pull voska/hass-mcp:latest
将 MCP 服务器添加到 Claude Desktop 中:
a. 打开 Claude Desktop 并进入设置
b. 导航到 开发者 > 编辑配置
c. 在您的 claude_desktop_config.json
文件中添加以下配置:
{
"mcpServers": {
"hass-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HA_URL",
"-e",
"HA_TOKEN",
"voska/hass-mcp"
],
"env": {
"HA_URL": "http://homeassistant.local:8123",
"HA_TOKEN": "YOUR_LONG_LIVED_TOKEN"
}
}
}
}

d. 将 YOUR_LONG_LIVED_TOKEN
替换为您实际的 Home Assistant 长期访问令牌
e. 更新 HA_URL
:
http://host.docker.internal:8123
(Docker Desktop for Mac/Windows)f. 保存文件并重启 Claude Desktop
现在,“Hass-MCP”工具应该出现在您的 Claude Desktop 工具菜单中
注意: 如果你在同一台机器上使用 Docker 运行 Home Assistant,你可能需要在 Docker 参数中添加
--network host
以便容器能够访问 Home Assistant。或者,你可以使用你的机器的 IP 地址代替host.docker.internal
。
Hass-MCP
command
docker run -i --rm -e HA_URL=http://homeassistant.local:8123 -e HA_TOKEN=YOUR_LONG_LIVED_TOKEN voska/hass-mcp
YOUR_LONG_LIVED_TOKEN
替换为你的实际 Home Assistant 令牌要与 Claude Code CLI 一起使用,你可以直接使用 mcp add
命令添加 MCP 服务器:
使用 Docker(推荐):
claude mcp add hass-mcp -e HA_URL=http://homeassistant.local:8123 -e HA_TOKEN=YOUR_LONG_LIVED_TOKEN -- docker run -i --rm -e HA_URL -e HA_TOKEN voska/hass-mcp

将 YOUR_LONG_LIVED_TOKEN
替换为你的实际 Home Assistant 令牌,并更新 HA_URL 以匹配你的 Home Assistant 实例地址。
以下是一些设置好 Hass-MCP 后可以使用的提示示例:
Hass-MCP 提供了几个用于与 Home Assistant 交互的工具:
get_version
: 获取 Home Assistant 版本get_entity
: 获取特定实体的状态,可选字段过滤entity_action
: 对实体执行操作(开启、关闭、切换)list_entities
: 获取实体列表,可选领域过滤和搜索search_entities_tool
: 搜索匹配查询的实体domain_summary_tool
: 获取领域的实体摘要list_automations
: 获取所有自动化的列表call_service_tool
: 调用任何 Home Assistant 服务restart_ha
: 重启 Home Assistantget_history
: 获取实体的状态历史get_error_log
: 获取 Home Assistant 错误日志Hass-MCP 包含了几个用于引导对话的提示:
create_automation
: 基于触发器类型创建 Home Assistant 自动化的指南debug_automation
: 针对不工作的自动化提供故障排除帮助troubleshoot_entity
: 诊断实体问题routine_optimizer
: 分析使用模式并根据实际行为建议优化的例行程序automation_health_check
: 审查所有自动化,查找冲突、冗余或改进机会entity_naming_consistency
: 审核实体名称并建议标准化改进dashboard_layout_generator
: 根据用户偏好和使用模式创建优化的仪表板Hass-MCP 提供以下资源端点:
hass://entities/{entity_id}
: 获取特定实体的状态hass://entities/{entity_id}/detailed
: 获取包含所有属性的实体详细信息hass://entities
: 按域分组列出所有 Home Assistant 实体hass://entities/domain/{domain}
: 获取特定域的实体列表hass://search/{query}/{limit}
: 使用自定义结果限制搜索与查询匹配的实体uv run pytest tests/