Home Assistant Model Context Protocol (MCP)
为家庭助手提供的高级MCP服务器。 🔋 包含电池。
什么是 MCP?
模型上下文协议(MCP)是一种标准化协议,使 AI 助手能够安全地与 Home Assistant 交互,控制智能家居设备并获取信息。
安装
# 克隆仓库
git clone https://github.com/your-repo/homeassistant-mcp.git
# 安装依赖
cd homeassistant-mcp
npm install
# 构建项目
npm run build
运行服务器
# 使用标准 I/O 传输启动(用于 AI 助手集成)
npm start -- --stdio
# 使用 HTTP 传输启动(用于 API 访问)
npm start -- --http
# 同时使用两种传输方式
npm start -- --stdio --http
配置
创建一个 .env
文件(或使用环境变量):
# 服务器配置
PORT=3000
NODE_ENV=development
EXECUTION_TIMEOUT=30000
STREAMING_ENABLED=true
USE_STDIO_TRANSPORT=true
USE_HTTP_TRANSPORT=true
与 AI 模型集成
Claude 集成
import { createClaudeToolDefinitions } from "./mcp/index.js";
// 生成 Claude 兼容的工具定义
const claudeTools = createClaudeToolDefinitions([
new LightsControlTool(),
new ClimateControlTool()
]);
// 与 Claude API 一起使用
const response = await claude.messages.create({
model: "claude-3-opus-20240229",
messages: [{ role: "user", content: "打开客厅的灯" }],
tools: claudeTools
});
Cursor 集成
在您的 .cursor/config/config.json
文件中添加:
{
"mcpServers": {
"homeassistant-mcp": {
"command": "bash",
"args": ["-c", "cd ${workspaceRoot} && bun run dist/index.js --stdio 2>/dev/null | grep -E '\{"jsonrpc":"2\.0"'"],
"env": {
"NODE_ENV": "development",
"USE_STDIO_TRANSPORT": "true",
"DEBUG_STDIO": "true"
}
}
}
}
核心功能
- 模块化架构,支持多种传输方式
- 完全类型化的接口(TypeScript)
- 内置工具:灯光控制、气候控制等
- 流式响应支持长时间运行的操作
- 参数验证(使用 Zod)
- 可扩展插件系统
故障排除
如果遇到"无法创建客户端"错误:
- 确保已构建服务器 (
npm run build
) - 验证 JSON-RPC 输出是否正确
- 尝试重启 Cursor 或清除缓存
支持的设备功能
- 灯光:开关、亮度、颜色控制
- 恒温器:温度调节、模式切换
- 更多功能持续添加中...