Translate app language files into 46 languages and check placeholders, plurals and missing keys.
MCPpedia last refreshed this data
io.github.kaeris-io/kaeris-mcp is an MCP server that translate app language files into 46 languages and check placeholders, plurals and missing keys. Its tool list has not been published yet over stdio and http, requires no API key, and scores 60/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"kaeris-i18n": {
"env": {
"KAERIS_API_KEY": "kaerisp_optional"
},
"command": "kaeris-mcp"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Translate app language files into 46 languages and check placeholders, plurals and missing keys.
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked kaeris-mcp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in writing
Scrape, crawl, and map websites to Markdown or JSON via local CLI.
Create and edit PDFs: text, Markdown, tables, metadata and pages, with Japanese font embedding.
Any file → clean Markdown for AI agents: PDF, Office, EPUB, HTML, images, audio/video. Local MCP.
一键同步文章到多个内容平台,支持今日头条、WordPress、知乎、简书、掘金、CSDN、typecho各大平台,一次发布,多平台同步发布。解放个人生产力
MCP Security Weekly
Get CVE alerts and security updates for io.github.kaeris-io/kaeris-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Lets Claude Desktop, Claude Code, Cursor or any MCP client check your app's locale files and translate them into 46 languages.
pip install kaeris-mcp && claude mcp add kaeris-i18n kaeris-mcp
only_new, and
with verify=True translates each line back to flag a changed meaning..strings, .xcstrings, .po, ARB, Android XML, CSV, XLIFF,
.properties, .resx, Fluent .ftl, Markdown.kaeris.lock as the CLI, so an
agent, a teammate and CI agree on what is already translated.Plans. No key needed to try it. Free API key: 50k characters per file, 8 languages per run. Pro $19/month with 12M characters, Team/API $79/month with 60M, Lifetime $79 once with your own OpenRouter key. See kaeris.dev/pricing.
Docs · Pricing · Discussions · Status · Security
| 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, 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 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 | Yes, free (no quota) |
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/.xcstrings/.po/ARB/XML/CSV/XLIFF/.properties/.resx/.ftl/Markdown), 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 three tools are local-only (no network call, no cost), and kaeris_list_languages is one
free API call that counts toward no limit — an agent can use all four freely to audit and
understand a repo's i18n before deciding what (if anything) to translate.
kaeris_translate_file with only_new=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: