- Home
- MCP servers
- Home Controller
Home Controller
- javascript
0
GitHub Stars
javascript
Language
6 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"winsthuang-home-controller": {
"command": "/absolute/path/to/miele-mcp-wrapper.sh",
"args": []
}
}
}You can run a unified MCP server that connects five home automation sources—Miele, LG ThinQ, HUUM Sauna, Phyn Water Monitor, and A.O. Smith Water Heaters—so you can monitor and control your devices from a single interface. This MCP setup lets you query device status, trigger actions, and receive centralized data and reports, all through standardized commands and slash actions.
How to use
Use an MCP client to connect to the five servers defined in your multi-server configuration. You can query current device status, start or stop appliances, and view energy or usage data. The system exposes a consistent set of tools across devices so you can orchestrate actions like starting a washer, checking sauna temperature, or pulling a water consumption report from Phyn.
Key capabilities include querying all connected devices, retrieving detailed status for each device, and issuing control commands such as starting, stopping, or adjusting operating modes. You can also access automated reports and run slash commands to get quick status updates for specific subsystems (laundry, kitchen, sauna, water, etc.).
How to install
Prerequisites: ensure you have Node.js v18+ installed for the MCP server wrappers and the required runtime environments for any integration you enable.
# Install Node.js if needed (example for macOS with Homebrew)
brew install node@18
# Install Python and pipx for LG ThinQ MCP server (if not already installed)
pipx ensurepath
# Install project dependencies
npm install
# Start all MCP wrapper servers (example start command shown in wrappers if available in your setup)
npm start
Configuration and setup details
The following MCP server configurations are defined to run locally as stdio servers. Each server uses a wrapper script to load credentials from your .env file. The servers are designed to be started by Claude Code via the provided wrapper scripts.
{
"mcpServers": {
"miele": {
"type": "stdio",
"command": "/absolute/path/to/miele-mcp-wrapper.sh",
"args": []
},
"lg-thinq": {
"type": "stdio",
"command": "/absolute/path/to/lg-thinq-mcp-wrapper.sh",
"args": []
},
"huum": {
"type": "stdio",
"command": "/absolute/path/to/huum-mcp-wrapper.sh",
"args": []
},
"phyn": {
"type": "stdio",
"command": "/absolute/path/to/phyn-mcp-wrapper.sh",
"args": []
},
"aosmith": {
"type": "stdio",
"command": "/absolute/path/to/aosmith-mcp-wrapper.sh",
"args": []
}
}
}
Security and maintenance
Credentials are stored in a local .env file and are not committed to version control. Tokens and session data stay on your machine, and the wrappers load environment variables automatically from .env when they start.
If a token expires (for services that use expiring tokens), re-run the authentication helper or re-create the token as required by the specific integration, then restart the MCP wrappers to refresh the session.
Testing your setup
Test each integration to ensure you can list devices and retrieve status before enabling full automation.
# Miele test (example)
./test-miele-mcp.cjs
# LG ThinQ test (example)
./test-lg-dryer.cjs
# HUUM sauna test (example)
node test-huum-sauna.cjs
# Phyn test (example)
node test-phyn-mcp.cjs
# A.O. Smith test (example)
node test-aosmith-mcp.cjs
Slash commands and usage examples
After configuring, you can use slash commands to quickly check device status or control devices. Examples include querying laundry status, checking all kitchen appliances, or adjusting the sauna temperature. You can also run natural language queries like “What appliances do I have?” or “Heat the sauna to 80 degrees.”
/laundry-status
/kitchen-status
/sauna-status
/home-status
/start-washer
/start-dryer
/start-sauna
/stop-sauna
/water-status
/water-report
/water-heater-status
/set-water-heater
Troubleshooting
If a server configuration is not loading, verify that the .mcp.json is in the correct location and that all environment variables referenced in .env are present. Restart Claude Code after you make changes and check the logs for errors.
For each integration, verify credentials and network connectivity. If an integration returns 401 Unauthorized, re-authenticate or re-enter credentials and restart its wrapper.
Available tools
get_devices
Query all devices connected to an account for a specific service (e.g., Miele devices, Phyn devices, etc.).
get_device_status
Retrieve detailed status for a specific device by identifier.
device_action
Perform an action on a device such as start, stop, pause, or switch power on/off.
get_sauna_status
Fetch current HUUM sauna status including temperature, door state, and heater state.
start_sauna
Start the sauna with a target temperature and ensure safety checks (door closed) before activation.
stop_sauna
Turn off the HUUM sauna heater.
toggle_light
Toggle the sauna lighting on or off.
get_consumption
Retrieve historical water usage data for Phyn devices across different durations.
shutoff_valve
Open or close the main Phyn Plus shutoff valve.
get_energy_usage
Return energy consumption data for A.O. Smith water heaters, including lifetime and recent usage.