Pronounce / pronounce-mcp

Pronounce / pronounce-mcp

Look up how engineers actually pronounce project / product / jargon names (kubectl, nginx, JSON, Pydantic, JWT) β€” 1452+ entries with IPA, respelling, source citation, and confidence level.

Category
Visit Server

README

<h1 align="center">πŸ”Š say-it Β· Pronounce</h1>

<p align="center"><strong>Stop saying "kub-cuttle". One Bash command pronounces 1200+ developer jargon names β€” with cited sources.</strong></p>

<p align="center"> <a href="https://github.com/anzy-renlab-ai/pronounce/stargazers"><img src="https://img.shields.io/github/stars/anzy-renlab-ai/pronounce?style=social" alt="GitHub stars"></a> <a href="https://pronounce.renlab.ai"><img src="https://img.shields.io/badge/live-pronounce.renlab.ai-7adfbb?logo=safari&logoColor=white" alt="Live site"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a> <a href="https://pronounce.renlab.ai/browse.html"><img src="https://img.shields.io/badge/dictionary-1548%20entries-8fd694" alt="Entries"></a> <a href="https://marketplace.visualstudio.com/items?itemName=sayit.pronounce"><img src="https://img.shields.io/visual-studio-marketplace/v/sayit.pronounce?label=VS%20Code&color=007ACC&logo=visualstudiocode" alt="VS Code Marketplace"></a> <a href="https://open-vsx.org/extension/sayit/pronounce"><img src="https://img.shields.io/open-vsx/v/sayit/pronounce?label=Open%20VSX&color=8fd694" alt="Open VSX"></a> </p>

<p align="center"> 🌐 <a href="https://pronounce.renlab.ai"><strong>pronounce.renlab.ai</strong></a> Β· πŸ‡¨πŸ‡³ <a href="https://pronounce.renlab.ai/zh.html" hreflang="zh-Hans">δΈ­ζ–‡</a> Β· πŸ“– <a href="https://pronounce.renlab.ai/browse.html">Browse</a> Β· 🎯 <a href="https://pronounce.renlab.ai/quiz.html">Quiz</a> Β· 🎀 <a href="https://pronounce.renlab.ai/#hero-search">Voice search</a> Β· πŸ”Œ <a href="mcp-server/">MCP server</a> </p>

<p align="center"><img src="https://pronounce.renlab.ai/demo.gif" alt="say-it kubectl β€” terminal demo" width="720"></p>

<p align="center"> <a href="https://github.com/anzy-renlab-ai/pronounce/releases/download/v2.5.0/promo.mp4"><strong>β–Ά Watch the 47-second promo</strong> (with voice)</a> Β· <a href="https://pronounce.renlab.ai/quiz.html">🎯 Try the quiz</a> Β· <a href="https://pronounce.renlab.ai/#hero-search">🎀 Voice search</a> </p>


πŸš€ 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.

<p align="center"><a href="https://star-history.com/#anzy-renlab-ai/pronounce&Date"><img src="https://api.star-history.com/svg?repos=anzy-renlab-ai/pronounce&type=Date" alt="Star history" width="600"></a></p>


What you're actually getting

  • 1548 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 1548-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 1548 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 1548-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, 1548 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

<a href="https://github.com/anzy-renlab-ai/pronounce/graphs/contributors"><img src="https://contrib.rocks/image?repo=anzy-renlab-ai/pronounce" alt="Contributors"></a>

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured