MCP server for AI editors
Lets Claude Code, Cursor or Claude Desktop find your language files, see what is broken and translate it. It runs on your machine and works on the files in your project.
Claude Code
pip install kaeris-mcp claude mcp add kaeris-i18n kaeris-mcp
Cursor: .cursor/mcp.json · Claude Desktop: claude_desktop_config.json
{ "mcpServers": { "kaeris-i18n": { "command": "kaeris-mcp" } } }
You ask
“Check this repo's translations and tell me what is broken.”
The agent calls kaeris_status and gets, shortened
{
"ok": false,
"faults": [
{ "lang": "de", "key": "greeting", "msg": "lost placeholder {name}" },
{ "lang": "de", "key": "delete",
"msg": "number 5 from the source is missing or changed in the translation" }
],
"counts": { "placeholder_issues": 1, "faults": 3 }
}
Seven tools
| Tool | What it does | Cost |
|---|---|---|
kaeris_scan_repo | Finds the language files, the source language and the framework. | On your machine |
kaeris_status | Per language: missing keys, lost variables, changed numbers. The same rules as kaeris check. | Free |
kaeris_list_missing_keys | The exact missing or broken keys of one language, with the source text, page by page. | Free |
kaeris_list_languages | The 46 language codes. | Free |
kaeris_translate | Translates strings the agent passes in. verify=true also translates them back. | Counts toward your limit |
kaeris_translate_file | Translates a file on disk and writes the result. only_new=true translates only new and edited keys, tracked in kaeris.lock (JSON and ARB). | Counts toward your limit |
kaeris_add_language | Creates a new language file from the whole source. | Counts toward your limit |
“Free”: JSON is read on your machine; other formats and the language list are answered by our API at no charge. For a paid key, set KAERIS_API_KEY in the server's environment. kaeris-mcp --help prints the setup.