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).

Оценивает записанную попытку произношения

Параметры
  • audio_pathstring | null

    Необязательный локальный путь к WAV-файлу для оценки. Если параметр опущен, используется последняя запись из этой серверной сессии.

  • reference_textstring | null

    Необязательное ожидаемое предложение для записанного аудио. Если оно опущено, возвращаются только транскрипт и общая обратная связь по просодии.

check_mic

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

Проверить устройства микрофона

Параметры

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

converse

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

Голосовой разговор с обратной связью на английском языке

Параметры
  • durationnumber

    Максимальная длительность записи в секундах. Сервер принимает значения от 1 до 120 секунд и автоматически останавливается раньше при тишине.

  • target_hintstring | null

    Необязательное целевое предложение или фраза, которую пользователь пытается сказать. Оставьте значение null для свободного голосового разговора.

practice

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

Целенаправленная тренировка произношения

Параметры
  • durationnumber

    Максимальная длительность записи в секундах. Сервер принимает значения от 1 до 120 секунд и автоматически останавливается раньше при тишине.

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

    Точное предложение или фраза, которую пользователь должен прочитать вслух в режиме тренировки.

quick_practice

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

Случайное упражнение на произношение

Параметры
  • difficultyenum | null

    Необязательный фильтр сложности практики. Используйте beginner, intermediate или advanced. Оставьте null, чтобы выбрать случайно.

  • durationnumber

    Максимальная длительность записи в секундах. Сервер принимает значения от 1 до 120 секунд и автоматически останавливается раньше при тишине.

  • focusenum | null

    Необязательный фильтр фокуса произношения. Используйте th, f_v, r_l, vowels или general. Оставьте null, чтобы выбрать случайно.

record

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

Записать аудио с микрофона

Параметры
  • durationnumber

    Максимальная длительность записи в секундах. Сервер принимает значения от 1 до 120 секунд и автоматически останавливается раньше при тишине.

retry

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

Повтори последнее упражнение по произношению.

Параметры
  • durationnumber

    Максимальная длительность записи в секундах. Сервер принимает значения от 1 до 120 секунд и автоматически останавливается раньше при тишине.

suggest_sentence

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

На дворе трава, на траве дрова.

Параметры
  • difficultyenum | null

    Необязательный фильтр сложности практики. Используйте beginner, intermediate или advanced. Оставьте null, чтобы выбрать случайно.

  • focusenum | null

    Необязательный фильтр фокуса произношения. Используйте th, f_v, r_l, vowels или general. Оставьте null, чтобы выбрать случайно.

0.3.0основная
0.3.0b3
0.3.0b2
0.3.0b1

Выберите клиент, чтобы установить JuhongPark/mcp-server-pronunciation:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "juhongpark-mcp-server-pronunciation-q1hzkku2rd": {
      "command": "uvx",
      "args": [
        "mcp-server-pronunciation"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "juhongpark-mcp-server-pronunciation-q1hzkku2rd": {
      "command": "uvx",
      "args": [
        "mcp-server-pronunciation"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "juhongpark-mcp-server-pronunciation-q1hzkku2rd": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-server-pronunciation"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"juhongpark-mcp-server-pronunciation-q1hzkku2rd\",\"type\":\"stdio\",\"command\":\"uvx\",\"args\":[\"mcp-server-pronunciation\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "juhongpark-mcp-server-pronunciation-q1hzkku2rd": {
      "command": "uvx",
      "args": [
        "mcp-server-pronunciation"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add juhongpark-mcp-server-pronunciation-q1hzkku2rd -- uvx mcp-server-pronunciation

Либо через JSON-конфиг:

claude mcp add-json juhongpark-mcp-server-pronunciation-q1hzkku2rd "{\"command\":\"uvx\",\"args\":[\"mcp-server-pronunciation\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add juhongpark-mcp-server-pronunciation-q1hzkku2rd -- uvx mcp-server-pronunciation

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.juhongpark-mcp-server-pronunciation-q1hzkku2rd]
command = "uvx"
args = ["mcp-server-pronunciation"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите JuhongPark/mcp-server-pronunciation, а в поле команды запуска — строку ниже:
uvx mcp-server-pronunciation

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "juhongpark-mcp-server-pronunciation-q1hzkku2rd": {
      "command": "uvx",
      "args": [
        "mcp-server-pronunciation"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "juhongpark-mcp-server-pronunciation-q1hzkku2rd": {
      "command": "uvx",
      "args": [
        "mcp-server-pronunciation"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например juhongpark-mcp-server-pronunciation-q1hzkku2rd.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: juhongpark-mcp-server-pronunciation-q1hzkku2rd
    command: uvx
    args:
      - "mcp-server-pronunciation"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "juhongpark-mcp-server-pronunciation-q1hzkku2rd": {
      "command": "uvx",
      "args": [
        "mcp-server-pronunciation"
      ]
    }
  }
}

Похожие MCP-сервера

mbailey/voice-mcp

mbailey/voice-mcp

от mbailey

VoiceMode добавляет в Claude Code голосовое общение. Разговаривайте с ИИ-агентом вслух, когда печатать неудобно: на прогулке, за готовкой или давая глазам отдых. Поддерживает локальные модели для п...

Python⭐ 1410
mohitbadwal/ringback

mohitbadwal/ringback

от mohitbadwal

MCP-сервер ringback позволяет AI-агенту звонить на ваш телефон и вести двусторонний голосовой диалог с поддержкой прерывания речи (barge-in). Работает на бесплатных self-hosted компонентах (Whisper, Piper TTS, SIP). Полезен разработчикам, которым нужна голосовая связь с ИИ в реальном времени.

Python⭐ 25
RohanMuppa/brightspace-mcp-server

RohanMuppa/brightspace-mcp-server

от rohanmuppa

MCP сервер для прямого доступа к курсам Brightspace через ИИ-ассистентов. Позволяет запрашивать оценки, дедлайны и объявления. Полезен студентам, работающим с Claude, ChatGPT или Cursor в вузах, использующих D2L.

TypeScript⭐ 59
supertone-inc/supertone-mcp

supertone-inc/supertone-mcp

от supertone-inc

MCP-сервер для Supertone TTS с набором композитных инструментов: синтез речи, поиск и клонирование голосов, предсказание длительности, управление кредитами. Поддерживает 31 язык, настройки темпа, тона и эмоций. Полезен разработчикам для интеграции голосового вывода в LLM-клиенты (Claude Desktop, ...

Python⭐ 4
eviscerations/whisper-windows-mcp

eviscerations/whisper-windows-mcp

от eviscerations

Локальная транскрипция аудио и видео на Windows через whisper.cpp с GPU-ускорением (Vulkan). Интегрируется с Claude Desktop, поддерживает batch-обработку, субтитры и приватный режим. Ни один файл н...

TypeScript⭐ 1
waxberry-dev/live-translate-mcp

waxberry-dev/live-translate-mcp

от waxberry-dev

live-translate-mcp даёт Claude возможность слышать, переводить и говорить. Аудио транскрибируется локально (Whisper), переводится Claude API, синтезируется голос (Piper TTS). Полезен для живого пер...

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

Лука Никитин