一个用于Home Assistant与Claude和其他LLMs集成的Model Context Protocol (MCP)服务器。
<a href="https://glama.ai/mcp/servers/@voska/hass-mcp"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=2853887658,2415183392&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Hass-MCP MCP服务器" /> </a>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(Mac/Windows上的Docker Desktop)f. 保存文件并重启Claude Desktop
"Hass-MCP"工具现在应该出现在您的Claude Desktop工具菜单中
注意:如果您在同一台机器上使用Docker运行Home Assistant,您可能需要在容器的Docker参数中添加
--network host以访问Home Assistant。或者,使用机器的实际IP地址代替host.docker.internal。
在您的系统上安装uv。
将MCP服务器添加到Claude Desktop:
a. 打开Claude Desktop并进入设置
b. 导航至开发者 > 编辑配置
c. 在您的claude_desktop_config.json文件中添加以下配置:
{
"mcpServers": {
"hass-mcp": {
"command": "uvx",
"args": ["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(Mac/Windows上的Docker Desktop)f. 保存文件并重启Claude Desktop
"Hass-MCP"工具现在应该出现在您的Claude Desktop工具菜单中
Hass-MCP命令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实例地址。
这里是一些您可以与Claude一起使用的提示示例,一旦设置了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/