Skip to main content
Glama
anzy-renlab-ai

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

say-it CLI demo β€” kubectl, YAML, TOML, Ghostty

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 kubectl saves 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. --solo skips the tail once you've internalized it.

  • Zero deps. ~250 lines of Bash. No npm, no sudo, no surprises. Wraps the say engine 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-JoyNuQJs

Why 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

GIF

"jif" (creator says so)

Steve Wilhite, Webby Awards 2013

JSON

"jay-son"

Douglas Crockford, RailsConf 2009

GNU

"g-noo" (hard G, one syllable)

GNU Project official

Linux

"LIN-ux" (short i, schwa)

Linus Torvalds himself

LaTeX

"lay-tek" (or "lah-tek")

Leslie Lamport, official

Django

"JANG-go" (silent D)

Django FAQ

Vue

"view" (one syllable)

Evan You, Vue docs

Vite

"veet" (French for quick)

Vite docs

Knative

"KAY-native" (the K is voiced)

Knative docs

etcd

"et-cee-dee" (et-cetera-distributed)

etcd FAQ

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-word skill 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 voices

The 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 ζ€ŽδΉˆε‘ιŸ³ / θ―»δΈ€δΈ‹ X

  • how 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

Open VSX Version Open VSX Downloads

Pronounce demo β€” kubectl, YAML, Ghostty, wagmi

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/pronounce

Now 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 say engine. 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 update to pull the latest dictionary without reinstalling.

  • πŸ“š Anki export for vocabulary drills.

Contributing

Two things we want most:

  1. 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 in alt_* columns and we'll wire --alt through.

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

Optional, if it's saved you real standup pain:

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.

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

–Maintainers
5dResponse time
0dRelease cycle
10Releases (12mo)

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