mcp-httc
MCP server wrapping Honeywell Total Connect Comfort (legacy
mytotalconnectcomfort.com) so John can drive Deer Park UMC's 13
thermostats from any Claude surface.
Sister projects on the same Raspberry Pi: mcp-ui, mcp-google, mcp-pco.
- Stack: Python 3.13, FastAPI, FastMCP, AIOSomecomfort, aiohttp.
- Backend:
AIOSomecomfort(the same library Home Assistant uses) — the only Python/JS option that keeps up with Honeywell's periodic portal breakages. - Transport: Streamable HTTP only; OAuth 2.1 with HS256 JWTs and a
shared login password (1:1 port of
mcp-ui's auth model). - Deployment: systemd on the Pi, Cloudflare Tunnel ingress at
https://httc.1421mcps.com. Seereferences/2026-04-16_initial-deployment.mdonce the first deploy is written up.
Tools (v1)
| Tool | Purpose |
|---|---|
list_thermostats | All devices with current temp, humidity, mode, fan, setpoints, hold state |
get_thermostat | One device by name (case-insensitive) or numeric id |
set_setpoint | Heat and/or cool setpoint with hold_type ∈ {temporary, permanent, cancel} |
set_mode | System mode: heat / cool / auto / off |
set_fan_mode | Fan: auto / on / circulate |
set_humidity_setpoint | Humidity setpoint (only on devices that have a humidifier) |
Schedule read/write and background polling/monitoring are out of scope for v1.
Deploy a code change
git push origin main
ssh 1421mcp 'cd mcp-httc && git pull && \
.venv/bin/pip install -r requirements.txt && \
sudo systemctl restart mcp-httc && \
sudo journalctl -u mcp-httc -f --since "10 seconds ago"'