Skip to main content
Glama
@mcpx-digital/i18n-keys

@mcpx-digital/i18n-keys

@mcpx-digital/i18n-keys

MCP server for locale key comparison.

Compare JSON/YAML locale files for missing or extra keys across languages, find empty translations, and list flattened keys. Supports nested objects via dot-path keys.

Local files only. No translation APIs; no network calls.

Install

npx -y @mcpx-digital/i18n-keys

Related MCP server: Translations MCP Server

Cursor mcp.json example

{
  "mcpServers": {
    "i18n-keys": {
      "command": "npx",
      "args": ["-y", "@mcpx-digital/i18n-keys"]
    }
  }
}

Local clone:

{
  "mcpServers": {
    "i18n-keys": {
      "command": "node",
      "args": ["/absolute/path/to/i18n-keys-mcp/index.js"]
    }
  }
}

Tools

Tool

What it does

compare_locales

Missing/extra keys vs a base locale

find_empty_translations

Empty / null / whitespace values

list_keys

Flattened key list for one file

Example prompts

  • “Compare en.json, es.json, and fr.yaml — what’s missing in Spanish?”

  • “Find empty translations in locales/*.json”

  • “List all keys in en.json”

Development

git clone https://github.com/TheoryofShadows/i18n-keys-mcp.git
cd i18n-keys-mcp
npm install
npm test

License

MIT

Available Tools

3 tools
compare_localesA

Compare locale files for missing/extra keys vs a base locale. Supports flat and nested keys. Local locale JSON/YAML files only — does not call translation APIs.

Inputs: files (required), baseLocale.

find_empty_translationsA

Find empty/null/whitespace-only translation values in locale files. Local locale JSON/YAML files only — does not call translation APIs.

Inputs: files (required).

list_keysA

List flattened keys for a single locale file. Local locale JSON/YAML files only — does not call translation APIs.

Inputs: filePath (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool targets a clearly distinct operation: enumerating keys, diffing locales against a base, and detecting empty values. There is minimal risk of confusing one for another.

    Naming Consistency5/5

    All three tools follow a strict verb_noun snake_case pattern (list_keys, compare_locales, find_empty_translations), which is predictable and readable.

    Tool Count4/5

    Three tools is a bit thin, but the server has a narrow read-only scope over local locale files, so each tool earns its place without redundancy.

    Completeness4/5

    Core inspection workflows (list, compare, find empties) are covered, but there is no way to look up a single key's value or search/sort keys, leaving minor gaps an agent must work around.

    Maintenance

    ActivitySlowing
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Translation QA for i18n locale files. Deterministic validators — missing keys, placeholder drift, collapsed plurals, glossary breaches — that need no API key, plus a review tool that hands translation pairs and judging criteria back to the calling agent, so meaning-level review runs on the model your client already has. Translation with your own LLM key is optional. JSON, Flutter .arb, Apple .
      8
      Apache 2.0
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables deterministic linting of locale files across JSON, Laravel PHP, gettext, and YAML, with no LLM or network, verifying translations for missing keys, placeholders, plural forms, glossary consistency, and stale entries.
      10 npm
      MIT