MCP server for i18n management — detect missing keys, unused translations, sync keys across languages, and more.
LinguaGuard has well-structured tool definitions with consistent naming (verb_noun pattern: find_*, sync_*, check_*, suggest_*) and comprehensive descriptions (150-250 chars each). All 7 tools have input schemas with Zod validation and parameter descriptions. However, output schemas are not documented, responses are wrapped in generic text content without specifying the structure of returned data. Error handling is minimal; tools return text without guidance on recovery steps. Parameter descriptions lack format constraints (e.g., no regex for key notation, no bounds on max_keys). The server is STDIO-only, which caps protocol readiness at 50 regardless of definition quality.
Check all translation keys to ensure they follow a consistent naming style. Detects keys that violate the configured convention (snake_case, camelCase, kebab-case, or PascalCase).
Run a CI/CD safety check for missing translation keys. Returns a pass/fail result and lists all missing keys. Useful in pull request reviews and pre-merge checks. Would exit with code 1 in a real pipeline.
Find translation keys that exist in the primary language file but are missing in one or more other language files. Use this to ensure all languages are fully translated.
Scan the project source code (JS/TS/JSX/TSX/Vue/Svelte files) to find translation keys that are defined in locale files but never used in any source file. Helps clean up dead translations.
Generate a full i18n health dashboard for your project. Shows per-language completeness %, missing key counts, unused keys, naming violations, and an overall health score out of 100.
Output schemas not documented. Tools return generic text content without specifying structure of results (e.g., missing_keys_by_language, health_score format, translation_suggestions structure). LLMs cannot plan downstream operations or extract typed fields.
Parameter descriptions lack format constraints. 'key' parameter accepts dot notation but no regex pattern or example validation rules provided. 'max_keys' is unbounded (no min/max). 'naming_convention' enum is present but other params lack similar constraints.
Error handling is minimal. Tools return text responses without categorizing errors as retryable, user-fixable, or fatal. No recovery guidance (e.g., 'If LOCALES_PATH is invalid, check your environment variables'). Agents cannot determine next steps on failure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Use Claude AI to automatically suggest translations for missing keys. Finds all keys absent in non-primary languages and asks Claude to translate them from the primary language. Requires ANTHROPIC_API_KEY in env.
Add a new translation key to ALL language files at once. The primary language gets the real value; other languages get a [TODO] placeholder so you know what still needs translating.
STDIO transport only. Server is not remotely accessible and cannot be used by hosted MCP clients. Limits deployment to local editor integrations only.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). sync_key is destructive (WRITE risk) but lacks destructiveHint. find_* tools are read-only but lack readOnlyHint. Agents cannot infer safety properties.