Tuya MCP Server

# tuyactl This project provides a command-line interface (`tuyactl`) for controlling Tuya devices. It interacts with a separate Tuya Server (I'm still thinking a better way of doing that). ## Requirements * **uv:** A fast and modern Python package installer and runner. Install it by following the instructions on the [uv documentation site](https://docs.astral.sh/uv/installation/). * **Tuya Local Keys:** You will need the local keys for your Tuya devices. Follow the [tinytuya setup wizard](https://github.com/jasonacox/tinytuya#setup-wizard---getting-local-keys) to obtain these. ## Quick Start 1. **Install `uv`:** Follow the official installation instructions on the [uv documentation site](https://docs.astral.sh/uv/installation/). The recommended method is to use the standalone installer, which you can download and run with the following command: ```bash curl -LsSf https://astral.sh/uv/install.sh | sh ``` 2. **Obtain Tuya Local Keys:** Follow the [tinytuya setup wizard](https://github.com/jasonacox/tinytuya#setup-wizard---getting-local-keys) to get the local keys for your Tuya devices. Place the resulting `snapshot.json` file in your home directory (`~`). You can customize the location of this file using environment variables (see below). 3. **Run the server:** ``` nohup tuyad > tuyad.log 2>&1 & ``` 3. **Run `tuyactl`:** To see the available commands and options, run: ```bash tuyactl --help ``` To execute a specific command, use the following syntax: ```bash tuyactl <command> [options] ``` Replace `<command>` with one of the available commands: `list`, `on`, `off`, `color`, `brightness`, `temperature`, `mode`, `music`. Use the `-- help` option to see the available options for each command. For example, to list all your Tuya devices, run: ```bash tuyactl list ``` ## Configuration * **`snapshot.json` Location:** You can customize the location of the `snapshot.json` file (containing your Tuya device keys) using environment va riables. (Details on this to be added later).