About salutespeech-mcp
salutespeech-mcp exposes Russian speech recognition and synthesis through the Sber SaluteSpeech API to MCP clients. Its five tools handle Base64 audio or local files, and also list models and voices.
Key features
- 01Recognize speech from Base64 audio
- 02Recognize speech from a local file
- 03Synthesize speech as Base64 audio
- 04List recognition models and synthesis voices
- 05Check asynchronous recognition task status
Use cases
- 01Transcribe a recorded meeting
- 02Turn text into synthesized audio
- 03Review available recognition models and voices
MCP support
The MCP server exposes five tools for the Sber SaluteSpeech API, covering speech recognition, synthesis, model listings, and task-status checks. It supports stdio and Streamable HTTP.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @theyahia/salutespeech-mcpSALUTE_AUTH_KEYSecretAPI key for the serviceLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
2Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| language | string | No | Recognition language |
| audio_base64 | string | Yes | Audio data in Base64 format |
| content_type | string | No | Audio MIME type (audio/wav, audio/ogg;codecs=opus, audio/mpeg) |
Details
From the project READMESaluteSpeech 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
# 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.
Инструменты (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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.