Pronounce / pronounce-mcp
π Try it in 30 seconds
git clone https://github.com/anzy-renlab-ai/pronounce.git
cd pronounce && ./install.sh
say-it kubectl
That's it. Now try say-it GIF, say-it nginx, say-it Pydantic, say-it --why JSON, or say-it quiz for a 10-question challenge. Linux users: install espeak-ng (sudo apt install espeak-ng) and the CLI just works. Windows: same CLI under WSL or git-bash + PowerShell. Or skip install and use the browser at pronounce.renlab.ai.
β If
say-it kubectlsaves you one cringey standup moment β star the repo. It nudges more devs to contribute their favorite mispronounced project name.
What you're actually getting
1452 entries, every one sourced. Confidence-tagged (
creator-clarified/community-consensus/contested) with a citable URL where one exists. Wilhite said GIF is "jif" at the 2013 Webby Awards. Crockford says JSON is "JAY-son" (RailsConf 2009). RFC 7519 says JWT is "jot". The dictionary cites them.Multi-reading audio. For words where the debate is real β GIF, SQL, GUI, char, regex β the CLI chains the alternates after the primary with a spoken "or:" so you hear the debate without staring at the terminal.
--soloskips the tail once you've internalized it.Zero deps. ~250 lines of Bash. No npm, no sudo, no surprises. Wraps the
sayengine that's already on your Mac. Ships a Claude Code skill and an MCP server so your AI answers "how do you pronounce X?" with audio, not a phonetic guess.
$ say-it --why JSON
word JSON
ipa /ΛdΚeΙͺsΙn/
respelling_us jay son
source Douglas Crockford (RailsConf 2009)
url https://www.youtube.com/watch?v=-C-JoyNuQJsWhy not just Google?
Because Google gives you 47 Reddit arguments and a YouTube clip you have to unmute. IPA gives you /ΛkuΛb kΙnΛtroΚl/ β a reference, not a teacher.
You don't need a phonetic transcription. You need to hear the word. Twice. Maybe three times. Done.
say-it ships a community-maintained dictionary of how engineers actually say the names that trip everyone up β and feeds the intended respelling to your OS's text-to-speech engine, so kubectl comes out as koob-control, not whatever your computer guessed from the letters.
Famous moments
Some pronunciations aren't opinions β the creators settled them. The dictionary cites every one:
Word | Reading | Source |
| "jif" (creator says so) | |
| "jay-son" | |
| "g-noo" (hard G, one syllable) | |
| "LIN-ux" (short i, schwa) | |
| "lay-tek" (or "lah-tek") | |
| "JANG-go" (silent D) | |
| "view" (one syllable) | |
| "veet" (French for quick) | |
| "KAY-native" (the K is voiced) | |
| "et-cee-dee" (et-cetera-distributed) |
Every dictionary entry includes a source_url. Run say-it --why <word> to see it.
Install (macOS)
The "Try it in 30 seconds" block above has the full install. ./install.sh drops:
the CLI at
~/.local/bin/say-it,the pronunciation dictionary at
~/.local/share/say-it/pronunciations.tsv,if you use Claude Code, a
pronounce-wordskill at~/.claude/skills/pronounce-word/so any "how do you say X?" prompt to your AI gets answered with audio instead of IPA.
Make sure ~/.local/bin is on your $PATH. Linux also works β install espeak-ng (sudo apt install espeak-ng / brew install espeak-ng). Windows: WSL or git-bash + PowerShell. Or skip install entirely with the browser version at pronounce.renlab.ai.
Usage
say-it kubectl # primary Γ 3, then "or: <alt>" for each alternate
say-it --solo kubectl # primary only β silence the "or:" tail
say-it --alt GIF # focus on the first alternate
say-it --alt 2 GUI # focus on the Nth alternate (1-indexed)
say-it --all SQL # primary AND every alternate, each repeated
say-it --no-dict kubectl # bypass the dictionary entirely
say-it --why JSON # show IPA, source URL, category, confidence
say-it list # every word in the dictionary
say-it search redis # grep the dictionary (case-insensitive)
say-it -n 5 Pydantic # 5 repetitions instead of 3
say-it -r 130 Knative # slower (130 wpm; default is 175)
say-it -o /tmp/word.aiff Postgres # save to file instead of playing
say-it --list # all macOS voicesThe default voice is Samantha (General American). Pass -v <voice> for any other macOS voice β but the dictionary is GenAm-only, by design.
Claude Code integration
You: kubectl ζδΉθ―»οΌ
Claude: π (plays "koob-control" three times)
/ΛkuΛb kΙnΛtroΚl/ β "KOOB-control". Kelsey Hightower says it
this way (KubeCon talk). "Cube-cuddle" is an alternate β
try `say-it --alt kubectl` to hear it.Once installed, the pronounce-word skill auto-triggers on:
X ζδΉθ―»/X ζδΉει³/θ―»δΈδΈ Xhow do you pronounce X/pronounce X/how do you say X
Your AI replies with sound, not just a phonetic guess. Skill file: skills/pronounce-word/SKILL.md.
VS Code extension

Hover over any tech word in any file β see the IPA, hear the pronunciation. Same 1452-entry dictionary as the CLI, JSON-bundled at build (zero runtime parse cost).
# Cursor / VSCodium / Zed / Gitpod / Theia / code-server (Open VSX)
code --install-extension sayit.pronounce
# or the listing: https://open-vsx.org/extension/sayit/pronounceNow live on Microsoft Marketplace too: ext install sayit.pronounce in VS Code. See marketplace listing.
Hover over
kubectl,YAML,Ghostty,wagmiβ¦ β tooltip with IPA + π Play + β Star link.ββ§' β speak selection.
Status bar
π sayitβ click to speak the current selection.Welcome walkthrough β 4-step onboarding on first install.
Pronounce: Search dictionaryβ¦β fuzzy-find all 1452 entries.
Source: integrations/vscode/. Cross-platform as of v0.3 β macOS say, Linux espeak-ng, Windows PowerShell.
Chrome / Edge / Brave extension
Click any tech word on any webpage β popup with IPA + audio. Same 1452-entry dictionary; same Web Speech API as pronounce.renlab.ai. Sideload only for now (not yet on Chrome Web Store).
Download pronounce-chrome-0.1.0.zip from the latest release β unzip β chrome://extensions/ β Developer mode β Load unpacked.
Source: integrations/chrome/.
How the dictionary works
data/pronunciations.tsv is the single source of truth β tab-separated, 1452 entries, covering:
Cloud / DevOps:
kubectl,nginx,Kubernetes,helm,Istio,Envoy,Prometheus,Grafana,Terraform,Argo,Knative,etcd,containerd,runc,Podman, ...Languages / Frameworks:
Django,Vue,Vite,Pydantic,Bun,Deno,Hugo,Hono,Caddy,Svelte,Astro,Pinia, ...Databases:
PostgreSQL,Postgres,SQLite,MySQL,MongoDB,Cassandra,Redis,Ceph,ScyllaDB,ClickHouse,DuckDB, ...CS jargon / acronyms:
GIF,JSON,SQL,GUI,GNU,char,regex,sudo,tmux,chmod,WYSIWYG,ASCII,enum,NaN,SaaS,PaaS, ...Distros / tools:
Linux,Debian,Ubuntu,Arch,Nix,LaTeX,TeX,emacs,zsh, ...
Each entry has 10 columns: word | ipa | phon_us | alt_ipa | alt_phon_us | source_url | source_label | category | confidence | notes. The phon_us column is Apple's Speech Synthesis phoneme set, injected into say via [[inpt PHON]]β¦[[inpt TEXT]]. This is what gives the intended reading rather than whatever the TTS would have inferred from the letters.
Local override: drop a ~/.config/say-it/pronunciations.local.tsv and it takes precedence.
What works today
β macOS β any word, via the built-in
sayengine. Zero dependencies.β 993 project / product / jargon entries with cited sources.
β Audible multi-reading awareness β contested words audibly chain alternates with "or:".
β
--alt [N],--all,--solo,--why,--json,--md,--no-dict,list,search,quiz,repl,stream,doctor,export,benchmark,badge,cheatsheet.β Claude Code skill + MCP server for AI-side pronunciation questions.
β Browser PWA β installable, offline-capable, instant search, voice-mic search, interactive quiz.
β Editor integrations β Raycast, Alfred, VS Code, Cursor, Codex, Continue.
β π Live site β pronounce.renlab.ai (every word browsable, audio, source citation) + /zh.html (Chinese landing).
What's coming
See DESIGN.md for the architecture.
πͺ Windows support via PowerShell +
System.Speech.SpeechSynthesizer, same CLI flags.βοΈ Cloud TTS (opt-in ElevenLabs / OpenAI) for the names native TTS still mangles.
π§ Linux backend (
espeak-ng, then cloud).π
say-it updateto pull the latest dictionary without reinstalling.π Anki export for vocabulary drills.
Contributing
Two things we want most:
Pronunciation entries. Open a PR adding a row to
data/pronunciations.tsv. Required columns:word,ipa,phon_us. Highly preferred:source_url(creator interview, conf talk, official FAQ β anything verifiable). Contested readings are welcome; put the rival inalt_*columns and we'll wire--altthrough.Non-Mac backends. Windows and Linux are top priority. See
DESIGN.mdΒ§Backends.
Keep it tiny. Keep it dep-free where possible. Keep the defaults opinionated (3 reps, GenAm, Samantha voice).
β Support β start with a star
The dictionary is free and MIT. The single highest-leverage thing you can do is star the repo β it's the signal that pulls in more contributors, more PRs, more creator-clarified entries.
β Star on GitHub β β one click, no signup, biggest effect.
Optional, if it's saved you real standup pain:
β Coffee on Ko-fi β pays for one new entry per cup.
π Sponsor on GitHub β recurring tier (pending Sponsors approval).
Dollars cover hosting (Vercel/Cloudflare/Open VSX), domain renewals, MiniMax narration credits for promo videos, and time to track down creator citations for new entries.
Contributors
Every entry, source upgrade, and skill fix counts. Open a PR β your face shows up here.
License
MIT β see LICENSE.
IPA is a reference. Audio is a teacher.
This server cannot be installed
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anzy-renlab-ai/pronounce'
If you have feedback or need assistance with the MCP directory API, please join our Discord server