When one translation isn't enough: building a language coach as an MCP server

작성자

카테고리:

← 피드로
DEV Community · J Now · 2026-06-25 개발(SW)

J Now

I wanted to tell my girlfriend ‘I missed you today’ in Farsi and have it sound like something a person would actually say, not a phrase pulled from a travel guide. Every tool I tried — Google Translate, DeepL — gave me one answer. No register. No note on whether it was too formal for a text message or too casual for a letter. Just a string of words and the implication that language has one correct answer per sentence.

So I built konid: it returns three options for anything you want to say, ordered casual to formal, each with the register explained and the cultural nuance between them described. It also plays audio pronunciation through your speakers directly, using node-edge-tts — no API key, no copy-pasting into a separate tab.

The interesting engineering constraint was deployment target. I wanted this to live where I already work, not in a separate browser tab I forget to use. That meant MCP.

A single MCP server running at https://konid.fly.dev/mcp now serves four clients without any client-specific code:

# Claude Code
claude mcp add konid-ai -- npx -y konid-ai

# ChatGPT (Developer mode, Actions)
# endpoint: https://konid.fly.dev/mcp

Enter fullscreen mode Exit fullscreen mode

Cursor, VS Code Copilot, Windsurf, Zed, JetBrains, and Claude Cowork all connect the same way. The server doesn’t know or care which client called it.

The output structure for a query like ‘I missed you today’ in Japanese looks roughly like this:

Option 1 (casual): 今日会いたかった
  Register: intimate, fine for close friends or a partner
  Note: dropping the subject is natural here; adding あなたに would feel stiff

Option 2 (neutral): 今日、あなたのことが恋しかったです
  Register: polite, appropriate for someone you're close to but addressing respectfully

Option 3 (formal): 本日はお会いできず、寂しく思っておりました
  Register: formal written Japanese; would be unusual in a personal context

Enter fullscreen mode Exit fullscreen mode

The nuance comparison is the part I couldn’t get anywhere else. Knowing that option 3 exists and that you would almost never use it for a personal message is actually load-bearing information if you’re learning the language, not just getting through a task.

konid supports 13+ languages including Mandarin, Japanese, Korean, Spanish, French, Arabic, Hindi, Russian, and Portuguese. MIT licensed.

https://github.com/robertnowell/konid-language-learning

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다