Smart Bulb MCP Server
Smart Bulb MCP Server
Node.js と TypeScript で構築された Model Context Protocol (MCP) サーバーで、IP 経由でスマート電球を制御します。以下に対応しています:
Mock/Simulated Bulb: 物理的なハードウェアなしでローカルのテストと開発を行うためのシミュレーション電球です。
Yeelight/Xiaomi Bulb: 標準 TCP ポート
55443(ローカル制御 JSON-RPC プロトコル)を使用して、実際の物理的なスマート電球を制御します。
機能
IP を使用した接続: ローカルネットワーク上のさまざまな電球に動的に接続できます。
電源制御: 電球をオンまたはオフにします。
明るさと不透明度: 電球の明るさ / 強度を 1% から 100% の範囲で調整します。
色の制御: RGB 座標または16進数のカラーコードを使用して色を設定します。
状態クエリ: 電球の現在の状態をリアルタイムで取得します。
Related MCP server: Philips Hue MCP Service
はじめに
1. サーバーのビルド
まず、依存関係をインストールして TypeScript ファイルをコンパイルします:
# Install dependencies
npm install
# Compile the TypeScript files
npm run buildコンパイルされたファイルは dist/ ディレクトリに出力されます。
2. 実行 / 開発
標準入出力(Stdio)経由でサーバーを直接実行できます:
# Run the built JS
npm start
# Compile and run in development mode
npm run devMCP クライアントでの設定
このサーバーを MCP クライアント(Claude Desktop や Cursor など)で使用するには、設定ファイルにサーバー設定を追加してください。
Claude Desktop の場合
claude_desktop_config.json を編集します(通常、Windows では %APPDATA%\Claude、macOS では ~/Library/Application Support/Claude にあります):
{
"mcpServers": {
"smart-bulb": {
"command": "node",
"args": ["D:/Palwinder/mcp-server-bulb/dist/index.js"]
}
}
}注:D:/Palwinder/mcp-server-bulb/dist/index.js は、お使いのマシン上の dist/index.js への絶対パスに置き換えてください。
公開されている MCP ツール
サーバーが接続されると、ホストの LLM は以下のツールにアクセスできるようになります:
1. connect_bulb
指定した IP の電球に接続します。
引数:
ip(string、必須): IP アドレス(例:"192.168.1.15"または"127.0.0.1")。type(enum["mock", "yeelight"]、デフォルト:"mock"): ドライバーの種類です。物理的なハードウェアなしでサーバーの機能をテストするには"mock"を、実際の Yeelight 電球には"yeelight"を使用します。port(number、任意): 使用するポートです。Yeelight のデフォルトは55443、Mock のデフォルトは9999です。
2. disconnect_bulb
現在接続されている電球から切断します。
引数: なし。
3. get_bulb_state
接続ステータス、電源状態、明るさ / 不透明度のパーセンテージ、RGB カラーを取得します。
引数: なし。
4. set_bulb_power
電球をオンまたはオフにします。
引数:
power(boolean、必須): オンにするにはtrue、オフにするにはfalseを指定します。
5. set_bulb_brightness
電球の明るさ / 不透明度を設定します。
引数:
brightness(number、必須):1から100までの値です。
6. set_bulb_color_rgb
RGB の値を使用して電球の色を設定します。
引数:
r(number、必須): 赤の成分0-255。g(number、必須): 緑の成分0-255。b(number、必須): 青の成分0-255。
7. set_bulb_color_hex
16 進数のカラーコードを使用して電球の色を設定します。
引数:
hex(string、必須): 16 進数のコードです(例:"#FF0000"または"00FF00")。
OpenAI 接続クライアント
src/openai-client.ts に、OpenAI にプロンプトを直接渡すためのクライアントラッパーを構築しました。OpenAI は MCP ツールを自律的に呼び出して、スマート電球に対してアクションを実行します。
クライアントのセットアップと実行
OpenAI API キーを設定する: Windows(PowerShell)の場合:
$env:OPENAI_API_KEY="your-actual-api-key"macOS/Linux(Bash)の場合:
export OPENAI_API_KEY="your-actual-api-key"クライアントを実行する:
対話型 CLI モード:
npm run clientシェルのプロンプトが開きます。次のようにお試しください:
モック電球に接続し、電源をオンにして、明るさを 80% に設定し、色を黄色に変更してください。
単発コマンドモード: プロンプトを引数として直接渡します:
npm run client -- "connect to the mock bulb, turn it on, and set color to blue"
モデルのカスタマイズ(任意): デフォルトでは
gpt-4o-miniを使用します。OPENAI_MODEL環境変数を設定することで変更できます:$env:OPENAI_MODEL="gpt-4o"
開発者の詳細 & アーキテクチャ
このプロジェクトはモジュール構造になっています:
src/bulb/interface.ts: 共通のコントラクト(ISmartBulb)と 状態 のshape(BulbState)を定義します。src/bulb/mock.ts: ネットワークの遅延とメモリ内の状態変化を模擬するシミュレーション電球インスタンスです。src/bulb/yeelight.ts: サードパーティーの SDK に依存せず、実際の Yeelight WiFi 電球との間で JSON-RPC パケットを直接送受信するための、生の TCP ラインベースのバッファパーサーを実装しています。src/index.ts:@modelcontextprotocol/serverツールを設定してマウントし、接続状態と検証スキーマを処理します。src/openai-client.ts: MCP サーバーをサブプロセスとして起動し、すべてのツールを動的に読み込んで OpenAI 関数として公開し、マルチターンの会話型ツール実行ループを処理します。
Palwinder Singh によって作成されました
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables control of smart lights through MQTT messaging protocol, supporting operations like turning lights on/off and adjusting brightness levels from 0-100.
- AlicenseNot gradedqualityDmaintenanceEnables control of Philips Hue lights through the Model Context Protocol, providing tools for turning lights on/off, setting brightness and color, and retrieving light status.1Apache 2.0
- AlicenseNot gradedqualityCmaintenanceControls TAPO L530E smart light bulbs via MCP, supporting on/off, brightness, and color temperature, with local and remote AWS deployment.MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server for controlling LIFX smart lights, enabling AI assistants to manage power, color, brightness, effects, and scenes.MIT
Related MCP Connectors
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
A webhook inbox for agents: one call returns a live URL. Mock, verify, inspect and replay.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/PalwinderSinghPaali/smart-bulb-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server