I translate work emails in Japanese every day. My Japanese is functional but not fluent, and for two years I used DeepL the same way I used a dictionary — paste in, copy out, move on. The problem: I had no idea if I was coming across as too blunt, too stiff, or accidentally rude. Literal translation tools give you one answer. Japanese gives you at least three, and the choice between them signals your relationship to the recipient, your seniority, and whether you've read the room.
So I built konid: a language coach that returns 3 options per query, ordered casual to formal, with the register explained and cultural context comparing the options — not just a one-line gloss.
Here's what a query looks like in Claude Code after running claude mcp add konid-ai -- npx -y konid-ai:
How do I say "I'll follow up tomorrow" in Japanese?
konid returns three options. The first is what you'd say to a colleague you eat lunch with. The third is what you'd send to a client you've met once. The middle is the safe choice if you're unsure. Each comes with a note on when it's appropriate and what using the wrong one communicates. Audio pronunciation plays directly through your speakers via node-edge-tts — no API key required.
The same principle holds for every language it supports: Mandarin, Korean, Spanish, French, German, Portuguese, Italian, Russian, Arabic, Hindi, and more (13+ total). In Korean the gap between casual and formal is grammatically enforced — the verb endings are entirely different. In Spanish the difference between "te extrañé" and "le eché de menos" is regional and relational. One answer obscures all of that.
It also installs as a ChatGPT app via Developer mode using the endpoint https://konid.fly.dev/mcp, and works in Cursor, VS Code Copilot, Windsurf, Zed, JetBrains, and Claude Cowork.
MIT licensed. Source and install instructions at github.com/robertnowell/konid-language-learning.
Top comments (0)