mcp-server-home-connect
mcp-server-home-connectは、TypeScriptで構築されたサーバー接続ツールです。主に家庭用デバイスとの連携を目的としており、APIを通じてデータの取得や操作を行います。使いやすさを重視しており、開発者が迅速にプロトタイプを作成できるように設計されています。
GitHubスター
0
ユーザー評価
未評価
お気に入り
0
閲覧数
20
フォーク
0
イシュー
3
MCP Server for Bosch Home Connect
This MCP (Model Context Protocol) server provides integration with the Bosch Home Connect API, allowing you to control and monitor your Bosch/Siemens smart home appliances.
Features
- List all connected appliances
- Get appliance status and settings
- View available programs
- Start and stop programs
- Update appliance settings
- OAuth authentication support
Prerequisites
- A Home Connect developer account
- Registered application with Home Connect API
- Node.js 18+ installed
Setup
1. Register for Home Connect API
- Go to Home Connect Developer Portal
- Create an account and register a new application
- Note down your Client ID and Client Secret
2. Installation
# 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 build
3. Configuration
Create a .env
file in the project root:
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_token
4. Getting Access Tokens
You'll need to complete the OAuth flow to get access tokens:
- Use the
get_auth_url
tool to get the authorization URL - Visit the URL and authorize the application
- You'll receive an authorization code
- Exchange the code for access and refresh tokens using the Home Connect API
Usage with Claude Desktop
Add to your Claude Desktop configuration:
{
"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"
}
}
}
}
Available Tools
get_auth_url
Get the OAuth authorization URL for Home Connect.
get_appliances
List all connected Home Connect appliances.
get_appliance_status
Get the current status of a specific appliance.
Parameters:
haId
: The Home Appliance ID
get_appliance_programs
Get available programs for an appliance.
Parameters:
haId
: The Home Appliance ID
start_program
Start a program on an appliance.
Parameters:
haId
: The Home Appliance IDprogramKey
: The program key to startoptions
: (Optional) Program-specific options
stop_program
Stop the active program on an appliance.
Parameters:
haId
: The Home Appliance ID
get_settings
Get all settings of an appliance.
Parameters:
haId
: The Home Appliance ID
update_setting
Update a setting on an appliance.
Parameters:
haId
: The Home Appliance IDsettingKey
: The setting key to updatevalue
: The new value for the setting
Example Usage
// 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
}
});
Troubleshooting
Authentication Issues
- Ensure your access token is valid
- The server automatically refreshes tokens when they expire
- Check that your Client ID and Secret are correct
Connection Issues
- Verify your appliances are connected to Home Connect
- Check your internet connection
- Ensure the appliances are in remote control mode
Remote Start Issues (400 Error)
Known Limitation: Some Bosch/Siemens appliances require the first program start after power-on to be done manually at the device for security reasons.
Symptoms:
- API returns 400 error when trying to start a program
- All status checks show the device is ready (RemoteControlActive: true, PowerState: On)
- Manual start at the device works fine
Workaround:
- Start the program manually at the device once
- After manual start, the API can monitor progress, stop programs, and change settings
- Subsequent remote starts may work (device-dependent)
Affected Devices:
- Confirmed on Bosch Dishwashers (SMV series)
- May affect other appliance types
This is a security feature by Bosch/Siemens and not a bug in the MCP server.
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.