Hive heating について
Hiveのスマートホーム利用者向けオープンソースMCPサーバーです。AIアシスタントから暖房、給湯、接続デバイスを確認・操作でき、変更は安全確認付きで明示的に有効化します。
主な機能
- 01サーモスタット、ラジエーターバルブ、給湯の状態確認
- 02温度設定と暖房・給湯のブースト
- 03スマートプラグと照明の操作
- 04デバイスの電池残量と電波状態の確認
- 05休暇モードの設定
活用シーン
- 01部屋ごとの温度と暖房スケジュールの確認
- 02帰宅前の暖房ブースト
- 03入浴前の給湯状態確認
- 04交換前のデバイス電池確認
MCP 対応
MCPクライアントにHiveデバイスの状態確認・操作ツールを提供します。書き込みは既定で無効で、明示的に有効化できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
hive-mcp
暖房に話しかけましょう。
Hive(British Gas のスマート暖房)向けのオープンソースのModel Context Protocolサーバーです。Claude やほかの AI アシスタントから、Hive のサーモスタット、ラジエーターバルブ、給湯器、プラグ、照明を確認できます。また、許可すれば、暖房の一時運転や温度設定、給湯器のオン、休暇モードの設定も、コンパクトな Docker コンテナーひとつから行えます。
重要
hive-mcp は非公式プロジェクトです。Hive、British Gas、Centrica が開発、推奨、サポートしているものではありません。Hive には公開 API がないため、hive-mcp は Hive アプリや Home Assistant インテグレーションと同じ、ドキュメント化されていない API を使用します。この API は Hive によっていつでも変更される可能性があります。
「ここ、寒すぎるよ。家を暖かくしてくれる?」 リビングルームは 17.5 °C で、暖房はスケジュールどおりに稼働しています。17:00 までは 16 °C に設定されています。1 時間、21 °C まで暖房を強め、その後はスケジュールに戻せます。そうしますか? 「お願い。それと、お風呂に入りたいから給湯器もつけて。」 完了しました。暖房は 15:40 まで 21 °C に設定され、給湯器は 30 分間稼働します。ちなみに、寝室のラジエーターバルブのバッテリー残量は 20% です。
家について、普段どおりの英語で質問できます。アシスタントは、情報の確認に24 個のツールから選び、許可すれば設定を変更します。たとえば、次のように頼めます。
- 🌡️ 「各部屋の温度と、暖房がついているか教えて。」
- 🔥 「暖房を 1 時間、21 度にして。」
- 🛁 「30 分後にお風呂に入りたいんだけど、お湯は出る?」
- 🧳 「土曜日から 28 日まで留守にするから、休暇モードにして。」
- 🔋 「電池交換が必要な Hive デバイスはある?」
- 💡 「リビングの照明を 30% に暗くして、ランプのプラグをオフにして。」
主な特徴
- 🐳 Docker 優先で軽量。
linux/amd64とlinux/arm64に対応する単一のイメージ(ghcr.io/mattoddie/hive-mcp)で、サイズは約 20 MB です。distroless ベースの単一の静的 Go バイナリで、シェルやパッケージマネージャーは含まず、root 以外のユーザーとして実行されます。長時間稼働するサービス向けの Streamable HTTP、またはdocker run -i向けの stdio を提供します。バイナリ単体で実行することもできます。Claude Desktop 向けには、Docker 不要のワンクリック拡張バンドル(.mcpb)もあります。 - 🛡️ デフォルトで安全。 書き込みを有効にしない限り、サーバーは読み取り専用です。許可されていないツールは登録されず、変更はすべて事前に確認されます。暖房の設定温度は 0.5 °C 刻みで 5~25 °C(上限は
HIVE_MAX_TEMPで引き上げ可能)、ブーストは最大 6 時間、ホリデーモードは最大 60 日間です。また、手動暖房や給湯のオンなど、無期限に継続する設定には明示的な確認が必要です。 - 📱 SMS コードは一度だけ。 Hive へのログインには、テキストメッセージで届くコードが必要です。
hive-mcp loginで一度入力すると、サーバーは自身を記憶済みデバイスとして登録するため、次回からはコードなしで自動的にログインできます。パスワード、トークン、デバイスのシークレットがツールの出力やログに現れることはありません。 - 🔐 本格的な Cognito SRP。 Hive アプリと同じ方法でログインします(パスワードを送信しない AWS Cognito の SRP)。クライアントの Home Assistant が使用する数式と照らし合わせて検証済みです。
- 🐢 Hive に負荷をかけない設計。 読み取り値を 30 秒間キャッシュするため、Hive が想定していない API に会話のたびに大量のリクエストを送ることはありません。また、レート制限時やログイン失敗時にはリクエスト間隔を空けます。
- 🎛️ 調整可能。 必要なツールセットだけを公開できるため、モデルのコンテキストを小さく保ち、焦点を絞れます。
- 🧪 テスト済み。 テストスイートは、SRP の証明、SMS コード、記憶済みデバイスを実際に検証する偽の Cognito を含む、モック Hive に対して実行されます。
クイックスタート
Claude Desktop をお使いですか? Docker は不要です。お使いのコンピューター向けの拡張バンドル(.mcpb)を最新リリースからダウンロードして開き、インストールします。Hive のメールアドレスとパスワードを入力し、Claude に 「Hive にログインして」 と頼んでください。Claude Desktopをご覧ください。
hive-mcp は io.github.mattoddie/hive-mcp として MCP Registry に掲載されているため、レジストリを参照できるクライアントからインストールできます(stdio モードの Docker イメージ、またはバンドル)。MCP Registry からをご覧ください。
それ以外の場合は、Docker、Hive アプリで使用できる Hive アカウント、Hive のテキストメッセージを受信する電話、そして Claude Code などの MCP クライアントが必要です。
1. サーバーをセットアップします。
mkdir hive-mcp && cd hive-mcp
curl -fsSLO https://raw.githubusercontent.com/mattoddie/hive-mcp/main/compose.yaml
curl -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. Hive に一度ログインして、サーバーを起動します。
docker compose run --rm hive-mcp login # type in the code Hive texts you
docker compose up -d
3. アシスタントを接続します。
claude mcp add --transport http hive http://<docker-host>:8080/mcp \
--header "Authorization: Bearer <MCP_AUTH_TOKEN>"
Claude Code で 「家の中はどれくらい暖かい?」 と尋ねてみましょう。
Claude Desktop、VS Code、Cursor、または Codex をお使いですか?MCP クライアントの接続をご覧ください。サービスを実行したくない場合は、docker run -i またはローカルバイナリで stdio モードを使用してください。
変更を有効にする
初期設定では、アシスタントは確認するだけで変更はできません。暖房、給湯、プラグ、照明を変更できるようにするには、.env に次の設定を追加して再起動します。
HIVE_ALLOW_WRITES=true
HIVE_TOOLSETS=home,heating,hotwater # optional: expose fewer tools
docker compose up -d
書き込みを有効にする前に、セキュリティをお読みください。暖房システムは、実際の家庭にある実物です。アシスタントによる変更をすべて記録するには、HIVE_AUDIT_LOG にファイルパスを設定してください(監査ログを参照)。
できること
| ツールセット | 対応内容 |
|---|---|
home | ログイン、ホームの概要を1回の呼び出しで取得、バッテリー残量と信号強度を含むHiveデバイスの一覧、ホリデーモード |
heating | 暖房ゾーンとラジエーターバルブ(TRV)ゾーン:温度、モード、スケジュール。温度やモードの設定、ブーストとブーストのキャンセル |
hotwater | 温水:状態とスケジュール。オン、オフ、スケジュールどおりに切り替え、ブーストとブーストのキャンセル |
devices | スマートプラグ、ライト、センサー:オン/オフ、消費電力、明るさ、色温度、開/閉 |
raw | Hive APIの任意のパスを呼び出すための機能です。明示的に一覧に追加しない限り無効です(HIVE_TOOLSETS=all,raw) |
すべてのツールと引数については、ツールリファレンス をご覧ください。home_check、warm_up、going_away などの用意済みプロンプトでは、一般的な作業のためにツールを連携させます。スケジュールの変更にはまだ対応していません。互換性をご覧ください。
ドキュメント
ドキュメントは検索機能付きで、hive-mcp.mattoddie.dev/docs にも公開されています。
| 🚀 はじめに | 初回のSMSログインを含む、手順に沿ったセットアップ |
| 🔌 MCP クライアントの接続 | Claude Code、Claude Desktop、VS Code、Cursor、Codex、stdioモード |
| ⚙️ 設定 | すべての環境変数、ログインと記憶したデバイスの仕組み、Dockerシークレット、ツールセット |
| 🐳 デプロイ | Compose、イメージタグ、アップグレード、TLSリバースプロキシ、セキュリティ強化、Dockerを使わない実行 |
| 💬 hive-mcp の使い方 | 会話例、プロンプト、変更とブーストの仕組み |
| 🧰 ツールリファレンス | コードから生成された、すべてのツールとプロンプト |
| 🛡️ セキュリティ | 脅威モデル、トークンファイルの内容、安全な書き込みの設定 |
| 📡 互換性 | 対応するHiveデバイス、販売終了製品、非公式APIの利用方法 |
| 🩹 トラブルシューティング | ログインとSMSの問題、よくあるエラーとその解決方法 |
| 🛠️ 開発 | アーキテクチャ、Hiveのモック、ツールの追加、テスト |
コントリビューション
バグ報告、Hive APIの動作に関する情報、ドキュメント、新しいツールなど、どのようなコントリビューションも歓迎します。始めるにはコントリビューションガイドを読み、行動規範に従ってください。脆弱性の報告についてはセキュリティポリシーをご覧ください。脆弱性について公開のissueを作成しないでください。
ライセンス
MIT © Matt Oddie
hive-mcpは独立したコミュニティプロジェクトです。Hive、British Gas、Centrica plcとは提携しておらず、承認や出資も受けていません。「Hive」と「British Gas」は、Centrica plcまたはその子会社の商標です。hive-mcpは、Home AssistantのHive統合機能を支えるライブラリであるpyhiveapiの開発を通じてコミュニティが得た知見を基にしています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。