mcpField
D
Dirigera Mcp Iot Device Control Server

Dirigera Mcp Iot Device Control Server

ローカル
github.com/joakimerikssonその他610 週間前に更新

Dirigera Mcp Iot Device Control Server について

IKEA Dirigera のスマートホーム機器を管理する MCP サーバーです。照明、コンセント、環境センサーの状態確認と操作ができ、ローカルとリモートの接続方式に対応します。

主な機能

  1. 01センサー値の取得
  2. 02コンセントと照明の状態確認
  3. 03機器の電源切り替え
  4. 04照明の明るさと色の調整
  5. 05標準入出力とリモート転送
  6. 06任意の JWT 認証

活用シーン

  1. 01温度、湿度、空気質の確認
  2. 02コンセントの電力と照明状態の確認
  3. 03名前を指定した照明やコンセントの操作
  4. 04対応照明の明るさや色の変更

MCP 対応

センサー、コンセント、照明の状態取得と、電源や照明設定を操作するツールを MCP クライアントに提供します。標準入出力、streamable HTTP、SSE に対応します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Dirigera MCP サーバー

IKEA Dirigera スマートホームデバイス(コンセント、ライト、環境センサー)を制御する MCP サーバーです。

FastMCP と dirigera Python ライブラリを使用して構築されています。

前提条件

  • Python 3.11+
  • uv パッケージマネージャー
  • ローカルネットワーク上の IKEA Dirigera ハブ

セットアップ

1. 依存関係をインストールする
uv sync
2. Dirigera トークンを取得する

Dirigera ハブで認証するには JWT トークンが必要です。付属のヘルパーを使用します。

uv run gen_token.py 192.168.1.200

ハブに認証チャレンジが送信されます。プロンプトが表示されたら、Dirigera ハブのアクションボタンを押してください。トークンが出力されます。

3. 設定する

サンプル設定をコピーして、値を入力します。

cp config.example.toml config.toml
[dirigera]
host = "192.168.1.200"
token = "your-dirigera-token-here"

サーバーはデフォルトで ../config.toml(1つ上のディレクトリ)を検索します。--config-path で変更できます。

uv run dirigeramcp.py --config-path ./config.toml

サーバーの実行

ローカル(stdio)— Claude Desktop、Claude Code、MCP CLI 向け
uv run dirigeramcp.py
リモート(streamable-http)— リモートクライアント向け推奨
uv run dirigeramcp.py --transport streamable-http --host 0.0.0.0 --port 8000

サーバーは http://<your-ip>:8000/mcp で利用できます。

リモート(SSE)— レガシー
uv run dirigeramcp.py --transport sse --host 0.0.0.0 --port 8000

サーバーは http://<your-ip>:8000/sse で利用できます。

JWT 認証を使用する場合

リモートトランスポートでは、JWT 認証を有効にできます。

uv run dirigeramcp.py --transport streamable-http --host 0.0.0.0 --auth

--auth を指定して初回実行したとき、設定に [auth] セクションがない場合は、サーバーがシークレットを自動生成して保存します。config.toml で手動設定することもできます。

[auth]
jwt_secret = "your-hex-secret"
api_key = "your-hex-api-key"
expiry_hours = 24

JWT トークンを取得するには、トークンエンドポイントに POST します。

curl -X POST http://localhost:8000/auth/token \
  -H "Content-Type: application/json" \
  -d '{"api_key": "your-api-key"}'

有効期限が近いトークンを更新するには、次のようにします。

curl -X POST http://localhost:8000/auth/refresh \
  -H "Authorization: Bearer <your-jwt-token>"

利用可能なツール

ツール説明パラメーター
get_environment_sensors温度、湿度、PM2.5、VOC、CO2 を含むセンサーの一覧--
get_outlets電力、電圧、電流を含むコンセントの一覧--
get_lights明るさ、色温度、色相、彩度、オン/オフ状態を含むライトの一覧--
set_onoff名前を指定してコンセントまたはライトをオン/オフにするname、is_on
set_light_levelライトの明るさを設定するname、light_level(int)
set_light_colorライトの色を設定する(対応している場合)name、color_saturation(0.0-1.0)、color_hue(0-360)

MCP Inspector でのテスト

npx @modelcontextprotocol/inspector uv --directory . run dirigeramcp.py

Claude Desktop の設定

次の内容を Claude Desktop の claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "dirigera": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-agents/dirigera/fastmcp",
        "run",
        "dirigeramcp.py"
      ]
    }
  }
}

コマンドラインオプション

--config-path   Path to config TOML file (default: ../config.toml)
--host          Host to bind to (default: 127.0.0.1, use 0.0.0.0 for remote)
--port          Port to bind to (default: 8000)
--transport     stdio | sse | streamable-http (default: stdio)
--auth          Enable JWT authentication (remote transports only)

コメント

MCP は初めてですか?

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

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