Translate

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

ToolWhat it doesCost
kaeris_scan_repoFinds the language files, the source language and the framework.On your machine
kaeris_statusPer language: missing keys, lost variables, changed numbers. The same rules as kaeris check.Free
kaeris_list_missing_keysThe exact missing or broken keys of one language, with the source text, page by page.Free
kaeris_list_languagesThe 46 language codes.Free
kaeris_translateTranslates strings the agent passes in. verify=true also translates them back.Counts toward your limit
kaeris_translate_fileTranslates 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_languageCreates 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.