Local voice practice for English conversation, pronunciation drills, phoneme feedback, grammar, fluency, and microphone checks.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
This server is confirmed live β we successfully called its tools/list endpoint directly (see the verified badge above). We haven't yet sandbox-tested the stdio install command below specifically, which is a separate, ongoing check.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by MCP Server Pronunciation.
converseRecord the user speaking, transcribe it, and return the transcript plus quick English feedback. This is the primary tool for voice conversations: call it, read the transcript + feedback, then respond conversationally in your own words β weaving the feedback in naturally or mentioning it only if it matters. Recording auto-stops when the user finishes speaking (silence detection). Use this tool when: - The user wants to chat with you by voice instead of typing - The user wants casual English feedback while talking with you - You want to hear what the user said rather than read a typed message For a focused drill where the user reads a specific sentence, use `practice` instead. Args: target_hint: Optional. Only set this if the user is explicitly trying to say a specific sentence (e.g. they asked "how do I say X?" and you told them X). Leave blank for free-form conversation. duration: Maximum recording duration in seconds (default 30, max 120). Auto-stops earlier on silence. Returns: Markdown report containing the user's transcript, brief English feedback (pronunciation + grammar + fluency), and a 'For Claude' section with guidance on how to respond.
practiceDrill mode: the user reads a specific sentence aloud and gets a detailed pronunciation assessment. Use this when the user explicitly wants to practice reading a particular sentence, not for free-form chat. For voice conversation with casual feedback, use `converse` instead. Recording auto-stops when the user finishes speaking. Args: reference_text: The sentence the user will read aloud. duration: Maximum recording duration in seconds (default 15, max 120). Returns: Detailed pronunciation assessment report.
retryRetry the last sentence the user was practicing. Re-records and re-assesses using the same reference text from the previous `practice` or `converse` call. Use this to let the user try again after getting feedback. Args: duration: Maximum recording duration in seconds (default 15, max 120). Returns: Pronunciation assessment report for the new attempt.
quick_practicePick a random practice sentence and drill it immediately. Combines `suggest_sentence` + `practice` into one step: picks a sentence matching the criteria, then records and assesses. Args: focus: Phoneme focus area. Options: "th", "f_v", "r_l", "vowels", "general". If not specified, picks randomly. difficulty: Difficulty level. Options: "beginner", "intermediate", "advanced". If not specified, picks randomly. duration: Maximum recording duration in seconds (default 15, max 120). Returns: The sentence to read, followed by the pronunciation assessment.
suggest_sentenceSuggest a practice sentence the user can read aloud. Args: focus: Phoneme focus area. Options: "th", "f_v", "r_l", "vowels", "general". If not specified, picks randomly. difficulty: Difficulty level. Options: "beginner", "intermediate", "advanced". If not specified, picks randomly. Returns: A practice sentence with its focus area and difficulty.
recordRecord audio from the microphone without assessing it. Recording auto-stops when the user finishes speaking (silence detection). The duration is the maximum time β you don't have to wait the full duration. Most of the time prefer `converse` or `practice`, which record AND analyze in one step. Only use `record` alone if you want the raw WAV file. Args: duration: Maximum recording duration in seconds (default 10, max 120). Returns: Path to the recorded WAV file.
JuhongPark/mcp-server-pronunciation MCP server turns microphone input into English-learning feedback for an MCP assistant. The converse tool is intended for open-ended voice chat: it records until silence or the duration limit, transcribes the speech, and returns brief pronunciation, grammar, and fluency notes along with guidance for the assistant. The practice tool is intended for reading a supplied sentence and produces a more detailed pronunciation assessment.
For targeted practice, suggest_sentence selects a sentence by phoneme focus and difficulty, while quick_practice selects one and immediately records the learner. retry repeats the most recent practice target. The available focus values are th, f_v, r_l, vowels, and general; difficulty values are beginner, intermediate, and advanced.
Audio is captured from the local microphone and processed on the userβs machine. The default transcription model is faster-whisper, and the README states that recorded audio does not leave the machine. Recordings stop automatically after detected silence, although each recording tool also accepts a maximum duration.
When a reference sentence is supplied, the assessment aligns the spoken words with the expected text and can report expected versus produced IPA, weak phonemes, prosody observations, and learner-profile hints. The bundled profile includes Korean-L1 patterns such as r/l confusion, th-to-s substitutions, final cluster deletion, and an intrusive onset vowel. With the optional [phoneme] installation, wav2vec2 CTC forced alignment provides an additional acoustic check intended to reduce transcription-related errors for unusual names and domain terms. Without a reference sentence, assess reports the transcript and prosody information rather than a full word-level pronunciation comparison.
The project requires Python 3.11 or newer and a working microphone. The documented launcher is uvx mcp-server-pronunciation; it can also be installed with pip or as a uv tool. Linux users may need to install PortAudio through their system package manager. The default Whisper model uses about 150 MB of disk space, and the optional phoneme extra requires additional model storage.
Run uvx mcp-server-pronunciation doctor to check the environment before connecting an MCP client. pull-model base.en can pre-download the default model. MCP client examples are provided for Claude Desktop, Cursor, Codex CLI, Claude Code, and VS Code. The JuhongPark/mcp-server-pronunciation MCP server runs over stdio in these configurations.
converse: record, transcribe, and provide quick conversational feedback.practice: assess reading of a specified sentence.quick_practice: choose a sentence and start a drill.retry: record the previous practice sentence again.suggest_sentence: return a sentence with its focus and difficulty.record: save an unassessed microphone recording as a WAV file.assess: analyze the latest recording or a specified WAV file.check_mic: list available input devices and identify the default microphone.Assessment results include rendered reports and structured values such as transcript, clarity percentage, speaking rate, top issue, next action, and retry comparison. The project also supports macOS, Linux, Windows, and WSL2 according to the README.
Feedback is a coaching signal, not a standardized-test, clinical, employment, or other high-stakes assessment. The README warns that transcripts, pronunciation results, recording behavior, and runtime stability may be inaccurate or platform-dependent. A microphone is required for recording features, and the optional forced-alignment functionality adds dependencies and model storage. The JuhongPark/mcp-server-pronunciation MCP server currently documents a Korean-L1 learner profile; additional learner profiles are not described as built in.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/juhongpark-mcp-server-pronunciation)<a href="https://allmcps.com/mcp/juhongpark-mcp-server-pronunciation"><img src="https://allmcps.com/api/badge/juhongpark-mcp-server-pronunciation?style=directory" alt="MCP Server Pronunciation on AllMCPs" /></a>