关于 Home Assistant MCP Server
Home Assistant MCP Server 是一个 MCP 服务,用于与 Home Assistant 交互。它向 MCP 客户端提供工具,可读取和控制智能家居设备的状态,并触发自动化。
主要功能
- 01读取设备状态
- 02开关设备状态控制
- 03触发自动化
- 04列出可用实体
适用场景
- 01通过 MCP 客户端查询客厅灯等设备的当前状态
- 02在 AI 助手中开关卧室开关等设备
- 03按需触发晨间例程等自动化
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 get_state、toggle_entity、trigger_automation 和 list_entities 等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Home Assistant MCP 服务
🌟 赞助商
| 网站 | 描述 |
|---|---|
| ProductDirs.com | AI 工具目录与发布平台——提供免费提交服务,方便用户发现和推广 AI SaaS 产品、初创公司和开发者工具,并由社区参与排名 |
| ThisTools.app | AI SaaS 发现平台——免费目录,收录人工智能软件、自动化工具和效率应用,并提供精选合集 |
| AIImgCombiner.com | AI 图像融合工具——免费在线服务,使用人工智能合并照片,并提供预设风格和自定义提示词,助力打造专业效果 |
一个用于与 Home Assistant 交互的模型上下文协议(MCP)服务。此服务提供工具,让你通过支持 MCP 的应用控制和监控 Home Assistant 设备。
本项目属于 AI 模型上下文协议(MCP)生态系统。如需了解 MCP 工具的更多信息和文档,请访问 www.aimcp.info。
功能
- 获取设备状态
- 控制设备状态(开/关)
- 触发自动化
- 列出可用实体
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 Home Assistant MCP Server:
npx -y @smithery/cli install @hekmon8/Homeassistant-server-mcp --client claude
手动安装
- 克隆此仓库:
git clone https://github.com/yourusername/homeassistant-server-mcp.git
cd homeassistant-server-mcp
- 安装依赖项:
npm install
- 构建项目:
npm run build
- 将以下内容添加到 MCP 设置文件中,以配置 MCP 服务(VSCode 的文件通常位于
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):
{
"mcpServers": {
"homeassistant": {
"command": "node",
"args": ["/path/to/homeassistant-mcp/homeassistant-server/build/index.js"],
"env": {
"HA_URL": "http://your-homeassistant-url:8123",
"HA_TOKEN": "your-long-lived-access-token"
}
}
}
}
将 your-homeassistant-url 和 your-long-lived-access-token 替换为你的 Home Assistant 实例 URL 和访问令牌。
使用方法
此服务提供以下工具:
1. 获取设备状态
// Example usage
use_mcp_tool({
server_name: "homeassistant",
tool_name: "get_state",
arguments: {
entity_id: "light.living_room"
}
});
2. 切换设备状态
// Example usage
use_mcp_tool({
server_name: "homeassistant",
tool_name: "toggle_entity",
arguments: {
entity_id: "switch.bedroom",
state: "on" // or "off"
}
});
3. 触发自动化
// Example usage
use_mcp_tool({
server_name: "homeassistant",
tool_name: "trigger_automation",
arguments: {
automation_id: "automation.morning_routine"
}
});
4. 列出实体
// Example usage
use_mcp_tool({
server_name: "homeassistant",
tool_name: "list_entities",
arguments: {
domain: "light" // optional, filters by domain
}
});
参与贡献
欢迎贡献!你可以通过以下方式参与:
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 发起 Pull Request
请确保酌情更新测试,并遵循现有代码风格。
文档
如需了解 MCP 工具和生态系统的详细文档:
- 访问 www.aimcp.info
- 查看网站上的 MCP 工具目录
- 阅读集成指南和最佳实践
许可证
本项目采用 MIT License 授权,详情如下:
MIT License
Copyright (c) 2024 homeassistant-mcp
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
安全
为安全地使用此服务:
- 始终为你的 Home Assistant 实例使用 HTTPS
- 妥善保管访问令牌,切勿将其提交到版本控制系统
- 定期轮换访问令牌
- 使用环境变量存储敏感信息
支持
如果遇到问题或有疑问,请:
- 查看仓库中现有的问题
- 如果尚未有人报告你的问题,请新建一个 issue
- 报告问题时尽可能提供更多背景信息
- 访问 www.aimcp.info 获取其他支持资源
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。