{"name":"io.github.JuhongPark/pronunciation","slug":"juhongpark-pronunciation","title":"Pronunciation & Voice Coach","description":"Local MCP voice coach with English pronunciation, grammar, and fluency feedback.","url":"https://mcp.market/server/juhongpark-pronunciation","rating":null,"grade":"B","score":74,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":20,"stars":3,"forks":1,"downloads_week":43,"last_push_at":"2026-05-24T05:17:37.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/JuhongPark/mcp-server-pronunciation","website":null,"version":"0.3.0","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-server-pronunciation","version":"0.3.0","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"faster-whisper model size. Default: base.en. Options: tiny.en, base.en, small.en, medium.en, large-v3, large-v3-turbo.","name":"MCP_PRONUNCIATION_MODEL"},{"description":"Override Hugging Face Hub cache directory where Whisper weights are stored.","name":"HF_HUB_CACHE"},{"description":"Set to 0, false, no, or off to disable background Whisper model preload during registry inspection or Docker smoke tests.","name":"MCP_PRONUNCIATION_PRELOAD"},{"description":"Temporary WAV retention policy. Use session to delete recordings when the server exits, or keep for manual inspection.","name":"MCP_PRONUNCIATION_AUDIO_RETENTION"},{"description":"Override PyTorch cache directory for optional wav2vec2 forced-alignment weights.","name":"TORCH_HOME"}]}],"tools":[{"name":"assess","description":"Assess the last recording (or a specific audio file) without re-recording.","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_mic","description":"List available audio input devices and verify microphone access.","write_action":false,"price_micros":0,"input_schema":null},{"name":"converse","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"practice","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"quick_practice","description":"Pick a random practice sentence and drill it immediately.","write_action":false,"price_micros":0,"input_schema":null},{"name":"record","description":"Record audio from the microphone without assessing it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"retry","description":"Retry the last sentence the user was practicing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"suggest_sentence","description":"Suggest a practice sentence the user can read aloud.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":74,"grade":"B","scanned_at":"2026-09-27T21:49:10.990Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:49:10.958Z","components":{"code":{"score":20,"max":25,"notes":["16 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":8,"max":15,"notes":["last push 127 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"mcp_server_pronunciation-0.3.0/src/mcp_server_pronunciation/forced_align.py: …iled, using fp32: %s\", e) model.eval() _MODEL = model _LABELS…"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"mcp-server-pronunciation","version":"0.3.0","found":true,"weeklyDownloads":43,"license":"MIT","dependencyCount":12,"publishedAt":"2026-05-03T03:26:23.357317Z","repositoryUrl":"https://github.com/JuhongPark/mcp-server-pronunciation"}],"repo":{"found":true,"owner":"JuhongPark","repo":"mcp-server-pronunciation","archived":false,"pushedAt":"2026-05-24T05:17:37Z","stars":3,"forks":1,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/7048764?v=4","ownerCreatedAt":"2014-03-24T15:34:40Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/7048764?v=4&s=128","source":"github"},"presence":{"stars":3,"forks":1,"downloadsWeek":43,"license":"MIT","lastPushAt":"2026-05-24T05:17:37.000Z","score":20}}}},"grade_history":[],"reviews":[]}