Kaeris MCP logo

Kaeris MCP

by RaiGanja

Audits and translates app locale files across 46 languages with placeholder checks and reproducible incremental updates.

Install Kaeris MCP

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "raiganja-kaeris-mcp": {
      "command": "uvx",
      "args": [
        "kaeris-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

RaiGanja/kaeris-mcp connects MCP clients to KAERIS for repository-aware localization workflows across 46 languages. It scans local projects, checks locale completeness and translation hazards, and translates inline strings or supported files through the KAERIS API. JSON, YAML, ARB, gettext, Android, iOS, XLIFF, Fluent, Markdown, and other formats are supported. Use it when an agent needs to audit an app's internationalization setup, add locales, or update only changed translations.

Use cases

  • Audit a repository's localization structure
  • Check locale files for missing keys and placeholder errors
  • Translate UI strings into multiple target languages
  • Add a new locale from an existing source file
  • Update only newly added or edited translations

Key features

  • Supports 46 target languages
  • Scans common application i18n layouts
  • Checks placeholders, plural categories, tags, numbers, and escapes
  • Translates 13 locale and content formats
  • Provides paged missing-key reports
  • Tracks incremental translations with kaeris.lock

Tools7

What Kaeris MCP lets your agent do. Expand a tool for its parameters.

Verified live~4.2k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

10/10 checks healthy over the last 57d

What it can do

From the 7 tools this server returned when we ran it.

Can delete or modify data · 1Handles credentials · 5Makes network requests · 1Read-only tools · 6
Network at startup2 connections
Files written at startup30

Observed 2026-10-20 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 2d ago via OSV.dev · kaeris-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

Last commit3d agoMost recent push to the default branch.
Tools exposed7Callable tools this server registers over MCP.
Directory activity5 viewsConfig copies, upvotes, and views on AllMCPs.

How Kaeris MCP works

What RaiGanja/kaeris-mcp does

RaiGanja/kaeris-mcp gives MCP-compatible coding assistants tools for inspecting and translating application locale files. It supports 46 target languages and handles common localization formats including JSON, YAML, Flutter ARB, iOS .strings, Xcode String Catalogs, gettext PO, Android XML, CSV, XLIFF, Java or Spring properties, .NET RESX, Mozilla Fluent, and Markdown or MDX.

The server separates local inspection from API-backed translation. Repository scanning, locale status checks, and missing-key reports operate on files in the project and do not require an API call. Translation tools send work to the KAERIS service. Language discovery is also available through a free API request that does not count toward usage limits.

How it works

Start with kaeris_scan_repo when the project's locale layout is unknown. It identifies locale files, estimates the source language, lists existing targets, and guesses conventions such as i18next, next-intl, Vue I18n, Flutter, Android, iOS, or gettext. The scan skips common generated and dependency directories and is bounded for larger repositories.

kaeris_status compares target locales with a source file. Its results include missing and extra keys, placeholder mismatches, missing files, and quality findings such as number changes, lost inline tags, malformed entities or escapes, and incomplete ICU or CLDR plural categories. kaeris_list_missing_keys provides the exact missing or placeholder-broken entries for one locale in pages, including source-language text.

Translation calls preserve placeholders and pass through non-string values. Inline translation can optionally back-translate results for meaning checks and report likely UI overflow. File translation can use only_new for JSON and ARB, while kaeris.lock records source hashes and translation settings so unchanged entries remain stable across incremental runs.

Setup and configuration

Install the Python package with:

Terminal
pip install kaeris-mcp

The process communicates through JSON-RPC on stdin and stdout. It can also run in Docker with the project mounted as /work:

Terminal
docker build -t kaeris-mcp .
docker run -i --rm -v "$PWD:/work" -w /work kaeris-mcp

Claude Desktop can launch kaeris-mcp from its MCP configuration, Cursor can add it through MCP settings or .cursor/mcp.json, and Claude Code can register it with claude mcp add kaeris-i18n kaeris-mcp. No key is needed for the local audit tools or for the free demo translation mode. KAERIS_API_KEY supplies a KAERIS key, while KAERIS_OPENROUTER_KEY supports the OpenRouter-based option. KAERIS_API_URL, KAERIS_NO_UPDATE_CHECK, and KAERIS_NO_CTA provide additional configuration.

Tools and capabilities

  • kaeris_list_languages returns language codes and English names.
  • kaeris_scan_repo discovers locale files and likely i18n conventions.
  • kaeris_status checks completeness, placeholders, and translation quality signals.
  • kaeris_list_missing_keys returns paged missing or broken entries for one target.
  • kaeris_translate translates key-value strings into one or more languages.
  • kaeris_translate_file writes translated locale files, with incremental mode for JSON and ARB.
  • kaeris_add_language creates a new locale by translating the full source file.

Limitations and notes

Translation operations use the KAERIS API and may be subject to the selected plan's character and language limits. Incremental translation is available only for JSON and ARB; other supported formats are translated as complete files. API keys may also be passed as tool arguments, but environment variables avoid exposing them in conversation transcripts and client logs. Commit kaeris.lock when sharing incremental translation state among agents, developers, and CI.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Kaeris MCP

RaiGanja/kaeris-mcp is an MCP server that connects coding assistants to KAERIS for application localization. Its main tools scan repositories, check locale completeness and placeholder safety, list missing keys, translate inline strings, translate files, list 46 supported languages, and create new target locales.

Install it with `pip install kaeris-mcp`. It communicates over JSON-RPC through stdin and stdout, and can be registered with Claude Desktop, Cursor, or Claude Code. A Docker image can also run it with the project mounted as `/work`.

No API key is required for repository scanning, status checks, or missing-key reports, and a free demo is available for translation. Set `KAERIS_API_KEY` for a KAERIS key or `KAERIS_OPENROUTER_KEY` for the OpenRouter-based option.

Use `kaeris_translate_file` with `only_new=True` for JSON or ARB files. The tool tracks source hashes and translation settings in `kaeris.lock`, translating new or edited entries while keeping unchanged translations stable.

It supports JSON, YAML, `.strings`, `.xcstrings`, PO, ARB, Android XML, CSV, XLIFF, Java or Spring properties, RESX, Fluent `.ftl`, and Markdown or MDX. Incremental `only_new` processing is limited to JSON and ARB.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewKaeris MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/raiganja-kaeris-mcp?style=directory)](https://allmcps.com/mcp/raiganja-kaeris-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/raiganja-kaeris-mcp"><img src="https://allmcps.com/api/badge/raiganja-kaeris-mcp?style=directory" alt="Kaeris MCP on AllMCPs" /></a>