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. 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 --from git+https://github.com/ssubbotin/yandex-iot-mcp yandex-iot-mcp

Claude Desktop

{
  "mcpServers": {
    "yandex-iot": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/ssubbotin/yandex-iot-mcp", "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).

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.0.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.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: yandex_iot_mcp-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 afb4f3a208bbbf6604fe907022e3ad99722ebdfa6dfb24543dfa3722ef3906d6
MD5 77c61dc7edc0a129db0155adfbd76df2
BLAKE2b-256 8d4e6ccaabab2ad5cbf059f12697dd699bf2a7b9a31b686234a222324db4ed8a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yandex_iot_mcp-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0893b0b6e5284db61272804ab72310e37e14e4354e6939d76d7ec67564c44811
MD5 6ee7612d4511b44900e707e4904586db
BLAKE2b-256 552ddeafa8ac1e0a3497e63e54ec87a6601f81a5c8d6e34979cd66fcafebd832

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