使用说明
项目简介
mcp-server-home-assistant 是一个 MCP 服务器,它允许大型语言模型(LLM)客户端通过 Model Context Protocol 协议与 Home Assistant 智能家居系统进行交互。通过此服务器,LLM 可以获取 Home Assistant 的状态信息,调用 Home Assistant 的服务,并利用预定义的 Prompt 模板与 Home Assistant 进行更智能的对话。
主要功能点
- 工具 (Tools) 注册与调用: 将 Home Assistant 的服务 (Services) 转换为 MCP 协议中的工具,允许 LLM 客户端调用 Home Assistant 的服务,例如控制智能设备、查询传感器数据等。
- Prompt 模板 (Prompts) 管理: 支持 Prompt 模板,可以根据 Home Assistant 的状态和用户需求动态生成 Prompt,优化 LLM 与智能家居的交互体验。
安装步骤
- 安装 Home Assistant 自定义组件: 确保已安装 Home Assistant,并已安装 'home-assistant-model-context-protocol' 自定义组件 (https://github.com/allenporter/home-assistant-model-context-protocol)。
- 创建长期访问令牌: 在 Home Assistant 中创建长期访问令牌 (Long Lived Access Token)。
- 克隆仓库: 克隆此仓库 'allenporter_mcp-server-home-assistant' 到本地。
服务器配置
要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),您需要提供服务器的启动命令和参数。以下是一个示例 'claude_desktop_config.json' 配置,请根据您的实际安装路径和 Home Assistant 设置进行调整:
{ "mcpServers": { "Home-assistant": { "command": "uv", "args": [ "--directory", "/path/to/mcp-server-home-assistant", // 请替换为 mcp-server-home-assistant 仓库的本地路径 "run", "mcp-server-home-assistant", "-v" // 可选参数,'-v' 或 '-vv' 增加日志输出,方便调试 ], "env": { "HOME_ASSISTANT_WEB_SOCKET_URL": "http://your_home_assistant_ip:8123/api/websocket", // 请替换为您的 Home Assistant WebSocket URL,例如 http://localhost:8123/api/websocket "HOME_ASSISTANT_API_TOKEN": "YOUR_LONG_LIVED_ACCESS_TOKEN" // 请替换为您的 Home Assistant 长期访问令牌 } } } }
配置参数说明:
- 'command': 启动服务器的命令,这里使用 'uv run' 来运行 Python 脚本。'uv' 是一个更快的 Python 包安装和运行工具,您也可以替换为 'python' 或 'python3',并相应修改 'args' 中的命令。
- 'args': 传递给 'command' 的参数列表。
- '--directory': 指定工作目录为 mcp-server-home-assistant 仓库的本地路径。
- 'run mcp-server-home-assistant': 使用 'uv run' 运行 'mcp_server_home_assistant/main.py' 文件,即启动 MCP 服务器。
- '-v': 可选参数,用于增加日志输出,方便调试。可以使用 '-vv' 获取更详细的 debug 日志。
- 'env': 设置环境变量。
- 'HOME_ASSISTANT_WEB_SOCKET_URL': Home Assistant WebSocket API 的 URL。请替换为您的 Home Assistant 实例的地址和端口。
- 'HOME_ASSISTANT_API_TOKEN': 您在 Home Assistant 中创建的长期访问令牌。
基本使用方法
- 确保 Home Assistant 运行正常,且已安装 'home-assistant-model-context-protocol' 组件。
- 根据上述配置,在 MCP 客户端 (如 Claude Desktop) 中配置并启动 "Home-assistant" MCP 服务器。
- MCP 客户端将通过 MCP 协议与此服务器通信,您可以请求工具列表、调用工具以及获取 Prompt 模板,从而实现 LLM 对 Home Assistant 的控制和信息获取。
注意: 请根据您的实际 Home Assistant 环境和 MCP 客户端的要求,调整配置信息。
信息
分类
桌面与硬件