Skip to main content

MCP server for the Yandex Smart Home (IoT) API: list and control devices, run scenarios, power-cycle smart sockets

Project description

yandex-iot-mcp

MCP (Model Context Protocol) server for the Yandex Smart Home IoT API (API reference). Lets AI assistants (Claude Code, Claude Desktop, and any other MCP client) inspect and control devices connected to Yandex Smart Home / Alice.

Tools

Tool Description
list_devices All devices with rooms, types, capabilities and sensor values
list_groups Device groups from the Yandex Home app
get_device Full state of one device, including online/offline
turn_on / turn_off On/off for sockets, lights, switches
power_cycle Off → wait N seconds → on. Hard-reset gear plugged into a smart socket
device_action Any capability action (range, mode, toggle, color_setting…)
list_scenarios / run_scenario Inspect and trigger scenarios

Getting an OAuth token

  1. Create an app at oauth.yandex.ru: platform Web services, redirect URI https://oauth.yandex.ru/verification_code.
  2. Grant it the iot:view and iot:control permissions ("Умный дом").
  3. Open https://oauth.yandex.ru/authorize?response_type=token&client_id=<CLIENT_ID> in a browser, authorize, and copy access_token from the address bar.

Usage

Claude Code

claude mcp add yandex-iot --env YANDEX_IOT_TOKEN=<token> -- uvx yandex-iot-mcp

Claude Desktop

{
  "mcpServers": {
    "yandex-iot": {
      "command": "uvx",
      "args": ["yandex-iot-mcp"],
      "env": { "YANDEX_IOT_TOKEN": "<token>" }
    }
  }
}

Example

"The server is frozen again — power-cycle the socket it's plugged into."

The assistant finds the socket via list_devices and calls power_cycle(device_id, off_seconds=10).

From source

uvx --from git+https://github.com/ssubbotin/yandex-iot-mcp yandex-iot-mcp

Development

uv sync
uv run pytest
YANDEX_IOT_TOKEN=<token> uv run yandex-iot-mcp

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yandex_iot_mcp-0.1.1.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yandex_iot_mcp-0.1.1-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file yandex_iot_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: yandex_iot_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for yandex_iot_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1927e2ec0bb1156f6329be449a6b8ae06eb32709f330fa0d4eb13cf5fc0b6397
MD5 0c82ffb65934ce3465eb776eb45ee6bf
BLAKE2b-256 e62b61e580ba8246651ba3d0dd22dfdfb2b6e56e285bb87524a1bfccc870e8d7

See more details on using hashes here.

File details

Details for the file yandex_iot_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: yandex_iot_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for yandex_iot_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 48004cdd02a171f0b65d23d6bc539f19a62a6fd4f68b817940e2aaea185ef61e
MD5 23f9f9b9f727ec01ca272a165f25432f
BLAKE2b-256 5929660e767609ba42444cfbe9425b42b0a3294e40bc6e55a5bbbaeabdb3c754

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page