Skip to main content
Glama
bennythecoder

Smartlife Tuya MCP Server

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 status

  • get_capabilities(device_id) — the data points a device reports (code, type, unit, range), read live from Tuya

  • get_reading(device_id) — latest reading for one sensor; flagged stale: true if it hasn't reported in over an hour or is offline

  • get_all_readings — latest reading for every sensor in one call

Related MCP server: Wyzer MCP Server

Setup

  1. Clone/copy this folder to the target machine.

  2. Create a venv and install dependencies:

    ./setup.sh

    (On Windows, without the script: python -m venv venv && venv\Scripts\pip install -r requirements.txt)

  3. setup.sh copies .env.example to .env if one doesn't exist yet. Fill it in:

    • TUYA_ACCESS_ID / TUYA_ACCESS_SECRET — from your Tuya IoT Platform Cloud project

    • TUYA_ENDPOINT — must match your project's Data Center (US openapi.tuyaus.com, EU openapi.tuyaeu.com, China openapi.tuyacn.com, India openapi.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.

  4. 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.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for interacting with Fireboard BBQ temperature monitoring. Enables querying devices, live probe temperatures, Drive fan controller status, and historical cook sessions.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for controlling Wyze smart home devices (plugs, switches, thermostats, air purifiers) via Claude Desktop or Home Assistant.
    7
    10 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Local MCP server for controlling Midea air conditioners via LAN or cloud, providing tools for device management and state control.
    6
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for the entire Shelly smart-home ecosystem, enabling local-first control, automation, and energy monitoring of Shelly devices with cloud fallback.
    47
    MIT