mcpField
H
Home Assistant Model Context Protocol (MCP)

Home Assistant Model Context Protocol (MCP)

ローカル
jango-blockchained.github.ioAI・エージェント5819 週間前に更新

Home Assistant Model Context Protocol (MCP) について

AI アシスタントを Home Assistant に接続する MCP サーバーで、照明、空調、ロック、シーン、オートメーションを操作する 50 以上のツールを提供します。Claude Desktop や Cursor から スマートホームを管理したいユーザーに適しています。STDIO と HTTP など複数のトランスポートで動作します。

主な機能

  1. 01スマートホーム機器を扱う 50 以上のツール
  2. 02STDIO、HTTP+WS、HTTP のトランスポートに対応
  3. 03ウェイクワード検出と音声テキスト変換
  4. 04Docker、npx、bunx、npm によるインストール

活用シーン

  1. 01AI アシスタントによる照明・空調・ロックの操作
  2. 02履歴の状態やエネルギー消費量の照会
  3. 03Cursor や Claude Desktop からのホームオートメーション管理

MCP 対応

MCP サーバーとして動作し、Home Assistant の機器制御、状態照会、オートメーション操作をツールとして MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"advanced-homeassistant": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@smithery/cli

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🏠 Home Assistant MCP

Smithery Release npm Docker CI Bun Node License

家に話しかけましょう。 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
npxnpx @jango-blockchained/homeassistant-mcp@latest
Dockerdocker 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+WS
  • dist/stdio-server.mjs — fastmcp v3 を介した STDIO
  • dist/http-server.mjs — fastmcp v3 を介した HTTP

📖 ドキュメント

完全なドキュメントは jango-blockchained.github.io/advanced-homeassistant-mcp にあります。インストール、設定、50 個以上のツール、デプロイ(HTTP、STDIO、Smithery)、アーキテクチャの詳細解説、ガイドを掲載しています。


🤝 コントリビューション

プルリクエストを歓迎します。シンプルに進めましょう。同じコードスタイルを保ち、テストを追加し、公開 API に変更を加えた場合はドキュメントも更新してください。

  1. フォークする
  2. ブランチを作成する
  3. コードを書く
  4. テストする
  5. プルリクエストを送る

詳細なガイドラインについては、CONTRIBUTING.mdをご覧ください。


📄 ライセンス

MIT — 何かクールなものを作りましょう。


スマートホームは MCP を話します。今度は AI も MCP を話します。 🏠⚡🤖🔋

電池は付属しています。🔋

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。