关于 Mcp Server Tuya
Mcp Server Tuya 是面向 MCP 客户端的智能家居服务,可通过 Tuya / Smart Life 云端控制设备。它提供设备状态查询、灯光调节和自定义命令,并支持按设备名称定位。
主要功能
- 01开关及状态查询
- 02亮度、色温与颜色调节
- 03设备名称解析
- 04自定义设备命令
- 05可配置缓存与区域端点
适用场景
- 01查询家中设备及在线状态
- 02调整房间灯光亮度或颜色
- 03读取温度传感器状态
MCP 相关
该 MCP 服务向客户端提供 10 个 Tuya 设备控制工具,涵盖设备查询、开关、灯光设置和自定义命令。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-server-tuya
一个 Model Context Protocol (MCP) 服务,可让 AI 助手(Claude、ChatGPT、Copilot、Cursor 等)控制你的 Tuya / Smart Life 智能家居设备。
功能特性
- 10 个工具,全面控制设备(开/关、亮度、颜色、温度、自定义命令)
- 设备名称解析——使用“客厅灯”这样的友好名称,而不是 ID
- 智能缓存——可配置 TTL,减少 API 调用
- 支持所有 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 或 设备名称(例如 "客厅灯")。
环境变量
| 变量 | 必需 | 默认值 | 说明 |
|---|---|---|---|
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”
尚未设置凭据。请确保已将 env 部分添加到 MCP 客户端配置中。
“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 — Pythonic MCP 服务框架
- tuya-connector-python — Tuya Cloud 官方 SDK
- Model Context Protocol — 由 Anthropic 提供
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。