MCP server for managing internationalization (i18n) translations. Enables adding, updating, retrieving, searching, and syncing translation keys across multiple locales and namespaces.
The i18n-magic MCP server has 6 tools with clear, descriptive names and reasonable documentation. All tools have descriptions (ranging from 58-196 chars) that explain WHAT they do and WHEN to use them. Input schemas are visible in the code with Zod validation. However, several critical issues emerge: (1) Output schemas are NOT documented anywhere, the source shows input schemas but no return type documentation, forcing LLMs to guess what fields and structure to expect. (2) Error handling is minimal, no recovery guidance, error categorization, or actionable error messages visible. (3) Tool descriptions mention defaults and constraints textually but lack formal enum/pattern constraints in the schema itself. (4) The add_translation_keys tool returns an array but the output structure is not defined. (5) list_untranslated_keys returns 'keys that exist in default locale but missing in other locales' but the exact return structure is undocumented. These gaps are typical of tools that prioritize happy-path functionality over LLM-friendly error handling and schema documentation.
Add a new translation key with a text value. The destination translation file is resolved automatically from project configuration and code usage. The language defaults to the configured defaultLocale. For adding multiple keys at once, use add_translation_keys instead for better performance. NOTE: This tool can only ADD keys, it will NEVER remove any existing keys.
Add multiple translation keys in batch. Use this for adding multiple keys at once for better performance.
Get the translation values for a specific key across all locales.
List all translation keys that are missing translations in any of the configured locales. Returns keys that exist in the default locale but are missing in other locales.
Search for translation keys and values using fuzzy search. Returns all matching keys and their values across all locales.
Update an existing translation key value. This tool ONLY updates existing keys, it cannot add new keys.
Output schemas completely undocumented. No tool in the source defines what fields or structure is returned. LLMs cannot plan downstream tool calls without knowing the response shape.
No error handling guidance. Tools do not document what errors may occur, whether they are retryable, or what the agent should do next. Missing error recovery patterns.
Parameter constraints are described in natural language but not formalized. E.g., 'language defaults to config.defaultLocale', no enum or pattern constraint in the schema. LLMs cannot reliably validate inputs without formal schemas.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | D | 56 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 20 | - | v1 |
add_translation_keys and search_translations lack pagination support. If translation files contain hundreds of keys, result sets could exceed reasonable token limits. No limit or cursor parameters documented.
Return type documentation missing entirely. The 'get_translation_key' tool is described as 'Get the translation values for a specific key across all locales' but the response structure (object shape, field types, format) is never defined in code or comments.