Mcp Server Tuya について
Mcp Server Tuya は、Tuya / Smart Life のスマートホーム機器をクラウド経由で操作する MCP サーバーです。機器名による検索に対応し、状態確認や照明設定、カスタムコマンドを提供します。
主な機能
- 01電源と状態の操作
- 02明るさ・色温度・色の設定
- 03機器名の解決
- 04カスタム機器コマンド
- 05キャッシュと地域別エンドポイントの設定
活用シーン
- 01機器一覧とオンライン状態の確認
- 02部屋の照明の明るさや色の調整
- 03温度センサーの状態確認
MCP 対応
MCP サーバーとして、Tuya 機器の検索、状態確認、電源操作、照明設定、カスタムコマンドなど10種類のツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-server-tuya
AI アシスタント(Claude、ChatGPT、Copilot、Cursor など)から、Tuya / Smart Life のスマートホームデバイスを操作できる Model Context Protocol (MCP) サーバーです。
特長
- デバイスを完全に制御する 10 個のツール(オン/オフ、明るさ、色、温度、カスタムコマンド)
- デバイス名の解決 — ID の代わりに「リビングのライト」のような分かりやすい名前を使用できます
- インテリジェントなキャッシュ — API 呼び出しを減らすための TTL を設定できます
- すべての Tuya リージョンに対応 — EU、US、CN、IN
- 設定ファイル不要 — 環境変数で認証情報を指定します
- Claude Desktop、ChatGPT、GitHub Copilot、Cursor、Windsurf、Cline、および MCP 互換のあらゆるクライアントで動作します
クイックスタート
1. Tuya の認証情報を取得する
- Tuya IoT Platform にアクセスしてアカウントを作成します
- Cloud Project を作成します(リージョンと「Smart Home」業種を選択します)
- Devices > Link Tuya App Account に移動し、Smart Life / Tuya Smart アプリを連携します
- プロジェクトの概要から Access ID と Access Secret をコピーします
2. MCP クライアントを設定する
Claude Desktop
以下を設定ファイルに追加します:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"tuya": {
"command": "uvx",
"args": ["mcp-server-tuya"],
"env": {
"TUYA_ACCESS_ID": "your_access_id",
"TUYA_ACCESS_KEY": "your_access_key",
"TUYA_API_ENDPOINT": "https://openapi.tuyaeu.com"
}
}
}
}
Claude Code
claude mcp add tuya -- uvx mcp-server-tuya
次に、環境変数を設定します:
export TUYA_ACCESS_ID="your_access_id"
export TUYA_ACCESS_KEY="your_access_key"
export TUYA_API_ENDPOINT="https://openapi.tuyaeu.com"
Cursor
プロジェクト内の .cursor/mcp.json に以下を追加します:
{
"mcpServers": {
"tuya": {
"command": "uvx",
"args": ["mcp-server-tuya"],
"env": {
"TUYA_ACCESS_ID": "your_access_id",
"TUYA_ACCESS_KEY": "your_access_key",
"TUYA_API_ENDPOINT": "https://openapi.tuyaeu.com"
}
}
}
}
VS Code (GitHub Copilot)
.vscode/settings.json に以下を追加します:
{
"mcp": {
"servers": {
"tuya": {
"command": "uvx",
"args": ["mcp-server-tuya"],
"env": {
"TUYA_ACCESS_ID": "your_access_id",
"TUYA_ACCESS_KEY": "your_access_key",
"TUYA_API_ENDPOINT": "https://openapi.tuyaeu.com"
}
}
}
}
}
ChatGPT / その他の MCP クライアント
MCP 互換のクライアントであれば、このサーバーを使用できます。一般的な設定は次のとおりです:
- コマンド:
uvx - 引数:
["mcp-server-tuya"] - 環境変数:
TUYA_ACCESS_ID、TUYA_ACCESS_KEY、TUYA_API_ENDPOINT
MCP サーバーの設定方法については、ご利用のクライアントのドキュメントを参照してください。
3. クライアントを再起動する
これで完了です!AI アシスタントに、次のように尋ねてみましょう:
- 「すべてのデバイスを一覧表示して」
- 「リビングのライトを消して」
- 「寝室のライトの明るさを 50% に設定して」
- 「キッチンの温度は?」
- 「すべて消して」
インストール
uvx を使用する(推奨)
インストールは不要です。uvx が直接実行します:
uvx mcp-server-tuya
pip を使用する
pip install mcp-server-tuya
GitHub から
pip install git+https://github.com/juanmartinsantos/mcp-server-tuya.git
利用可能なツール
| ツール | 説明 |
|---|---|
tuya_list_devices | ID、名前、カテゴリ、オンライン状態を含むすべてのデバイスを一覧表示します |
tuya_get_device_status | デバイスの現在の状態(電源、明るさ、温度など)を取得します |
tuya_get_device_info | デバイスの詳細情報(モデル、ファームウェア、機能)を取得します |
tuya_turn_on_device | デバイスの電源を入れます(複数スイッチのデバイスに対応) |
tuya_turn_off_device | デバイスの電源を切ります(複数スイッチのデバイスに対応) |
tuya_toggle_device | デバイスのオン/オフを切り替えます |
tuya_set_brightness | ライトの明るさを設定します(0~1000) |
tuya_set_color_temperature | 色温度を設定します:暖色(0)から寒色(1000) |
tuya_set_color | HSV 値を使用して RGB カラーを設定します |
tuya_send_command | デバイスに任意のカスタムコマンドを送信します |
すべてのツールは、デバイス ID または デバイス名(例:"Living Room Light")を受け付けます。
環境変数
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
TUYA_ACCESS_ID | はい | — | Tuya Cloud API アクセス ID |
TUYA_ACCESS_KEY | はい | — | Tuya Cloud API アクセスシークレット |
TUYA_API_ENDPOINT | いいえ | https://openapi.tuyaeu.com | API エンドポイント(下記のリージョンを参照) |
TUYA_CACHE_TTL | いいえ | 60 | デバイスリストのキャッシュ期間(秒) |
TUYA_REQUEST_TIMEOUT | いいえ | 10 | API リクエストのタイムアウト(秒) |
リージョン別 API エンドポイント
| リージョン | エンドポイント |
|---|---|
| ヨーロッパ | https://openapi.tuyaeu.com |
| アメリカ大陸 | https://openapi.tuyaus.com |
| 中国 | https://openapi.tuyacn.com |
| インド | https://openapi.tuyain.com |
ローカル開発
# Clone the repository
git clone https://github.com/juanmartinsantos/mcp-server-tuya.git
cd mcp-server-tuya
# Create virtual environment
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # macOS/Linux
# Install in editable mode
pip install -e ".[dev]"
# Copy and configure environment
cp .env.example .env
# Edit .env with your credentials
# Run the server
mcp-server-tuya
# or: python -m mcp_server_tuya
トラブルシューティング
「TUYA_ACCESS_ID environment variable is required」
認証情報が設定されていません。MCP クライアントの設定に env セクションを追加してください。
「API error: permission deny」
Tuya Cloud プロジェクトに適切な権限がありません。Tuya IoT Platform > プロジェクト > Service API に移動し、IoT Core と Smart Home API を有効にしてください。
「Device not found」
デバイス名が一致していません。まず tuya_list_devices を使って、デバイスの正確な名前を確認してください。
サーバーが起動しない
uv がインストールされていることを確認してください。次のコマンドでインストールできます。
# Windows
winget install --id=astral-sh.uv
# macOS
brew install uv
ライセンス
MIT License — 詳細は LICENSE を参照してください。
クレジット
- FastMCP — Python 向け MCP サーバーフレームワーク
- tuya-connector-python — Tuya Cloud 公式 SDK
- Model Context Protocol — Anthropic 提供
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。