Home Controller (winsthuang/home-controller) is an MCP server listed on the M8ven Trust Index. It scores 56 out of 100, grade D. It declares 49 tools. No publisher has claimed this listing.

D
Caution
56/100

Home Controller

A unified smart home automation system that enables control and monitoring of Miele appliances, LG ThinQ devices, HUUM saunas, and Phyn water monitors through Claude using the Model Context Protocol.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

winsthuang

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Secret credentials may flow to a network call
2 flows detected: MIELE_CLIENT_SECRET, TESLA_CLIENT_SECRET. We can’t prove the destination matches the brand the credential belongs to.
⚠️
Known vulnerabilities in dependencies: 14 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
🔐
You'll be asked for 12 credentials: AOSMITH_PASSWORD, GMAIL_APP_PASSWORD, HUUM_PASSWORD, MIELE_ACCESS_TOKEN, MIELE_CLIENT_SECRET, PHYN_API_KEY, PHYN_PASSWORD, RACHIO_API_KEY, TEDEE_API_KEY, TESLA_ACCESS_TOKEN, TESLA_CLIENT_SECRET, TESLA_REFRESH_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes40 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

get_devices

Get all A.O. Smith water heaters linked to your iComm account

get_device_status

Get detailed status of a specific water heater (temperature, mode, online status)

set_temperature

Set the target water temperature (95-140°F)

set_mode

Change the water heater operation mode

get_energy_usage

Get energy consumption data for a water heater

get_sauna_status

Get current status of the HUUM sauna (temperature, heater state, etc.)

start_sauna

Start the sauna and set target temperature (40-110°C)

stop_sauna

Stop/turn off the sauna

toggle_light

Toggle the sauna light on/off

device_action

Perform an action on a Miele device (start, stop, pause, etc.)

get_temperature_settings

Get current temperature settings and available ranges for a refrigerator or freezer

get_consumption

Get water consumption data for a device. Duration format: YYYY/MM/DD for daily, YYYY/MM for monthly, YYYY for yearly

shutoff_valve

Open or close the water shutoff valve (Phyn Plus only)

get_current_schedule

Get the currently active schedule on a controller (which zone is watering and how long is left). Returns an empty object if nothing is running.

get_zones

List all zones for a specific controller, with their numbers, names, and enabled state.

get_zone

Get detailed info for a single Rachio zone.

start_zone

Start watering a single zone for the given number of minutes (1–180).

start_multiple_zones

Queue multiple zones to run sequentially. Each item is { zone_id, minutes, sortOrder }.

stop_water

Immediately stop any active watering on the given controller.

set_rain_delay

Pause all schedules on the controller for the given duration (in seconds, max 604800 = 7 days). Use 0 to clear the delay.

set_device_enabled

Turn the controller standby on or off. When disabled, schedules will not run.

set_zone_enabled

Enable or disable a single zone (excludes/includes it from schedules).

get_schedule_rule

Get details for a single schedule rule by id.

start_schedule

Manually trigger a schedule rule to run now.

skip_schedule

Skip the next occurrence of a schedule rule.

get_forecast

Get the weather forecast for the controller location.

get_events

Get the controller event log between two timestamps (Unix epoch ms). Default range is the last 7 days.

sync_all_locks

Refresh and get current status of all locks

lock_door

Lock a specific door

unlock_door

Unlock a specific door

pull_spring

Pull spring (for locks with auto-pull disabled)

get_operation_status

Check the status of an async lock/unlock operation

get_activity_log

Get recent activity history for a lock

get_ventilation_status

Get current ventilation sensor data (airflow, temperatures, humidities, CO2, filter status)

get_ventilation_mode

Get current ventilation mode settings (fan speed, temperature profile, setpoint)

set_fan_speed

Set ventilation fan speed (0=Away, 1=Low, 2=Medium, 3=High)

set_temp_profile

Set temperature profile (0=Comfort, 1=Eco, 2=Warm)

set_temp_setpoint

Set temperature setpoint in °C (e.g. 21.5)

set_boost_mode

Enable or disable boost/party mode

set_away_mode

Enable or disable away mode

// known CVEs in dependencies14 high16 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

high@modelcontextprotocol/sdk@1.25.1GHSA-345p-7cg4-v4c7

@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse

high@modelcontextprotocol/sdk@1.25.1GHSA-8r9q-7v3j-jr4g

Anthropic's MCP TypeScript SDK has a ReDoS vulnerability

highaxios@1.13.2GHSA-35jp-ww65-95wh

axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `config.proxy`

highaxios@1.13.2GHSA-3g43-6gmg-66jw

axios Vulnerable to Credential Theft and Response Hijacking via Prototype Pollution Gadget in Config Merge

highaxios@1.13.2GHSA-43fc-jf86-j433

Axios is Vulnerable to Denial of Service via __proto__ Key in mergeConfig

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configAOSMITH_EMAILyour_email@example.com
🔐 secretAOSMITH_PASSWORDyour_password_here
🔐 secretGMAIL_APP_PASSWORDxxxx-xxxx-xxxx-xxxx
configGMAIL_USERyour-email@gmail.com
🔐 secretHUUM_PASSWORDyour_password_here
configHUUM_USERNAMEyour_email@example.com
🔐 secretMIELE_ACCESS_TOKEN
configMIELE_API_BASE_URL
configMIELE_CLIENT_IDyour_client_id_here
🔐 secretMIELE_CLIENT_SECRETyour_client_secret_here
🔐 secretPHYN_API_KEYE7nfOgW6VI64fYpifiZSr6Me5w1Upe155zbu4lq8
🔐 secretPHYN_PASSWORDyour_password_here
configPHYN_USERNAMEyour_email@example.com
🔐 secretRACHIO_API_KEYyour_api_key_here
configREPORT_RECIPIENTrecipient@email.com
🔐 secretTEDEE_API_KEYyour_personal_access_key_here
🔐 secretTESLA_ACCESS_TOKEN
configTESLA_CLIENT_IDyour_client_id_here
🔐 secretTESLA_CLIENT_SECRETyour_client_secret_here
configTESLA_ENERGY_SITE_ID
🔐 secretTESLA_REFRESH_TOKEN
configTESLA_TOKEN_EXPIRY
configTHINQ_COUNTRYexport =$(grep THINQ_COUNTRY .env cut -d= -f2)
configTHINQ_PATyour_personal_access_token_here
configZEHNDER_HOST
configZEHNDER_PORT
configZEHNDER_SLAVE_ID
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

49/49 tools missing one or more hints — get_devices (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_device_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); set_temperature (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +46 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

License file

No license file

Add a LICENSE file (MIT, Apache-2.0, etc.).

Tests exist

No test files found

Add tests that exercise each declared tool.

Production dependencies are patched

0 critical, 14 high severity in production deps — @modelcontextprotocol/sdk@1.25.1 (high), @modelcontextprotocol/sdk@1.25.1 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 5 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/winsthuang/home-controller?variant=verified)](https://m8ven.ai/mcp/winsthuang/home-controller)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 8539cf8cf98a915e4bf1743edbc4f3d4997dd4f5
code hash: 7e92b82a7b51443912cae322ac87b572865049c96f6f34c14f72085c134e453e
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client