mcp-server-pronunciation
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TORCH_HOME | No | Override cache location for PyTorch Hub models (used by phoneme extra). | |
| HF_HUB_CACHE | No | Override cache location for Hugging Face models. | |
| MCP_PRONUNCIATION_MODEL | No | Whisper model size. Default is base.en. Other options: tiny.en, small.en, etc. | base.en |
| MCP_PRONUNCIATION_AUDIO_RETENTION | No | Controls whether temporary recordings are kept. Values: 'session' (default) or 'keep'. | session |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| converseA | Record 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:
For a focused drill where the user reads a specific sentence, use 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. |
| practiceA | Drill 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 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. |
| retryA | Retry the last sentence the user was practicing. Re-records and re-assesses using the same reference text from the previous
Args: duration: Maximum recording duration in seconds (default 15, max 120). Returns: Pronunciation assessment report for the new attempt. |
| quick_practiceA | Pick a random practice sentence and drill it immediately. Combines 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_sentenceA | Suggest 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. |
| recordA | Record 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 Args: duration: Maximum recording duration in seconds (default 10, max 120). Returns: Path to the recorded WAV file. |
| assessA | Assess the last recording (or a specific audio file) without re-recording. When
Without a reference, only the transcript and prosody run. Args: reference_text: Expected text the user was trying to say (optional). audio_path: Path to a WAV file. Uses the last recording if not specified. Returns: Detailed pronunciation assessment report (markdown). |
| check_micA | List available audio input devices and verify microphone access. Use this if the user reports recording problems — it shows which devices are available and which one is the default. Returns: List of available microphone devices. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool has a distinct purpose: check_mic for microphone setup, record for raw audio, practice for sentence drills, assess for detailed evaluation, converse for free-form conversation, quick_practice for random drills, retry for repeating, and suggest_sentence for generating sentences. No two tools overlap significantly in functionality.
Naming conventions are mixed: some tools use single verbs (assess, converse, practice, record, retry), while others use verb_noun with underscores (check_mic, suggest_sentence) and one uses adjective_verb (quick_practice). This inconsistency reduces predictability, though the names are still clear.
8 tools is a well-scoped number for a pronunciation practice server. It covers all essential workflows—microphone check, recording, assessment, practice, conversation, retry, and sentence suggestion—without being excessive or insufficient.
The tool set covers the full domain of pronunciation practice: checking audio input, recording, assessing with or without reference, free-form conversation, focused drills, random practice, retrying, and generating practice sentences. There are no obvious gaps for the stated purpose.