MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

Y
Yandex Station MCP

MCP-сервер и Codex skill для управления Яндекс Станцией

Created 6/14/2026
Updated about 4 hours ago
Repository documentation and setup instructions

Yandex Station MCP

Отдельный MCP-сервер для управления Яндекс Станцией / колонкой с Алисой: музыка, радио, громкость, пауза, следующий трек, TTS и текстовые команды Алисе.

Код использует подходы из проекта AlexxIT/YandexStation под лицензией MIT. Это неофициальный API Яндекса, поэтому он может измениться.

Что умеет

  • получить список колонок аккаунта;
  • отправить Алисе текстовую команду: включи радио Европа плюс;
  • произнести текст через колонку;
  • произнести уведомление с заданной громкостью;
  • поставить громкость;
  • play / pause / next / previous;
  • stop;
  • быстрые команды для музыки и радио.
  • таймеры, будильники, напоминания;
  • погода и новости;
  • список и запуск сценариев Яндекс Умного дома;
  • диагностика подключения без вывода токенов.

Ограничения

  • Это не официальный API Яндекса.
  • Нужна авторизация Яндекса через QR.
  • Токены хранятся только локально и не должны попадать в GitHub.
  • Для облачного управления интеграция создает/обновляет служебный сценарий в аккаунте Яндекса с именем вида ХА <device_id>.
  • Облачный режим не всегда дает точное состояние воспроизведения. Он хорошо отправляет команды, но не всегда знает, что сейчас играет.

Установка

git clone https://github.com/yasg1988/yandex-station-mcp.git
cd yandex-station-mcp
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

Авторизация через QR

python yandex_station_mcp\auth_qr.py

Скрипт покажет ссылку. Откройте ее в браузере, войдите в Яндекс и подтвердите вход. После успешного входа будет создан локальный файл:

yandex_station_mcp/yandex_tokens.json

Не публикуйте этот файл.

Проверка списка станций

python yandex_station_mcp\cli.py list

Проверка команды

python yandex_station_mcp\cli.py command "включи радио Европа плюс"

Подключение MCP в Codex

Пример C:\Users\<USER>\.codex\config.toml:

[mcp_servers.yandex-station]
command = "python"
args = ["D:\\path\\to\\yandex-station-mcp\\yandex_station_mcp\\server.py"]
startup_timeout_ms = 20000

[mcp_servers.yandex-station.env]
YANDEX_TOKEN_FILE = "D:\\path\\to\\yandex-station-mcp\\yandex_station_mcp\\yandex_tokens.json"
# YANDEX_STATION_ID = "опционально"
# YANDEX_STATION_NAME = "опционально"

Если колонок несколько, можно задать колонку по умолчанию через YANDEX_STATION_ID или YANDEX_STATION_NAME. Если переменные не заданы, используется первая доступная колонка аккаунта.

MCP tools

  • station_list
  • station_status
  • station_default
  • station_diagnostics
  • station_command
  • station_say
  • station_notify
  • station_volume
  • station_play
  • station_pause
  • station_stop
  • station_next
  • station_previous
  • station_radio
  • station_music
  • station_timer
  • station_alarm
  • station_reminder
  • station_weather
  • station_news
  • station_scenario_list
  • station_scenario_run

CLI команды

python yandex_station_mcp\cli.py list
python yandex_station_mcp\cli.py diagnostics
python yandex_station_mcp\cli.py notify "Задача завершена" --volume 0.4
python yandex_station_mcp\cli.py stop
python yandex_station_mcp\cli.py timer 10 --text "проверить духовку"
python yandex_station_mcp\cli.py alarm "7:30"
python yandex_station_mcp\cli.py reminder "купить хлеб" "завтра в 9"
python yandex_station_mcp\cli.py weather
python yandex_station_mcp\cli.py news
python yandex_station_mcp\cli.py scenarios
python yandex_station_mcp\cli.py scenario "Название сценария"

Примеры фраз для Codex

  • включи радио Европа плюс на колонке
  • сделай Алису потише
  • поставь громкость Алисы 30 процентов
  • попроси Алису включить мою волну
  • скажи через колонку: ужин готов
  • уведомь через колонку: задача завершена
  • поставь таймер на 10 минут
  • поставь будильник на 7:30
  • напомни завтра в 9 купить хлеб
  • запусти сценарий Вечер

Уведомление Codex через колонку после завершения задачи

В репозитории есть готовый hook-скрипт:

hooks/codex_stop_notify.py

Он срабатывает на событии Codex CLI Stop, ставит громкость 0.4 и произносит:

Сообщение от Кодекс: я закончил задачу

Пример блока для C:\Users\<USER>\.codex\config.toml:

[[hooks.Stop]]

[[hooks.Stop.hooks]]
type = "command"
command = 'python "D:\path\to\yandex-station-mcp\hooks\codex_stop_notify.py"'
timeout = 30
statusMessage = "Уведомляю через Яндекс Станцию"

После добавления hook откройте в Codex CLI команду /hooks и подтвердите доверие к hook-команде. Это нужно один раз после добавления или изменения hook.

Чтобы временно отключить уведомление без удаления hook, запустите Codex с переменной окружения:

$env:CODEX_YANDEX_NOTIFY_DISABLED = "1"
codex
Quick Setup
Installation guide for this server

Install Package (if required)

uvx yandex-station-mcp

Cursor configuration (mcp.json)

{ "mcpServers": { "yasg1988-yandex-station-mcp": { "command": "uvx", "args": [ "yandex-station-mcp" ] } } }