MCP server for KAERIS i18n — AI-native localization for Claude Desktop, Cursor & agents
Project description
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? |
|---|---|---|
kaeris_scan_repo |
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 |
kaeris_status |
Completeness/health per target locale — missing keys, extra keys, placeholder mismatches (same as kaeris check --json) |
No |
kaeris_list_missing_keys |
The exact missing/broken keys (with source text) for one target locale, so an agent knows exactly what to fix | No |
kaeris_list_languages |
List all supported target languages | No |
kaeris_translate |
Translate inline strings → per-language results, with QA (placeholder-loss & UI-overflow flags; verify=True back-translates to check meaning) |
Yes |
kaeris_translate_file |
Translate a file on disk (JSON/YAML/.strings/.po/ARB/XML/CSV/XLIFF/.properties/.resx/.ftl), optional incremental — reproducible via kaeris.lock |
Yes |
kaeris_add_language |
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.
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, and the
model. That means:
- Edit one string — only that string is re-translated; everything else stays byte-for-byte.
- Change tone or glossary — the whole locale is re-translated, never a mix of old and new.
- Change plan — your plan picks the model (Free runs DeepSeek V3, paid runs GPT-4o-mini), so upgrading re-translates the locale instead of blending two models' output.
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-mcp
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-mcp
Restart the client; the KAERIS tools appear automatically.
Auth & tiers (all optional)
| Env var | Purpose |
|---|---|
KAERIS_API_KEY |
Pro/Scale key — higher limits (else the free 10k-char tier is used) |
KAERIS_OPENROUTER_KEY |
OpenRouter key for Lifetime/BYOK — no monthly volume cap |
KAERIS_API_URL |
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kaeris_mcp-0.2.2.tar.gz.
File metadata
- Download URL: kaeris_mcp-0.2.2.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fec2dda2a69368269862418c52b952f77e288be640679e884be0ab614cbb61dc
|
|
| MD5 |
0afedfe685b47ce76a888324194e06dd
|
|
| BLAKE2b-256 |
f56fccd27cf0c4b20df958f39a9c5e2a194df16afd0e6d1c3c2a8bc9fee291e8
|
File details
Details for the file kaeris_mcp-0.2.2-py3-none-any.whl.
File metadata
- Download URL: kaeris_mcp-0.2.2-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be03cc07b382113b158b3c4bcd8656d7b8f00223b461a1dbe07d4e416b2b476b
|
|
| MD5 |
0f7fe80c6afa4dfdb6445bcc6723f5de
|
|
| BLAKE2b-256 |
c7d028f330e0a395881186f34d664bdd0ab22f83884ee62dc58b265ea8e94f1b
|