使用说明
家庭助理MCP服务器
A. 模型上下文协议(MCP) 用于集成的服务器 家庭助手,允许LLM控制和查询您的智能家居。
特性
- 通过自然语言查询和控制家庭助理实体
- 适用于任何兼容MCP的客户端(如Claude Desktop)
- 提供状态管理、服务调用、历史记录等工具
- 使用家庭助理长期访问令牌进行安全身份验证
- 多种传输选项(stdio用于本地进程,SSE用于远程客户端)
- 当Home Assistant不可用时,使用模拟数据进行测试和演示的演示模式
安装
# Install globally using bun
bun install -g home-assistant-mcp-server
# Or install from source
git clone https://github.com/oleander/home-assistant-mcp-server.git
cd home-assistant-mcp-server
bun install
bun run build
bun link
配置
创建一个 .env 当前目录中的文件,包含以下变量:
# Required configurations
HASS_URL=http://your-home-assistant:8123 # URL to your Home Assistant instance
HASS_TOKEN=your_long_lived_access_token # Long-lived access token for authentication
# Optional configurations
PORT=3000 # Port for the HTTP server (default: 3000)
HASS_MOCK=false # Enable mock data mode when Home Assistant is unavailable (default: false)
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
HASS_URL |
是 | - | Home Assistant实例的URL(例如。,http://homeassistant.local:8123) |
HASS_TOKEN |
是 | - | 用于与家庭助理进行身份验证的长期访问令牌 |
PORT |
否 | 3000 | 使用HTTP/SSE传输时HTTP服务器的端口号 |
HASS_MOCK |
否 | false | 设置为“true”时,启用模拟数据模式进行测试,而无需家庭助理连接 |
要获得长期访问令牌,请执行以下操作:
- 登录到您的家庭助理实例
- 点击您的个人资料(左下角)
- 向下滚动到“长期访问令牌”
- 使用描述性名称创建新令牌
- 复制令牌值(您将不会再看到它)
用法
作为独立服务器运行
# Standard mode (requires a running Home Assistant instance)
home-assistant-mcp-server # Start with HTTP/SSE transport
home-assistant-mcp-server --stdio # Start with stdio transport for direct process communication
# Demo mode (with mock data when Home Assistant is unavailable)
home-assistant-mcp-server --mock # Start with HTTP/SSE transport and mock data
home-assistant-mcp-server --stdio --mock # Start with stdio transport and mock data
与Claude Desktop集成
要与Claude Desktop一起使用:
-
编辑您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
添加服务器配置:
{
"mcpServers": {
"homeassistant": {
"command": "home-assistant-mcp-server"
"env": {
"HASS_URL": "http://your-home-assistant:8123",
"HASS_TOKEN": "your_token_here",
"HASS_MOCK": "true"
}
}
}
}
如果您正在运行家庭助理,只需删除 --mock 标志和设置 HASS_MOCK 向 false.
- 重新启动克劳德桌面
可用工具
服务器提供了几个与家庭助理交互的工具:
states-查询实体状态lights-列表灯light-控制灯光service-呼叫总部助理服务history-检索历史实体数据services-列出可用服务config-获取家庭助理配置domains-列出可用域error_log-获取家庭助理错误日志devices-获取家庭助理中的所有设备
有关详细的使用示例,请参阅 docs/hass-mcp.md.
安全
此服务器需要具有完全访问权限的家庭助理访问令牌。考虑以下安全建议:
- 仅在受信任的网络上运行服务器
- 如果远程暴露服务器,请使用HTTPS
- 保持你的
.env文件安全,不要将其提交给源代码管理 - 尽可能考虑使用权限有限的令牌
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
