Home Assistant Model Context Protocol (MCP) について
AI アシスタントを Home Assistant に接続する MCP サーバーで、照明、空調、ロック、シーン、オートメーションを操作する 50 以上のツールを提供します。Claude Desktop や Cursor から スマートホームを管理したいユーザーに適しています。STDIO と HTTP など複数のトランスポートで動作します。
主な機能
- 01スマートホーム機器を扱う 50 以上のツール
- 02STDIO、HTTP+WS、HTTP のトランスポートに対応
- 03ウェイクワード検出と音声テキスト変換
- 04Docker、npx、bunx、npm によるインストール
活用シーン
- 01AI アシスタントによる照明・空調・ロックの操作
- 02履歴の状態やエネルギー消費量の照会
- 03Cursor や Claude Desktop からのホームオートメーション管理
MCP 対応
MCP サーバーとして動作し、Home Assistant の機器制御、状態照会、オートメーション操作をツールとして MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🏠 Home Assistant MCP
家に話しかけましょう。 AI アシスタント(Claude、GPT、Cursor、Copilot)を、Model Context Protocol 経由で Home Assistant に接続します。50 以上のツール、3 種類のトランスポート、
bunxコマンド 1 つ。
# ⚡ Fastest way to try it
bunx github:jango-blockchained/advanced-homeassistant-mcp
🚀 クイックスタート
Home Assistant のインスタンスと長期アクセストークン(こちらから作成)が必要です。
Claude Desktop
claude_desktop_config.json に追加します。
{
"mcpServers": {
"homeassistant-mcp": {
"command": "bunx",
"args": ["github:jango-blockchained/advanced-homeassistant-mcp"],
"env": {
"HASS_HOST": "http://your-ha-instance:8123",
"HASS_TOKEN": "your_long_lived_access_token"
}
}
}
}
Claude を再起動します。 これで完了です。照明をつけるよう頼んでみましょう。
Cursor / VS Code
Cursor — .cursor/mcp.json に追加
{
"mcpServers": {
"homeassistant-mcp": {
"command": "bunx",
"args": ["github:jango-blockchained/advanced-homeassistant-mcp"],
"env": {
"HASS_HOST": "http://your-ha-instance:8123",
"HASS_TOKEN": "your_long_lived_access_token"
}
}
}
}
VS Code + MCP Extension
.env ファイルに環境変数を設定し、事前設定済みの .vscode/mcp.json を使用します。
{
"mcp.servers": {
"homeassistant-mcp": {
"type": "stdio",
"command": "bun",
"args": ["run", "dist/stdio-server.mjs"],
"env": {
"HASS_HOST": "${env:HASS_HOST}",
"HASS_TOKEN": "${env:HASS_TOKEN}"
}
}
}
}
Smithery(ワンクリック)
Smithery レジストリから直接インストールできます。設定ファイルは不要です。
npx @smithery/cli install @jango-blockchained/advanced-homeassistant-mcp --client claude
📦 インストール方法一覧
| 方法 | コマンド |
|---|---|
| Smithery(最も簡単) | npx @smithery/cli install @jango-blockchained/advanced-homeassistant-mcp --client claude |
| bunx(インストール不要) | bunx github:jango-blockchained/advanced-homeassistant-mcp |
| npx | npx @jango-blockchained/homeassistant-mcp@latest |
| Docker | docker run -d -p 7123:7123 --env-file .env ghcr.io/jango-blockchained/advanced-homeassistant-mcp:1.7.0 |
| ソースから | git clone ... && bun install && bun run build:all && bun run start:stdio |
| npm グローバル | npm add -g @jango-blockchained/homeassistant-mcp && homeassistant-mcp |
利用可能な Docker タグ:
latest- 最新の安定版リリース1.7.3、1.7、1- タグ付きバージョンdev- main ブランチからの最新開発ビルド
🎯 できること
接続すると、人に話しかけるように自宅に話しかけられます。
"Turn off all lights in the bedroom"
"Set the thermostat to 72°F"
"Lock all doors and start the vacuum"
"Show me energy consumption this week"
"What's the temperature in the living room?"
"Activate the movie scene"
"Notify everyone that dinner is ready"
"Check my Home Assistant health"
"Find orphaned devices with low battery"
"Analyze my light usage patterns"
すべてのコマンドは、50 種類以上のツールのいずれかに対応しています。照明、空調、メディア、ロック、カバー、ファン、掃除機、アラーム、シーン、自動化、通知、履歴、エネルギー監視、メンテナンスなどを操作できます。
ツールの全リファレンス(50 種類以上のツールすべて)
| カテゴリ | ツール |
|---|---|
| 照明 | 一覧表示、取得、オン/オフ、明るさ、色温度、RGB、エフェクト |
| 空調 | 一覧表示、取得、HVAC モード、目標温度、ファンモード、加湿 |
| メディア | 一覧表示、取得、再生/一時停止、音量、ソース、サウンドモード、シャッフル |
| カバー | 一覧表示、取得、開閉、位置、傾き、ガレージドア |
| ロック | 一覧表示、取得、コード対応の施錠/解錠 |
| ファン | 一覧表示、取得、速度、首振り、向き、プリセット |
| 掃除機 | 一覧表示、取得、開始/停止/ドック、スポット清掃、ファン速度 |
| アラーム | 一覧表示、取得、在宅/外出/夜間モードで警戒設定、警戒解除 |
| スイッチ | 一覧表示、取得、オン/オフ/切り替え |
| シーン | 一覧表示、名前付きシーンの実行 |
| 自動化 | 一覧表示、切り替え、トリガー、作成/編集/削除 |
| 通知 | HA のチャネル経由でプッシュ通知 |
| 履歴 | 過去の状態を照会 |
| アドオン | インストール、設定、制御 |
| パッケージ | HACS の統合とカスタムコンポーネント |
| メンテナンス | 孤立したデバイス、バッテリー警告、エネルギー分析 |
| スマートシナリオ | 誰もいないときのモード、窓と暖房の競合、エネルギーの浪費 |
| 照明 | アニメーション、シナリオ、ショーケース、BPM/ビート検出 |
| 音声 | ウェイクワード検出、音声テキスト変換、音声コマンド |
| ダッシュボード | Lovelace ダッシュボードの照会と管理 |
| テンプレート | HA 経由で Jinja2 テンプレートをレンダリング |
| To-Do リスト | 項目の追加、更新、削除 |
| トレース | 自動化/スクリプトの実行トレース |
| 検索 | フィルターを使ったエンティティの全文検索 |
| エンティティの状態 | 任意のエンティティの現在の状態を取得 |
| エラーログ | HA のエラーログをフィルター付きで照会 |
詳細なドキュメント:ツールリファレンス
🎙️ 音声機能(音声操作)
セットアップを、音声で完全に操作できるスマートホームアシスタントに変えられます。音声統合では、プライバシーに配慮したローカル音声処理を利用できます。
- ウェイクワード検出:
wyoming-openwakewordを利用します(デフォルト:「Hey Jarvis」)。 - 音声テキスト変換:
faster-whisperを使用した、高速なローカル文字起こしです。 - オーディオ統合:シームレスにマイクへアクセスできる PulseAudio の直接統合です。
音声機能を有効にするには、専用の Docker Compose ファイルを使用してください。
docker-compose -f docker-compose.speech.yml up -d
詳しい設定方法については、音声機能ガイドをご覧ください。
🧱 アーキテクチャ
┌──────────────┐ ┌─────────────────────┐ ┌──────────────────┐
│ AI Assistant │◄───►│ Home Assistant │◄───►│ Your Smart Home │
│ (Claude/GPT) │ │ MCP Server │ │ (Home Assistant)│
└──────────────┘ └─────────────────────┘ └──────────────────┘
│ │
┌────┘ └────┐
▼ ▼
┌────────────┐ ┌──────────────┐
│ HTTP/WS │ │ STDIO │
│ (Express) │ │ (fastmcp v3) │
└────────────┘ └──────────────┘
3 種類のトランスポートを 1 つのコードベースで提供しています。環境に合ったものを選んでください。どれも同じ 50 個以上のツールを公開します。
- STDIO — Claude Desktop、Cursor、VS Code(ローカルエディターとの連携)向け
- HTTP+WS — JWT 認証、レート制限、WebSocket ストリーミングを備えた、リモート AI ホスト向け
- HTTP (fastmcp) — 独自のミドルウェアを使わない軽量な HTTP トランスポート
⚙️ 設定
最小限の設定で利用できます。必須の環境変数は 2 つです。
HASS_HOST=http://homeassistant.local:8123
HASS_TOKEN=eyJ... # long-lived access token
任意の設定:
PORT=7123 # HTTP server port (default: 4000)
LOG_LEVEL=info # debug | info | warn | error
JWT_SECRET=... # for HTTP/WS auth (min 32 chars)
20 個以上ある環境変数の全リストについては、設定ドキュメントをご覧ください。
🛠️ 開発
bun install # install dependencies
bun run build:all # build all three entry points
bun test # run test suite (80% coverage threshold)
bun run lint # ESLint + Prettier
bun run typecheck # TypeScript type checking
Bun、TypeScript、fastmcp で構築されています。エントリーポイントは 3 つあります。
dist/index.cjs— Express ベースのカスタム MCP サーバー上で動作する HTTP+WSdist/stdio-server.mjs— fastmcp v3 を介した STDIOdist/http-server.mjs— fastmcp v3 を介した HTTP
📖 ドキュメント
完全なドキュメントは jango-blockchained.github.io/advanced-homeassistant-mcp にあります。インストール、設定、50 個以上のツール、デプロイ(HTTP、STDIO、Smithery)、アーキテクチャの詳細解説、ガイドを掲載しています。
🤝 コントリビューション
プルリクエストを歓迎します。シンプルに進めましょう。同じコードスタイルを保ち、テストを追加し、公開 API に変更を加えた場合はドキュメントも更新してください。
- フォークする
- ブランチを作成する
- コードを書く
- テストする
- プルリクエストを送る
詳細なガイドラインについては、CONTRIBUTING.mdをご覧ください。
📄 ライセンス
MIT — 何かクールなものを作りましょう。
スマートホームは MCP を話します。今度は AI も MCP を話します。 🏠⚡🤖🔋
電池は付属しています。🔋
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。







