kaeris-mcp
The kaeris-mcp server provides AI-native localization services, enabling MCP clients to discover, audit, and translate application strings into 46 languages with robust quality assurance. Capabilities include:
Discover i18n setup: Scan repositories to detect locale files, base language, target languages, and frameworks (i18next, Flutter, Android, iOS, gettext, etc.) — local only.
Health checks: Audit target locales against the source for missing/extra keys and placeholder mismatches — local, no translation cost.
List missing keys: Get precise lists of missing or broken keys in a specific locale with source text.
List supported languages: Retrieve mapping of all 46 target language codes to English names.
Translate inline strings: Translate key-value pairs with placeholder safety, overflow warnings, back-translation verification, tone (formal/casual), context, glossary, ICU MessageFormat support, and translation memory.
Translate files: Translate entire locale files (JSON, YAML, .po, ARB, XML, CSV, XLIFF, .properties, RESX, .ftl) into multiple languages, with incremental mode using a
kaeris.lockfile to only re-translate new/changed keys.Bootstrap new languages: Create a new target locale by translating the source file into a language not yet present.
Customization: Control translations via tone, context, ICU preservation, and a keep list for untranslated terms.
Authentication: Free and paid tiers; use
KAERIS_API_KEYorKAERIS_OPENROUTER_KEYfor higher limits or BYOK models.
Supports scanning and translating Android string resources (strings.xml) and locale files. Includes tools for detecting Android projects and checking translation status.
Supports scanning and translating Flutter ARB localization files. Includes tools for detecting Flutter projects and managing translations.
Supports scanning and translating i18next JSON locale files. Includes tools for detecting i18next projects and incremental translation.
Supports scanning and translating iOS .strings files. Includes tools for detecting iOS projects and checking translation completeness.
Supports translation of XML locale files (e.g., Android strings.xml). Includes tools for translating with structure preservation.
Supports translation of YAML locale files. Includes tools for translating content with placeholder safety.
KAERIS i18n — MCP Server
AI-native localization over the Model Context Protocol. Give Claude Desktop, Cursor, Claude Code (or any MCP client) the ability to translate your app's strings into 46 languages — placeholder-safe, format-aware, incremental, with built-in Translation QA.
Tools
Tool | What it does | Calls the API? |
| Discover a repo's i18n setup: locale files found, base language, target languages, framework guess (i18next/next-intl/vue-i18n/Flutter/Android/iOS/gettext/generic) | No |
| Completeness/health per target locale — missing keys, extra keys, placeholder mismatches, plus the quality detectors that gate a merge in CI: number drift, lost inline tags, broken entities/escapes, ICU/CLDR plural gaps (same verdict as | No |
| The exact missing/broken keys (with source text) for one target locale, so an agent knows exactly what to fix | No |
| List all supported target languages | No |
| Translate inline strings → per-language results, with QA (placeholder-loss & UI-overflow flags; | Yes |
| Translate a file on disk (JSON/YAML/.strings/.po/ARB/XML/CSV/XLIFF/.properties/.resx/.ftl), optional incremental — reproducible via | Yes |
| Bootstrap a brand-new target locale by translating the whole source file into it | Yes |
The first four tools are local-only (no network call, no cost) — an agent can use them freely to audit and understand a repo's i18n before deciding what (if anything) to translate.
Related MCP server: Lokalise MCP Server
Reproducible by design
kaeris_translate_file with incremental=True keeps a kaeris.lock next to your source file —
the same lock the CLI writes, so an agent and a human sharing a repo stay in sync. It records a
hash of every source string plus the settings that produced it: tone, glossary, app context, and the
model. That means:
Edit one string — only that string is re-translated; everything else stays byte-for-byte.
Change tone, glossary or context — the whole locale is re-translated, never a mix of old and new.
Change plan — every tier runs the same model (Gemini 2.5 Flash-Lite), so upgrading does not force a re-translation. The lock records the model regardless: the day we change it, the locale is rebuilt in full instead of quietly ending up the work of two models.
Commit kaeris.lock alongside your source file so the agent, your teammates and CI all agree on
what is already done.
Install
pip install kaeris-mcpOr run it with Docker
docker build -t kaeris-mcp .
docker run -i --rm -v "$PWD:/work" -w /work kaeris-mcpThe server speaks JSON-RPC over stdin/stdout, so there is no port to expose —
-i is what keeps the conversation open. Mount your project at /work and the
repo-aware tools (scan_repo, status, list_missing_keys) read it directly;
pass -e KAERIS_API_KEY=… for the paid tiers.
Configure your client
Claude Desktop — add to claude_desktop_config.json
(macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"kaeris-i18n": {
"command": "kaeris-mcp",
"env": {
"KAERIS_API_KEY": "kaerisp_optional_for_pro_team"
}
}
}
}Cursor — Settings → MCP → Add, or .cursor/mcp.json:
{ "mcpServers": { "kaeris-i18n": { "command": "kaeris-mcp" } } }Claude Code — one command:
claude mcp add kaeris-i18n kaeris-mcpRestart the client; the KAERIS tools appear automatically.
Auth & tiers (all optional)
Env var | Purpose |
| Pro/Scale key — higher limits (else the free 10k-char tier is used) |
| OpenRouter key for Lifetime/BYOK — no monthly volume cap |
| Override the API base URL |
No key is required to try it — the free anonymous tier works out of the box.
Example prompts
"Translate the strings in
locales/en.jsoninto German, Ukrainian and Japanese.""Add French and Spanish translations for these buttons: Save, Cancel, Delete."
"Only translate the new keys I added to en.json — don't redo the whole file."
"Check this repo's i18n and tell me what's missing or broken." (scans, then reports status — no API call)
"We don't have Ukrainian yet — add it." (bootstraps a new locale via translation)
License
MIT
Maintenance
Related MCP Servers
- Flicense-qualityCmaintenanceEnables translation of JSON i18n files to multiple languages using various AI providers (Google Gemini, OpenAI, Ollama/DeepSeek) with intelligent caching and deduplication.166
- AlicenseAqualityCmaintenanceConnects AI assistants to Lokalise translation management platform with 59 tools across 11 domains, enabling localization teams to manage projects, translations, tasks, and workflows through natural conversation.59425MIT
- Flicense-quality-maintenanceEnables AI-powered translation of Django gettext .po files while intelligently preserving variables, HTML tags, URLs, and JavaScript code with validation and automated updates.1

nativ-mcpofficial
AlicenseAqualityCmaintenanceAI-powered localization platform. Translate text, search translation memory, and access style guides from any MCP-compatible AI tool.81MIT
Related MCP Connectors
Translation that never breaks structure: .srt timings, i18n key trees, PDF layout.
Sync Lightroom, Figma, Dropbox & Canva assets to WordPress and Shopify via natural language.
Sync Lightroom, Figma, Dropbox & Canva assets to WordPress and Shopify via natural language.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RaiGanja/kaeris-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server