I translate work emails in French every day. For months I was copying sentences into Google Translate, getting one flat answer back, sending it, moving on. Nothing stuck. I wasn't learning registers or idioms — I was just shipping text.
The problem isn't the translation. It's that literal translation tools treat every request as a one-shot task. You ask for a phrase, you get a phrase. No sense of whether it's too casual for a client, too stiff for a colleague, or just technically correct but weirdly phrased in a way a native speaker would notice.
So I built konid — an MCP server that returns three options per query, ordered casual to formal, with the register explained and a nuance comparison between them. Supports 13+ languages including French, Japanese, Arabic, and Korean.
The difference in practice: I ask how to write a polite follow-up to a delayed supplier. I get back three versions — one I'd use with a close contact, one for a standard professional context, one for a formal or bureaucratic situation. Each one explains what makes it land at that register. I pick the one that fits, but I also now understand why the other two exist.
Audio pronunciation plays directly through speakers via node-edge-tts — no external API key, no setup beyond the install.
Adding it to Claude Code is one line:
claude mcp add konid-ai -- npx -y konid-ai
Also works in Cursor, VS Code Copilot, Windsurf, Zed, JetBrains, and Claude Cowork. If you're on ChatGPT, there's a Developer mode endpoint at https://konid.fly.dev/mcp.
MIT licensed. Source at https://github.com/robertnowell/konid-language-learning.
Top comments (0)