博世家庭连接MCP服务器
此MCP(模型上下文协议)服务器提供与Bosch Home Connect API的集成,使您能够控制和监控您的Bosch/Siemens智能家电。
特性
- 列出所有连接的设备
- 获取设备状态和设置
- 查看可用程序
- 启动和停止程序
- 更新设备设置
- OAuth身份验证支持
先决条件
- Home Connect开发者帐户
- 使用Home Connect API注册的应用程序
- 已安装Node.js 18+
设置
1.注册Home Connect API
- 首选 Home Connect开发者门户
- 创建帐户并注册新应用程序
- 记下你的客户ID和客户密码
2.安装
# Clone the repository
git clone https://github.com/nikolausm/mcp-server-home-connect.git
cd mcp-server-home-connect
# Install dependencies
npm install
# Build the project
npm run build3.配置
创建一个 .env 项目根目录中的文件:
HOME_CONNECT_CLIENT_ID=your_client_id
HOME_CONNECT_CLIENT_SECRET=your_client_secret
HOME_CONNECT_REDIRECT_URI=http://localhost:3000/callback
HOME_CONNECT_ACCESS_TOKEN=your_access_token
HOME_CONNECT_REFRESH_TOKEN=your_refresh_token4.获取访问令牌
您需要完成OAuth流程以获取访问令牌:
- 使用
get_auth_url获取授权URL的工具 - 访问URL并授权应用程序
- 您将收到一个授权码
- 使用Home Connect API交换访问和刷新令牌的代码
使用Claude Desktop
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"home-connect": {
"command": "node",
"args": ["/path/to/mcp-server-home-connect/build/index.js"],
"env": {
"HOME_CONNECT_CLIENT_ID": "your_client_id",
"HOME_CONNECT_CLIENT_SECRET": "your_client_secret",
"HOME_CONNECT_ACCESS_TOKEN": "your_access_token",
"HOME_CONNECT_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}可用工具
get_auth_url
获取Home Connect的OAuth授权URL。
获取_应用程序
列出所有连接的Home Connect设备。
获取设备状态
获取特定设备的当前状态。
参数:
haId:家电ID
获取应用程序
获取设备的可用程序。
参数:
haId:家电ID
启动程序
在设备上启动程序。
参数:
haId:家电IDprogramKey:程序启动键options:(可选)程序特定选项
停止程序
停止设备上的活动程序。
参数:
haId:家电ID
获取设置
获取设备的所有设置。
参数:
haId:家电ID
update_setting
更新设备上的设置。
参数:
haId:家电IDsettingKey:要更新的设置键value:设置的新值
示例用法
// Get all appliances
await use_mcp_tool("home-connect", "get_appliances", {});
// Get status of a specific appliance
await use_mcp_tool("home-connect", "get_appliance_status", {
haId: "BOSCH-HCS06COM1-0123456789AB"
});
// Start a dishwasher program
await use_mcp_tool("home-connect", "start_program", {
haId: "BOSCH-HCS06COM1-0123456789AB",
programKey: "Dishcare.Dishwasher.Program.Auto2",
options: {
"BSH.Common.Option.StartInRelative": 3600 // Start in 1 hour
}
});故障排除
身份验证问题
- 确保您的访问令牌有效
- 令牌过期时,服务器会自动刷新令牌
- 检查您的客户ID和密码是否正确
连接问题
- 验证您的设备是否已连接到Home Connect
- 检查您的互联网连接
- 确保电器处于远程控制模式
远程启动问题(400错误)
已知限制:出于安全原因,一些博世/西门子电器要求在设备通电后手动启动第一个程序。
症状:
- API试图启动程序时返回400错误
- 所有状态检查均显示设备已就绪(RemoteControlActive:true,PowerState:On)
- 设备手动启动工作正常
解决方法:
- 在设备上手动启动程序一次
- 手动启动后,API可以监视进度、停止程序和更改设置
- 后续远程启动可能有效(取决于设备)
受影响的设备:
- 博世SMV系列洗碗机已确认
- 可能影响其他电器类型
这是博世/西门子的安全功能,而不是MCP服务器中的错误。
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交拉取请求。
