Hive heating

io.github.mattoddie由 GitHub 帳號 mattoddie 發布v0.3.1更新於 Oct 29, 2026

Check and control Hive smart heating: thermostats, radiator valves, hot water and holiday mode

已驗證STDIO僅桌面位置與生活效率與工作流

概覽

AI 產生的概覽

非官方的 Hive 智慧暖氣 MCP 伺服器,讓助理查看恆溫器、熱水、插座與燈具,並可選擇是否允許變更。

可以做什麼
  • 讀取住家概況:一次呼叫取得全屋總覽、裝置清單與電量及訊號、假期模式
  • 查看暖氣分區與散熱器閥:溫度、模式與排程
  • 查看熱水狀態與排程
  • 查看智慧插座、燈具與感測器:開關、用電量、亮度、色溫、開闔狀態
  • 開啟寫入後可設定溫度或模式、啟動或取消加熱、開關熱水與插座燈具、設定假期模式
  • 選用的 raw 工具集,可呼叫 Hive API 的任意路徑
適用情境
適合使用 Hive(英國瓦斯)智慧暖氣的人,想用自然語言詢問各房間溫度、熱水是否開啟、哪些裝置需要換電池,或在出門前請助理加熱、設定假期模式。
執行需求
以 Docker 在本機執行(提供 linux/amd64 與 arm64 映像)或使用 Claude Desktop 的 .mcpb 擴充包;需要可在 Hive 應用程式使用的 Hive 帳號、接收 Hive 簡訊驗證碼的手機,以及 MCP 用戶端。需設定 HIVE_USERNAME 與 HIVE_PASSWORD;HIVE_ALLOW_WRITES、HIVE_ALLOW_LOGIN_TOOLS、HIVE_MAX_TEMP、HIVE_TOOLSETS、HIVE_AUDIT_LOG、MCP_TRANSPORT 為選用。HTTP 模式另需 MCP 驗證權杖。
安裝前請注意
非官方專案,未獲 Hive 或英國瓦斯背書;使用未公開的 API,Hive 可隨時變更。HIVE_PASSWORD 會被保存,以便以已記住的裝置自動重新登入,一次性簡訊登入需開啟 HIVE_ALLOW_LOGIN_TOOLS。寫入預設關閉;開啟 HIVE_ALLOW_WRITES 後助理可變更真實住家的暖氣、熱水、插座與燈具,建議搭配 HIVE_MAX_TEMP、HIVE_TOOLSETS 與 HIVE_AUDIT_LOG。raw 工具集可呼叫任意 API 路徑,未列出時預設關閉。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Hive heating,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[hive-mcp logo]

hive-mcp

Talk to your heating.

An open-source Model Context Protocol server for Hive, British Gas's smart heating. It lets Claude and other AI assistants check your Hive thermostats, radiator valves, hot water, plugs and lights, and, if you allow it, boost the heating, set temperatures, switch the hot water on and set holiday mode, all from one small Docker container.

[CI] [Release] [Container image] [License: MIT]

hive-mcp.mattoddie.dev

Quick start · Documentation · Tool reference · Contributing


[!IMPORTANT] hive-mcp is an unofficial project. It isn't made, endorsed or supported by Hive, British Gas or Centrica. Hive has no public API: hive-mcp uses the same undocumented API as the Hive app and the Home Assistant integration, which Hive can change at any time.

"It's freezing in here. Can you warm the house up?" The living room is 17.5 °C and the heating is on its schedule, which has it at 16 °C until 17:00. I can boost it to 21 °C for an hour, after which it goes back to the schedule. Shall I? "Yes, and put the hot water on too, I want a bath." Done: the heating is boosting to 21 °C until 15:40, and the hot water is boosting for 30 minutes. By the way, the bedroom radiator valve's battery is down to 20%.

Ask about your home in plain English. The assistant picks from 24 tools to look things up and, if you allow it, make changes. Some examples:

  • 🌡️ "How warm is each room, and is the heating on?"
  • 🔥 "Boost the heating to 21 for an hour."
  • 🛁 "I want a bath in half an hour. Is the hot water on?"
  • 🧳 "We're away from Saturday until the 28th. Set holiday mode."
  • 🔋 "Do any of my Hive devices need new batteries?"
  • 💡 "Turn the living room light down to 30% and switch the lamp plug off."

Highlights

  • 🐳 Docker-first and tiny. One image (ghcr.io/mattoddie/hive-mcp) for linux/amd64 and linux/arm64, about 20 MB. It's a single static Go binary on a distroless base, with no shell or package manager, running as a non-root user. It serves Streamable HTTP for a long-running service, or stdio for docker run -i. You can also run the binary on its own. For Claude Desktop there's also a one-click extension bundle (.mcpb) that needs no Docker.
  • 🛡️ Safe by default. The server is read-only unless you turn on writes. Tools that aren't allowed aren't registered at all, and every change is checked first: heating targets must be 5–25 °C in steps of 0.5 (raise the top with HIVE_MAX_TEMP), boosts are limited to six hours, holiday mode to 60 days, and settings that last indefinitely (manual heating, hot water on) need an explicit confirmation.
  • 📱 One SMS code, once. Hive logins need a code sent by text message. You enter it once with hive-mcp login, and the server registers itself as a remembered device, so it can log in again on its own without another code. Passwords, tokens and device secrets never appear in tool output or logs.
  • 🔐 Real Cognito SRP. It logs in the way the Hive app does (AWS Cognito with SRP, which never sends your password), checked against the exact maths of the client Home Assistant uses.
  • 🐢 Gentle on Hive. Readings are cached for 30 seconds, so a conversation doesn't hammer an API Hive never meant for us, and it backs off when rate-limited or when a login fails.
  • 🎛️ Tunable. Expose only the toolsets you need, which keeps the model's context small and focused.
  • 🧪 Tested. The test suite runs against a mock Hive, including a fake Cognito that really checks the SRP proofs, SMS codes and remembered devices.

Quick start

Using Claude Desktop? Skip Docker: download the extension bundle (.mcpb) for your computer from the latest release, open it to install, fill in your Hive email and password, and ask Claude to "log in to Hive". See Claude Desktop.

hive-mcp is listed in the MCP Registry as io.github.mattoddie/hive-mcp, so clients that browse the registry can install it (the Docker image in stdio mode, or the bundle). See From the MCP Registry.

Otherwise, you need Docker, a Hive account that works in the Hive app, the phone that gets your Hive text messages, and an MCP client such as Claude Code.

1. Set up the server.

sh
mkdir hive-mcp && cd hive-mcpcurl -fsSLO https://raw.githubusercontent.com/mattoddie/hive-mcp/main/compose.yamlcurl -fsSL https://raw.githubusercontent.com/mattoddie/hive-mcp/main/example.env -o .env# Edit .env: set HIVE_USERNAME and HIVE_PASSWORD (your Hive app login)# and a random MCP_AUTH_TOKEN (e.g. `openssl rand -hex 32`)

2. Log in to Hive once and start the server.

sh
docker compose run --rm hive-mcp login   # type in the code Hive texts youdocker compose up -d

3. Connect your assistant.

sh
claude mcp add --transport http hive http://<docker-host>:8080/mcp \  --header "Authorization: Bearer <MCP_AUTH_TOKEN>"

Now ask "How warm is the house?" in Claude Code.

Using Claude Desktop, VS Code, Cursor or Codex? See Connecting MCP clients. Prefer not to run a service? Use stdio mode with docker run -i or the local binary.

Turning on changes

Out of the box the assistant can look but not touch. To let it change your heating, hot water, plugs and lights, add this to .env and restart:

sh
HIVE_ALLOW_WRITES=trueHIVE_TOOLSETS=home,heating,hotwater   # optional: expose fewer tools
sh
docker compose up -d

Read Security before turning on writes. A heating system is a real thing in a real home. To keep a record of every change the assistant makes, set HIVE_AUDIT_LOG to a file path (see Audit log).

What it can do

ToolsetWhat's covered
homeLogin, a one-call overview of the home, the list of Hive devices with batteries and signal, and holiday mode
heatingHeating zones and radiator valve (TRV) zones: temperatures, modes and schedules; set the temperature or mode, boost and cancel a boost
hotwaterHot water: status and schedule; switch it on, off or back to its schedule, boost and cancel a boost
devicesSmart plugs, lights and sensors: on or off, power use, brightness, colour temperature, open or closed
rawAn escape hatch that calls any path of Hive's API. Off unless you list it (HIVE_TOOLSETS=all,raw)

See the tool reference for every tool and argument. Ready-made prompts like home_check, warm_up and going_away chain the tools together for common jobs. Changing schedules isn't supported yet; see Compatibility.

Documentation

The docs are also published at hive-mcp.mattoddie.dev/docs, with search.

🚀 Getting startedStep-by-step setup, including the one-time SMS login
🔌 Connecting MCP clientsClaude Code, Claude Desktop, VS Code, Cursor, Codex, stdio mode
⚙️ ConfigurationEvery environment variable, how login and remembered devices work, Docker secrets, toolsets
🐳 DeploymentCompose, image tags, upgrades, TLS reverse proxy, hardening, running without Docker
💬 Using hive-mcpExample conversations, prompts, how changes and boosts work
🧰 Tool referenceEvery tool and prompt, generated from the code
🛡️ SecurityThreat model, what the token file holds, safe write setups
📡 CompatibilitySupported Hive devices, discontinued products, and how the unofficial API is used
🩹 TroubleshootingLogin and SMS problems, common errors and how to fix them
🛠️ DevelopmentArchitecture, the mock Hive, adding a tool, testing

Contributing

Contributions are very welcome, whether that's bug reports, notes on how Hive's API behaves, docs or new tools. Read the contributing guide to get started, and please follow the code of conduct. To report a vulnerability, see the security policy. Please don't open a public issue for one.

License

MIT © Matt Oddie

hive-mcp is an independent community project. It is not affiliated with, endorsed by or sponsored by Hive, British Gas or Centrica plc. "Hive" and "British Gas" are trademarks of Centrica plc or its subsidiaries. hive-mcp builds on what the community learned writing pyhiveapi, the library behind the Home Assistant Hive integration.

來源:README.md,提交 66f1f0c

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

1
  1. v0.3.1最新Oct 22, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分