Smartlife Tuya MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Smartlife Tuya MCP Serverget all readings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Smartlife Tuya MCP Server
Local MCP server exposing Tuya-based temperature/humidity sensors (managed via the SmartLife app) to an MCP client. Devices, names, and capabilities are all discovered live from the linked Tuya account — nothing is hardcoded.
Tools exposed
list_devices— every sensor linked to the account, with id/name/online statusget_capabilities(device_id)— the data points a device reports (code, type, unit, range), read live from Tuyaget_reading(device_id)— latest reading for one sensor; flaggedstale: trueif it hasn't reported in over an hour or is offlineget_all_readings— latest reading for every sensor in one call
Related MCP server: Wyzer MCP Server
Setup
Clone/copy this folder to the target machine.
Create a venv and install dependencies:
./setup.sh(On Windows, without the script:
python -m venv venv && venv\Scripts\pip install -r requirements.txt)setup.shcopies.env.exampleto.envif one doesn't exist yet. Fill it in:TUYA_ACCESS_ID/TUYA_ACCESS_SECRET— from your Tuya IoT Platform Cloud projectTUYA_ENDPOINT— must match your project's Data Center (USopenapi.tuyaus.com, EUopenapi.tuyaeu.com, Chinaopenapi.tuyacn.com, Indiaopenapi.tuyain.com). A mismatch here is the most common setup failure — auth will still succeed, but every device call returns a permission/"data center suspended" error.
Sanity check — should start with no errors and then hang waiting on stdio (Ctrl+C to stop):
./venv/bin/python server.py
.env holds live API credentials and is gitignored — never commit it.
Wiring into Hermes Agent
Add to ~/.hermes/config.yaml:
mcp_servers:
smartlife-tuya:
command: "/path/to/smartlife_mcp/venv/bin/python"
args: ["/path/to/smartlife_mcp/server.py"]
tools:
include: ["list_devices", "get_capabilities", "get_reading", "get_all_readings"]The tools.include allowlist isn't strictly needed (the server only exposes
these four read-only tools anyway) but matches Hermes's own recommendation to
start with the smallest tool set possible.
Rotating credentials
Regenerate the Access Secret from the Tuya IoT Platform → your Cloud project →
Overview, then update .env on every machine running this server.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server wrapping the Tesla Fleet API and TeslaMate API
MCP server for Yoto: manage cards, tracks, icons and family devices from any MCP client.
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for interacting with Fireboard BBQ temperature monitoring. Enables querying devices, live probe temperatures, Drive fan controller status, and historical cook sessions.MIT
- AlicenseAqualityBmaintenanceMCP server for controlling Wyze smart home devices (plugs, switches, thermostats, air purifiers) via Claude Desktop or Home Assistant.710 npmMIT
- AlicenseAqualityBmaintenanceLocal MCP server for controlling Midea air conditioners via LAN or cloud, providing tools for device management and state control.65MIT
- AlicenseAqualityBmaintenanceMCP server for the entire Shelly smart-home ecosystem, enabling local-first control, automation, and energy monitoring of Shelly devices with cloud fallback.47MIT