Technology Apr 17, 2026 · 2 min read

I Built an MCP Server That Keeps Your i18n Translations in Sync (With AI)

Description: LinguaGuard is a Model Context Protocol server that detects missing keys, removes dead translations, and uses Claude AI to auto-suggest translations — all from your editor. Ever shipped a feature and forgot to add the French translation? Or found 200 unused keys rotting in your locale f...

DE
DEV Community
by Prodip Sarker
I Built an MCP Server That Keeps Your i18n Translations in Sync (With AI)

Description: LinguaGuard is a Model Context Protocol server that detects missing keys, removes dead translations, and uses Claude AI to auto-suggest translations — all from your editor.
Ever shipped a feature and forgot to add the French translation? Or found 200 unused keys rotting in your locale files? Yeah. Same.

I built LinguaGuard — an MCP server that plugs into Claude Desktop (or any MCP-compatible editor) and gives your AI assistant superpowers over your i18n files.

What it does

7 tools, zero config (if you use env vars):

Tool What it does
find_missing_keys Which keys exist in English but not in fr, bn, ar...
find_unused_keys Scans your JS/TS/Vue/Svelte source — finds keys defined but never called
sync_key Adds a key to ALL language files at once (with [TODO] placeholders)
check_naming_convention Enforces snake_case / camelCase / kebab-case across all keys
i18n_health_report Full dashboard — completeness %, health score out of 100
suggest_translations Claude AI translates your missing keys automatically
ci_guard Pass/fail check for CI pipelines — blocks merges with missing keys

The AI translation part

suggest_translations uses the Claude API to fill in missing keys across languages. You set ANTHROPIC_API_KEY, run the tool, get back a reviewed list of suggestions. It does NOT auto-write — you review, then apply with sync_key.

// en.json
{ "auth.forgot_password": "Forgot your password?" }

// After suggest_translations:
// fr: "Mot de passe oublié ?"
// bn: "আপনার পাসওয়ার্ড ভুলে গেছেন?"
// ar: "هل نسيت كلمة المرور؟"

Setup in 2 minutes

// claude_desktop_config.json
{
  "mcpServers": {
    "linguaguard": {
      "command": "npx",
      "args": ["-y", "linguaguard"],
      "env": {
        "LOCALES_PATH": "./src/locales",
        "LANGUAGES": "en,fr,bn,ar",
        "PRIMARY_LANG": "en",
        "ANTHROPIC_API_KEY": "sk-ant-..."
      }
    }
  }
}

Then ask Claude: "Check my i18n health" or "Find all missing French translations".

Works with any framework

React, Vue, Svelte, Next.js — anything that uses flat or nested JSON locale files.

Try it

GitHub: linguaguard

Would love feedback — especially if you work with RTL languages (Arabic, Hebrew, Persian) or have nested key structures. PRs welcome.

Built with Node.js, TypeScript, MCP SDK, and Claude API.

DE
Source

This article was originally published by DEV Community and written by Prodip Sarker.

Read original article on DEV Community
Back to Discover

Reading List