GitHub Copilot的家庭助理MCP工具
VS代码扩展,为GitHub Copilot提供MCP(模型上下文协议)工具,通过REST API访问您的Home Assistant实例。
特性
- 🏠 直接家庭助理访问:GitHub Copilot可以直接查询您的家庭助理
- 🔍 实体发现:查找实体ID、状态和属性
- 📋 服务信息:获取可用服务及其参数
- 📊 历史和日志:访问历史数据和活动日志
- 📅 日历集成:查询日历事件
- ⚡ 服务控制:呼叫服务以控制设备(灯、开关、场景等)
- 🎯 事件系统:触发自定义事件和处理意图
- 📝 模板渲染:渲染Jinja2模板以进行复杂计算
- 🔒 安全令牌存储:存储在VS Code安全存储中的访问令牌
可用工具
读取操作(GET)
| 工具 | 说明 |
|---|---|
ha_check_api | 检查是否可以访问Home Assistant API |
ha_get_config | 获取家庭助理配置 |
ha_get_components | 列出已加载的集成 |
ha_get_states | 获取所有实体状态(带过滤) |
ha_get_state | 获取特定实体的状态 |
ha_get_services | 列出可用服务 |
ha_get_events | 列出可用的事件类型 |
ha_get_history | 获取历史状态更改 |
ha_get_logbook | 获取日志条目 |
ha_get_error_log | 获取错误日志 |
ha_get_calendars | 列出日历实体 |
ha_get_calendar_events | 获取日历事件 |
写入操作(POST/DELETE)
| 工具 | 说明 |
|---|---|
ha_call_service | 呼叫家庭助理服务(例如,打开灯、激活场景) |
ha_fire_event | 触发自定义事件以触发自动化 |
ha_set_state | 设置或创建实体状态 |
ha_render_template | 渲染Jinja2模板 |
ha_check_config | 验证家庭助理配置文件 |
ha_handle_intent | 处理对话/语音意图 |
ha_delete_state | 删除实体状态 |
安装
1.安装扩展
来自VS代码市场:
- 打开VS代码
- 转到扩展(
Ctrl+Shift+X) - 搜索“家庭助理MCP”
- 点击“安装”
2.配置家庭助理URL
- 打开VS代码设置(
Ctrl+,) - 搜索“家庭助理mcp”
- 集 统一资源定位符 发送至您的家庭助理地址:
- 当地: http://homeassistant.local:8123 - 基于IP: http://192.168.1.100:8123 - 纳布之家: https://your-instance.ui.nabu.casa
3.设置您的访问令牌
- 打开命令选项板(
Ctrl+Shift+P) - 运行: 家庭助理MCP:设置访问令牌
- 粘贴您的长期访问令牌
- 测试连接: 家庭助理MCP:测试连接
获得长寿命访问令牌
- 打开您的家庭助理实例
- 转到您的个人资料(单击侧栏中的用户名)
- 向下滚动到“长期访问令牌”
- 点击“创建令牌”
- 给它起个名字(例如,“VS Code Copilot”)
- 复制令牌(您只会看到一次!)
配置
VS代码设置
{
"homeassistant-mcp.url": "http://homeassistant.local:8123",
"homeassistant-mcp.validateSsl": true,
"homeassistant-mcp.requestTimeout": 10000
}命令
- 家庭助理MCP:设置访问令牌 -设置您的家庭助理访问令牌
- 家庭助理MCP:测试连接 -测试与家庭助理的连接
- 家庭助理MCP:清除访问令牌 -删除存储的访问令牌
用法示例
配置后,您可以向GitHub Copilot提出以下问题:
查询数据
- “我家里有什么灯?”
- “当前温度传感器的读数是多少?”
- “轻域提供哪些服务?”
- “显示客厅温度传感器的历史记录”
控制设备
- “打开客厅的灯”
- “将卧室灯光亮度设置为50%”
- “激活“电影之夜”场景”
- “关掉厨房里的所有灯”
高级操作
- “启动名为‘guest_arrived’的自定义活动”
- “渲染显示平均温度的模板”
- “检查我的家庭助理配置是否有效”
Copilot将使用适当的MCP工具来获取数据或控制您的家庭助理实例。
发展
先决条件
- Node.js 18+
- VS代码1.95+
构建
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Watch for changes
npm run watch
# Lint code
npm run lint调试
- 在VS Code中打开项目
- 按
F5开始调试 - 将打开一个新的VS Code窗口,其中加载了扩展名
安全
- 访问令牌存储在VS Code的安全秘密存储器中
- 令牌从不被记录或公开
- 默认情况下启用SSL证书验证
许可证
麻省理工学院
贡献
欢迎投稿!请在上打开问题或拉取请求 .
