i18n-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_translationA | Get the translations for a single key across all locales. Use this for targeted lookups — get_translations returns the entire namespace which is too large for inline spot-checks. |
| get_namespace_keysA | Return a sorted list of all dot-notation keys in a namespace (from the primary locale) without their values. Use this to plan batch translation work — avoids blowing context with full locale values across many locales. |
| get_translationsA | Get all translations for a namespace as { key: { locale: value } } pairs. Optional query filters by glob on keys (e.g. "button.*") or substring match on any locale value. Always call this before adding new keys to check for duplicates. Results are size-capped: on a large namespace an unfiltered call returns a truncated slice plus a note. When that happens, narrow the query instead of retrying — or use get_namespace_keys and get_translation. |
| add_translationB | Add or update a single translation key across one or more locales. Key uses dot notation (e.g. "button.save"). Only the provided locales are written — other locales are unchanged. |
| add_multiple_translationsA | Add or update multiple translation keys in one operation. More efficient than repeated add_translation calls — writes once per locale file. Prefer this for bulk work. Optional locales filter restricts which locales are written, even if translations for other locales are provided in the entries. |
| copy_from_primaryA | Copy the primary locale value verbatim to specified locales for specified keys. Use for brand names, prices, percentages, and other terms that legitimately should not be translated. Returns an error if any key is missing from the primary locale. |
| delete_translationB | Remove a translation key from all locale files in a namespace. |
| find_untranslated_valuesA | Find keys where the translated value is identical to the primary locale value — i.e. placeholder translations that were never actually translated. Terms in doNotTranslate are excluded. Returns { locale: { key: primaryValue } } for each stale key found. |
| get_pending_translationsA | Get the complete translation work list for a single locale: every key that is missing, empty, or still identical to the primary locale value, returned as { key: primaryValue }. Identical values listed in doNotTranslate are excluded. This is the preferred way for a per-locale translation agent to fetch its own work — one call returns exactly what needs translating, nothing else. Results are size-capped; after writing a slice with add_multiple_translations, call again for the rest. |
| check_translation_integrityA | Compare all locale files against the primary locale. Returns missing keys, extra keys, and empty values per locale. Omit namespace to check all configured namespaces. |
| check_translation_qualityA | Check translation quality for specific keys. Returns issues per locale per key: "untranslated" (value identical to primary), "empty" (missing or blank), "short" (less than 30% the length of the primary value for strings longer than 15 chars). Use this for targeted quality checks instead of scanning the full namespace. |
| get_i18n_statusA | Report the resolved project root, where that root came from, the config file path, and the absolute path, file structure and locales of every namespace. Call this before writing if you are working in a git worktree or any checkout other than the directory the MCP client was launched in — the server resolves paths from its own root, not from your current directory. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |