MCP server for Sber SaluteSpeech API — speech recognition and synthesis.
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y @theyahia/salutespeech-mcp
MCP client config
{
"mcpServers": {
"salutespeech": {
"command": "npx",
"args": [
"-y",
"@theyahia/salutespeech-mcp"
]
}
}
}Если вы искали, как расшифровать созвон или голосовое сообщение в текст, озвучить текст голосом Сбера или подключить русский speech-to-text к Claude без собственного бэкенда — это оно. 5 инструментов поверх Sber SaluteSpeech API: распознавание речи (STT) и синтез речи (TTS).
Часть серии WWmcp (46 серверов) от @theYahia.
{
"mcpServers": {
"salutespeech": {
"command": "npx",
"args": ["-y", "@theyahia/salutespeech-mcp"],
"env": { "SALUTESPEECH_API_KEY": "your-base64-key" }
}
}
}
claude mcp add salutespeech -e SALUTESPEECH_API_KEY=your-key -- npx -y @theyahia/salutespeech-mcp
SALUTESPEECH_API_KEY=your-key npx @theyahia/salutespeech-mcp --http --port=3000
# POST http://localhost:3000/mcp
# GET http://localhost:3000/health
Три варианта (проверяются по порядку):
| Переменная | Формат |
|---|---|
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.
| Инструмент | Описание |
|---|---|
recognize_speech | Распознавание речи из аудио в Base64 |
synthesize_speech | Синтез речи, возвращает аудио в Base64 |
list_models | Список моделей распознавания и голосов синтеза |
get_task_status | Статус асинхронной задачи распознавания |
recognize_file | Распознавание речи из локального файла по пути |
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