OpenHue MCP サーバー
OpenHue CLI を使用して、Claude やその他の LLM インターフェイスを通じて Philips Hue ライトを制御できる MCP サーバー。
前提条件
Node.js (v16 以上)
Claude for Desktop (オプション、テスト用)
Related MCP server: Govee MCP Server
ブリッジのセットアップ
サーバーを使用する前に、Hue ブリッジで OpenHue CLI を設定する必要があります。
セットアップ コマンドを実行します。
# On Linux/macOS:
docker run -v "${HOME}/.openhue:/.openhue" --rm --name=openhue -it openhue/cli setup
# On Windows (PowerShell):
docker run -v "${env:USERPROFILE}\.openhue:/.openhue" --rm --name=openhue -it openhue/cli setup画面上の指示に従います。
CLIはHueブリッジを検索します
プロンプトが表示されたら、Hueブリッジのリンクボタンを押します。
セットアップが完了したことを確認するまで待ちます
ライトをリストしてセットアップを確認します。
# On Linux/macOS:
docker run -v "${HOME}/.openhue:/.openhue" --rm --name=openhue -it openhue/cli get lights
# On Windows (PowerShell):
docker run -v "${env:USERPROFILE}\.openhue:/.openhue" --rm --name=openhue -it openhue/cli get lightsライトがリストに表示されたら、セットアップは完了しており、MCP サーバーを使用する準備が整っています。
インストール
リポジトリをクローンします。
git clone <your-repo-url>
cd claude-mcp-openhue依存関係をインストールします:
npm installプロジェクトをビルドします。
npm run buildサーバーを実行します。
npm start特徴
このサーバーは、MCP を通じて次の機能を公開します。
照明制御
すべてのライトを一覧表示するか、特定のライトの詳細を取得します
ライトのオン/オフ
明るさを調整する
色を設定する
色温度を制御する
ルームコントロール
すべての部屋を一覧表示するか、部屋の詳細を取得します
部屋のすべての照明をまとめて制御
部屋全体の明るさと色を設定する
シーン管理
利用可能なシーンを一覧表示する
さまざまなモードでシーンをアクティブにする
部屋別にシーンをフィルタリング
Claude Desktopでの使用
Claude Desktop 構成ファイルを開きます。
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
サーバー構成を追加します。
{
"mcpServers": {
"hue": {
"command": "node",
"args": ["/absolute/path/to/build/index.js"]
}
}
}Claudeデスクトップを再起動します
サーバーが接続されていることを確認するには、ハンマーアイコンを探します
コマンド例
接続すると、次のような自然言語の質問を Claude に尋ねることができます。
「リビングルームにはどんな照明がありますか?」
「キッチンの電気を全部つけて」
「寝室の照明を50%の明るさに設定してください」
「オフィスの照明を青に変えてください」
「『リラックス』シーンを有効にする」
「書斎ではどんなシーンが楽しめますか?」
利用可能なツール
ライトをゲット
すべてのライトを一覧表示したり、特定のライトの詳細を取得したりします
{
lightId?: string; // Optional light ID or name
room?: string; // Optional room name filter
}コントロールライト
個々のライトを制御する
{
target: string; // Light ID or name
action: "on" | "off";
brightness?: number; // 0-100
color?: string; // Color name
temperature?: number; // 153-500 Mirek
}部屋を取得する
すべての部屋を一覧表示したり、特定の部屋の詳細を取得したりします
{
roomId?: string; // Optional room ID or name
}制御室
部屋のすべての照明を制御します
{
target: string; // Room ID or name
action: "on" | "off";
brightness?: number;
color?: string;
temperature?: number;
}シーンを取得する
利用可能なシーンを一覧表示します
{
room?: string; // Optional room name filter
}シーンをアクティブ化する
特定のシーンをアクティブにする
{
name: string; // Scene name or ID
room?: string; // Optional room name
mode?: "active" | "dynamic" | "static";
}発達
プロジェクト構造
.
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md建物
npm run buildランニング
npm startトラブルシューティング
サーバーに接続できません
Dockerが実行中であることを確認する
OpenHue 構成が存在することを確認する
Claude Desktopのログを確認する
OpenHue CLIを直接実行してみる
コマンドの失敗
OpenHue CLI の権限を確認する
ライト/部屋/シーン名を確認する
Dockerコンテナのログを確認する
Hue ブリッジの接続を確認する
ライセンス
MITライセンス
貢献
リポジトリをフォークする
機能ブランチを作成する
変更をコミットする
ブランチにプッシュする
新しいプルリクエストを作成する