JuhongPark/mcp-server-pronunciation

JuhongPark/mcp-server-pronunciation

от juhongpark
MCP-сервер для голосового общения с ИИ-ассистентом, который в реальном времени оценивает английское произношение, грамматику и беглость. Всё работает локально — аудио не покидает устройство. Полезе...

mcp-server-pronunciation

mcp-server-pronunciation MCP server

Accuracy and safety notice

This project is a local language-learning practice tool. It may contain bugs, runtime errors, inaccurate transcripts, inaccurate pronunciation feedback, or platform-specific recording issues. Pronunciation feedback is a coaching signal, not a standardized-test, clinical, employment, or high-stakes assessment. Review outputs carefully before relying on them. See DISCLAIMER.md.

An MCP (Model Context Protocol) server that lets you talk to your MCP assistant by voice while getting English pronunciation, grammar, and fluency feedback in the same turn. Use it for casual voice chat with light coaching, or switch to drill mode when you want to practice a specific sentence.

Built for Codex CLI, Claude Desktop, Claude Code, Cursor, VS Code, and other MCP clients. Everything runs locally — audio is captured with your mic, transcribed by faster-whisper on-device, and never leaves your machine.

mcp-name: io.github.JuhongPark/pronunciation

Why

Voice MCP servers today treat speech as a typing replacement. English tutor MCP servers are text-only. This one combines the two: you speak freely, your assistant replies, and feedback on what you just said (pronunciation, grammar, fluency) surfaces inside the same tool call so the assistant can weave it into a natural reply — or stay out of the way when you're just chatting.

assess

Оценивает последнюю запись (или конкретный аудиофайл) без перезаписи. Когда передан `reference_text`, ассессор: - Выравнивает речь пользователя по словам относительно эталона (Needleman-Wunsch; одиночные удаления/вставки больше не каскадируют в фантомные замены). - Запускает принудительное выравнивание wav2vec2 CTC, чтобы проверить, какие слова из эталона пользователь действительно произнёс — уменьшает количество ошибочных транскрипций из-за смещения Whisper на редких именах собственных и доменных терминах, напрямую сверяя акустические свидетельства с эталоном. - Предоставляет пословную обратную связь на уровне фонем (ожидаемая и произнесённая IPA, слабые фонемы) из CMUdict. - Предоставляет опциональные подсказки и упражнения по произношению для профиля учащегося, если совпадает набор правил. В комплект входит профиль для корейского L1, включающий такие паттерны, как r/l, th→s, удаление конечных кластеров и вставка гласного в начале слога. - Добавляет заметки по просодии: расстановка ударений в словах, вопросительная интонация в конце повествовательных предложений, паузы хезитации внутри клаузы. Без эталона выполняются только транскрипция и просодия. Аргументы: reference_text: Ожидаемый текст, который пользователь пытался произнести (опционально). audio_path: Путь к WAV-файлу. Если не указан, используется последняя запись. Возвращает: Подробный отчёт об оценке произношения (markdown).

Assess a recorded pronunciation attempt

Оценивает последнюю запись (или конкретный аудиофайл) без перезаписи. Когда передан `reference_text`, ассессор: - Выравнивает речь пользователя по словам относительно эталона (Needleman-Wunsch; одиночные удаления/вставки больше не каскадируют в фантомные замены). - Запускает принудительное выравнивание wav2vec2 CTC, чтобы проверить, какие слова из эталона пользователь действительно произнёс — уменьшает количество ошибочных транскрипций из-за смещения Whisper на редких именах собственных и доменных терминах, напрямую сверяя акустические свидетельства с эталоном. - Предоставляет пословную обратную связь на уровне фонем (ожидаемая и произнесённая IPA, слабые фонемы) из CMUdict. - Предоставляет опциональные подсказки и упражнения по произношению для профиля учащегося, если совпадает набор правил. В комплект входит профиль для корейского L1, включающий такие паттерны, как r/l, th→s, удаление конечных кластеров и вставка гласного в начале слога. - Добавляет заметки по просодии: расстановка ударений в словах, вопросительная интонация в конце повествовательных предложений, паузы хезитации внутри клаузы. Без эталона выполняются только транскрипция и просодия. Аргументы: reference_text: Ожидаемый текст, который пользователь пытался произнести (опционально). audio_path: Путь к WAV-файлу. Если не указан, используется последняя запись. Возвращает: Подробный отчёт об оценке произношения (markdown).

Параметры

  • reference_textany

    Optional expected sentence for the recorded audio. When omitted, only transcript and general prosody feedback are returned.

  • audio_pathany

    Optional local path to a WAV file to assess. When omitted, the most recent recording from this server session is used.

check_mic

Списывает доступные устройства ввода аудио и проверяет доступ к микрофону. Используйте, если пользователь жалуется на проблемы с записью — показывает, какие устройства доступны и какое из них установлено по умолчанию. Возвращает: Список доступных микрофонов.

Check microphone devices

Списывает доступные устройства ввода аудио и проверяет доступ к микрофону. Используйте, если пользователь жалуется на проблемы с записью — показывает, какие устройства доступны и какое из них установлено по умолчанию. Возвращает: Список доступных микрофонов.

Параметры

Без параметров.

converse

Записывает речь пользователя, расшифровывает её и возвращает расшифровку и краткий отзыв по английскому. Это основной инструмент для голосовых разговоров: вызовите его, прочитайте расшифровку + отзыв, затем ответьте своими словами в разговорном ключе — вплетая отзыв естественно или упоминая его, только если это важно. Запись автоматически останавливается, когда пользователь заканчивает говорить (определение тишины). Используйте этот инструмент, когда: - Пользователь хочет пообщаться с вами голосом, а не текстом. - Пользователь хочет получать повседневный отзыв по английскому во время разговора. - Вы хотите услышать, что сказал пользователь, а не читать набранное сообщение. Для целенаправленного упражнения, где пользователь читает конкретное предложение, используйте `practice`. Args: target_hint: Опционально. Устанавливайте только если пользователь явно пытается произнести конкретную фразу (например, он спросил «как сказать X?» и вы сказали ему X). Оставьте пустым для свободной беседы. duration: Максимальная длительность записи в секундах (по умолчанию 30, макс. 120). Автоматически останавливается раньше при тишине. Возвращает: Markdown-отчёт, содержащий расшифровку речи пользователя, краткий отзыв по английскому (произношение + грамматика + беглость) и раздел 'For Claude' с рекомендациями по ответу.

Voice conversation with English feedback

Записывает речь пользователя, расшифровывает её и возвращает расшифровку и краткий отзыв по английскому. Это основной инструмент для голосовых разговоров: вызовите его, прочитайте расшифровку + отзыв, затем ответьте своими словами в разговорном ключе — вплетая отзыв естественно или упоминая его, только если это важно. Запись автоматически останавливается, когда пользователь заканчивает говорить (определение тишины). Используйте этот инструмент, когда: - Пользователь хочет пообщаться с вами голосом, а не текстом. - Пользователь хочет получать повседневный отзыв по английскому во время разговора. - Вы хотите услышать, что сказал пользователь, а не читать набранное сообщение. Для целенаправленного упражнения, где пользователь читает конкретное предложение, используйте `practice`. Args: target_hint: Опционально. Устанавливайте только если пользователь явно пытается произнести конкретную фразу (например, он спросил «как сказать X?» и вы сказали ему X). Оставьте пустым для свободной беседы. duration: Максимальная длительность записи в секундах (по умолчанию 30, макс. 120). Автоматически останавливается раньше при тишине. Возвращает: Markdown-отчёт, содержащий расшифровку речи пользователя, краткий отзыв по английскому (произношение + грамматика + беглость) и раздел 'For Claude' с рекомендациями по ответу.

Параметры

  • target_hintany

    Optional target sentence or phrase the user is trying to say. Leave null for open-ended voice conversation.

  • durationnumber

    Maximum recording duration in seconds. The server accepts 1 to 120 seconds and auto-stops earlier on silence.

practice

Drill mode: пользователь читает вслух конкретное предложение и получает подробную оценку произношения. Используйте этот режим, когда пользователь явно хочет практиковать чтение определённого предложения, а не для свободного общения. Для голосового разговора с неформальной обратной связью используйте `converse`. Запись автоматически останавливается, когда пользователь заканчивает говорить. Аргументы: reference_text: предложение, которое пользователь будет читать вслух. duration: максимальная длительность записи в секундах (по умолчанию 15, максимум 120). Возвращает: Подробный отчёт об оценке произношения.

Focused pronunciation drill

Drill mode: пользователь читает вслух конкретное предложение и получает подробную оценку произношения. Используйте этот режим, когда пользователь явно хочет практиковать чтение определённого предложения, а не для свободного общения. Для голосового разговора с неформальной обратной связью используйте `converse`. Запись автоматически останавливается, когда пользователь заканчивает говорить. Аргументы: reference_text: предложение, которое пользователь будет читать вслух. duration: максимальная длительность записи в секундах (по умолчанию 15, максимум 120). Возвращает: Подробный отчёт об оценке произношения.

Параметры

  • reference_textstringобязательный

    Exact sentence or phrase the user should read aloud for drill mode.

  • durationnumber

    Maximum recording duration in seconds. The server accepts 1 to 120 seconds and auto-stops earlier on silence.

quick_practice

Выбирает случайное предложение для отработки и сразу запускает тренировку. Объединяет `suggest_sentence` и `practice` в один шаг: выбирает предложение по заданным критериям, затем записывает и оценивает. Аргументы: focus: Область фонем. Варианты: "th", "f_v", "r_l", "vowels", "general". Если не указан, выбирается случайно. difficulty: Уровень сложности. Варианты: "beginner", "intermediate", "advanced". Если не указан, выбирается случайно. duration: Максимальная длительность записи в секундах (по умолчанию 15, максимум 120). Возвращает: Предложение для чтения, за которым следует оценка произношения.

Random pronunciation drill

Выбирает случайное предложение для отработки и сразу запускает тренировку. Объединяет `suggest_sentence` и `practice` в один шаг: выбирает предложение по заданным критериям, затем записывает и оценивает. Аргументы: focus: Область фонем. Варианты: "th", "f_v", "r_l", "vowels", "general". Если не указан, выбирается случайно. difficulty: Уровень сложности. Варианты: "beginner", "intermediate", "advanced". Если не указан, выбирается случайно. duration: Максимальная длительность записи в секундах (по умолчанию 15, максимум 120). Возвращает: Предложение для чтения, за которым следует оценка произношения.

Параметры

  • focusany

    Optional pronunciation focus filter. Use th, f_v, r_l, vowels, or general. Leave null to choose randomly.

  • difficultyany

    Optional practice difficulty filter. Use beginner, intermediate, or advanced. Leave null to choose randomly.

  • durationnumber

    Maximum recording duration in seconds. The server accepts 1 to 120 seconds and auto-stops earlier on silence.

record

Записывает аудио с микрофона без анализа. Запись автоматически останавливается, когда пользователь заканчивает говорить (детекция тишины). Длительность — это максимальное время — можно не ждать полной длительности. В большинстве случаев пользуйтесь `converse` или `practice` — они записывают И анализируют за один шаг. Используйте `record` отдельно только если нужен сырой WAV-файл. Аргументы: duration: Максимальная длительность записи в секундах (по умолчанию 10, максимум 120). Возвращает: Путь к записанному WAV-файлу.

Record microphone audio

Записывает аудио с микрофона без анализа. Запись автоматически останавливается, когда пользователь заканчивает говорить (детекция тишины). Длительность — это максимальное время — можно не ждать полной длительности. В большинстве случаев пользуйтесь `converse` или `practice` — они записывают И анализируют за один шаг. Используйте `record` отдельно только если нужен сырой WAV-файл. Аргументы: duration: Максимальная длительность записи в секундах (по умолчанию 10, максимум 120). Возвращает: Путь к записанному WAV-файлу.

Параметры

  • durationnumber

    Maximum recording duration in seconds. The server accepts 1 to 120 seconds and auto-stops earlier on silence.

retry

Повторить последнее предложение, которое тренировал пользователь. Перезаписывает и переоценивает, используя тот же эталонный текст из предыдущего вызова `practice` или `converse`. Используйте это, чтобы дать пользователю попробовать снова после получения обратной связи. Аргументы: duration: Максимальная длительность записи в секундах (по умолчанию 15, максимум 120). Возвращает: Отчет об оценке произношения для новой попытки.

Retry the last pronunciation drill

Повторить последнее предложение, которое тренировал пользователь. Перезаписывает и переоценивает, используя тот же эталонный текст из предыдущего вызова `practice` или `converse`. Используйте это, чтобы дать пользователю попробовать снова после получения обратной связи. Аргументы: duration: Максимальная длительность записи в секундах (по умолчанию 15, максимум 120). Возвращает: Отчет об оценке произношения для новой попытки.

Параметры

  • durationnumber

    Maximum recording duration in seconds. The server accepts 1 to 120 seconds and auto-stops earlier on silence.

suggest_sentence

Предложите пользователю предложение для практики, которое он сможет прочитать вслух. Аргументы: focus: Область фонетического акцента. Варианты: "th", "f_v", "r_l", "vowels", "general". Если не указано, выбирается случайно. difficulty: Уровень сложности. Варианты: "beginner", "intermediate", "advanced". Если не указано, выбирается случайно. Возвращает: Предложение для практики с указанием его фокуса и сложности.

Suggest a practice sentence

Предложите пользователю предложение для практики, которое он сможет прочитать вслух. Аргументы: focus: Область фонетического акцента. Варианты: "th", "f_v", "r_l", "vowels", "general". Если не указано, выбирается случайно. difficulty: Уровень сложности. Варианты: "beginner", "intermediate", "advanced". Если не указано, выбирается случайно. Возвращает: Предложение для практики с указанием его фокуса и сложности.

Параметры

  • focusany

    Optional pronunciation focus filter. Use th, f_v, r_l, vowels, or general. Leave null to choose randomly.

  • difficultyany

    Optional practice difficulty filter. Use beginner, intermediate, or advanced. Leave null to choose randomly.

Другие проверенные MCP-сервера

Vultr MCP

Vultr MCP

официальный

Сервер Vultr MCP позволяет AI-агентам управлять облачными ресурсами через естественный язык. Инструменты генерируются из OpenAPI, поддерживаются STDIO и HTTP, аутентификация по API ключу и OAuth. Подходит для DevOps.

Python1
debridge-finance/debridge-mcp

debridge-finance/debridge-mcp

официальный

MCP сервер deBridge для ИИ-агентов: выполняет кросс-чейн и внутрисетевые свопы, оценивает комиссии и торгует на основных блокчейнах. Упрощает взаимодействие агентов с DeFi, ускоряя развертывание торговых сценариев.

TypeScript32
jae-jae/fetcher-mcp

jae-jae/fetcher-mcp

MCP сервер для извлечения веб-контента через Playwright. Работает с динамическими сайтами, поддерживает JavaScript, умное выделение текста и пакетную загрузку. Идеален для сбора данных и разработки.

TypeScript1065
yepcode/mcp-server-js

yepcode/mcp-server-js

официальный

YepCode MCP сервер превращает YepCode-процессы в готовые инструменты для ИИ-ассистентов. Он запускает скрипты на Python или Node.js в изолированной среде, управляет параметрами через JSON Schema. Идеально для интеграции AI с бизнес-логикой — от выполнения кода до управления API.

TypeScript46
QGIS MCP

QGIS MCP

QGISMCP - MCP-сервер, соединяющий QGIS с Claude AI. Позволяет AI-ассистенту управлять проектами, слоями, выполнять алгоритмы обработки и произвольный PyQGIS-код. Идеально для автоматизации ГИС без ...

Python1029
esignaturescom/mcp-server-esignatures

esignaturescom/mcp-server-esignatures

официальный

MCP сервер eSignatures.com: создание и редактирование Markdown-контрактов, управление подписантами и шаблонами. Полезен разработчикам и AI-агентам для гибких workflows электронных подписей.

Python38
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин