SaluteSpeech MCP — распознавание и синтез русской речи для ИИ-ассистента
Если вы искали, как расшифровать созвон или голосовое сообщение в текст, озвучить текст голосом Сбера или подключить русский speech-to-text к Claude без собственного бэкенда — это оно. 5 инструментов поверх Sber SaluteSpeech API: распознавание речи (STT) и синтез речи (TTS).

Часть серии WWmcp (46 серверов) от @theYahia.
Установка
Claude Desktop
{
"mcpServers": {
"salutespeech": {
"command": "npx",
"args": ["-y", "@theyahia/salutespeech-mcp"],
"env": { "SALUTESPEECH_API_KEY": "your-base64-key" }
}
}
}
Claude Code
claude mcp add salutespeech -e SALUTESPEECH_API_KEY=your-key -- npx -y @theyahia/salutespeech-mcp
Режим Streamable HTTP
SALUTESPEECH_API_KEY=your-key npx @theyahia/salutespeech-mcp --http --port=3000
Авторизация
Три варианта (проверяются по порядку):
| Переменная | Формат |
|---|
SALUTESPEECH_API_KEY | Base64 от строки client_id:client_secret |
SALUTE_AUTH_KEY | То же самое (устаревший алиас) |
SALUTE_SPEECH_CLIENT_ID + SALUTE_SPEECH_CLIENT_SECRET | Сырые учётные данные (кодируются автоматически) |
OAuth-токены запрашиваются и обновляются автоматически. Scope по умолчанию —
SALUTE_SPEECH_PERS (физлица); для корпоративных аккаунтов задайте SALUTE_SPEECH_SCOPE
(SALUTE_SPEECH_CORP — постоплата, SALUTE_SPEECH_B2B — предоплата).
Учётные данные выдаются на developers.sber.ru.
Инструменты (5)
| Инструмент | Описание |
|---|
recognize_speech | Распознавание речи из аудио в Base64 |
synthesize_speech | Синтез речи, возвращает аудио в Base64 |
list_models | Список моделей распознавания и голосов синтеза |
get_task_status | Статус асинхронной задачи распознавания |
recognize_file | Распознавание речи из локального файла по пути |
Навыки (Skills)
skill-transcribe — пошаговый сценарий расшифровки аудио
skill-synthesize — пошаговый сценарий синтеза речи
Примеры
Расшифруй аудиофайл /tmp/meeting.wav
Озвучь «Привет, мир» голосом Bys_24000 в формате wav16
Покажи доступные голоса
Ограничения
recognize_speech и recognize_file работают через синхронный эндпоинт с лимитом
2 МБ / 1 минута аудио (файл больше — HTTP 413). Для многоканального аудио распознаётся
только первый канал. Длинные записи требуют асинхронного сценария
(data:upload → speech:async_recognize → task:get → data:download) — он пока не вынесен
в инструменты; шаг опроса статуса покрывает get_task_status.
Текст для синтеза ограничен 4000 символами (включая пробелы и SSML-разметку).
Решение проблем
self-signed certificate in certificate chain / UNABLE_TO_VERIFY_LEAF_SIGNATURE
Эндпоинты Сбера используют Russian Trusted Root CA (НУЦ Минцифры), которого нет в
дефолтном хранилище доверенных корневых сертификатов Node.js — поэтому самый первый
OAuth-запрос падает, пока вы его не добавите.
Решение: скачайте корневой сертификат (russian_trusted_root_ca_pem.crt) с
gosuslugi.ru/crt и укажите его Node.js:
export NODE_EXTRA_CA_CERTS=/path/to/russian_trusted_root_ca_pem.crt
В MCP-клиенте добавьте эту переменную в блок env сервера. Не ставьте
NODE_TLS_REJECT_UNAUTHORIZED=0 в продакшене — это полностью отключает проверку TLS.
Официальная инструкция: сертификаты SaluteSpeech.
Лицензия
MIT
Часть WWmcp · Telegram: @vhodvai