Yandex Station MCP
An MCP server and Codex skill to control a Yandex Station: music, radio, volume, text commands to Alice, smart home scenarios
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- Controls a real device at home and triggers smart home scenarios
- Stores a Yandex account access token locally in a JSON file
Install
Manual install
git clone https://github.com/yasg1988/yandex-station-mcp.git
cd yandex-station-mcp
python -m venv .venv
pip install -r requirements.txtInstalling dependencies before first authorization.
This is third-party code. Review the repository files before installing.
What it does
The server uses an unofficial Yandex Station protocol modeled on the AlexxIT/YandexStation project and gives an agent the account's speaker list, text commands to Alice, speaking text and notifications at a chosen volume, playback and volume control, timers, alarms, reminders, weather and news, and running Yandex Smart Home scenarios. Authorization goes through a Yandex QR code, and tokens are saved locally to a JSON file. For cloud control the server creates or updates a service scenario in the account named like HA <device_id>.
Who it is for. For people who want to control a Yandex Station from Claude, Codex or another MCP agent: music, timers, and smart home scenarios.
Good fit when
- You want to control an Alice speaker with voice-like commands from a text agent
- You need timers, alarms, weather and news via the Station without opening the app
- You need to trigger existing Yandex Smart Home scenarios from an agent
Not a fit when
- You need an official, stable Yandex API: this is an unofficial protocol that can change at any time
- You are not willing to go through Yandex QR authorization and store a token locally
Example request
Turn on Europa Plus radio on the speaker and set the volume to 40 percentLimitations
This is an unofficial Yandex API based on reverse engineering, and it can break when Yandex changes something on its side. Tokens are stored only locally in yandex_tokens.json and must not end up in public repos. Cloud mode does not always know exactly what is playing, though it sends commands reliably. Cloud control creates a service scenario in the account named like HA <device_id>.
How to disable. Remove the yandex-station server from your MCP client config, delete the yandex_tokens.json file, and remove the HA <device_id> service scenario in the Yandex app with Alice.
MCP
- Transport
- stdio
- Authentication
- OAuth
| Environment variables | |
|---|---|
| YANDEX_TOKEN_FILE required, secret | Path to the local token file after QR authorization. |
| YANDEX_STATION_ID | Default speaker ID when there are several. |
Security check
- Controls a real device at home and triggers smart home scenarios
- Stores a Yandex account access token locally in a JSON file
README in short
The README lists the server's capabilities: speaker list, text commands, volume-aware TTS, playback control, timers, alarms, weather, news and smart home scenarios, honestly calls the protocol unofficial, and warns about token storage. It gives a venv and requirements.txt install, QR authorization, verification via a station list and a command, and a Codex connection example through config.toml.
FAQ
Is this an official Yandex API?
No, the README explicitly calls it unofficial and based on approaches from the AlexxIT/YandexStation project.
How does authorization work?
Via a QR code: the auth_qr.py script shows a link, and after signing in to Yandex a local token file is created.
Related
A self-hosted knowledge base with block-level references and a built-in MCP server for connecting AI agents to your notes
A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more
Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server
A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI