i1n_add_language
Add new languages to the project and optionally auto-translate existing keys
Push, pull, validate and machine-translate a project's locale files, and wire i1n onto the i18n library already in the codebase.
LABSCO SUMMARY
Everything else is a round trip, and each is written as a single call rather than a sequence an agent has to orchestrate — i1n_translate estimates, translates, polls and pulls; i1n_extract_and_translate pushes, translates and refreshes types. That collapsing is the design, and it also means the calls that spend money are the ones that look simplest, so i1n_status and i1n_check are the natural things to run first. i1n_setup_bridge writes project configuration rather than translations, and it is aimed at a codebase that already uses another i18n library rather than a greenfield one, which tells you what this is for: adding a translation backend under an app that already ships strings.
An i18n workflow server for the i1n service, covering the round trip between local translation files and the hosted project: status, pull with generated TypeScript types, diffed push, offline validation, AI translation, and bridge setup for an existing i18n library.
No environment credentials are configured. What you need is a project already wired to i1n — an i1n.config.json in the repository, or the apiKey passed to i1n_setup_bridge so it can create one.
One command — npm install -g i1n
USE CASES
Validate the locale files where they sit, fail the run under a coverage floor, and check the project's language list against what the plan allows.
Hand over the strings the feature introduced as key and value pairs, let them be pushed and translated into every active language, and take the regenerated types back.
Add the language to the project, translate the keys that already exist, and confirm against the plan's limits that the new locale is covered.
Search by the English wording rather than the key name, and push only what turns out to be genuinely new.
Let the library in the repository be detected and bridge mode configured in the project, then read back the plan and languages you have landed on.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
i1n_add_languageAdd new languages to the project and optionally auto-translate existing keys
i1n_checkValidate local translation files offline: missing keys per language, broken interpolation placeholders, empty values, and coverage. Returns a JSON report. Safe for CI — no API calls.
i1n_extract_and_translateAccept extracted strings, push them to i1n, translate to all active languages, and pull updated types. Pass an array of {key, value, namespace?} objects.
i1n_pullPull translations from i1n and generate TypeScript types
i1n_pushPush local translation files to i1n (with diff detection, only changed keys are pushed)
i1n_searchSearch existing translations by key name, namespace, or source value
i1n_setup_bridgeDetect any i18n library (i18next, vue-i18n, next-intl, react-intl, etc.) and configure i1n bridge mode in this project — end-to-end, with no terminal needed. Use when the user asks to 'set up / configure the bridge', 'wire up i1n with my existing i18n library', or 'install i1n on top of <library>'.
If i1n.config.json doesn't exist yet, pass apiKey (and optionally projectId) and the tool runs init non-interactively (validate, pick project, write config) before wiring the bridge. If apiKey is missing, the tool returns status needs_api_key so you can ask the user for it. If multiple projects exist, it returns status multiple_projects with the list — re-call with the chosen projectId.
Pass write=true to actually write the bridge helper file (do this whenever the user asks to *configure*/*install*; only leave it false if they explicitly asked to *analyze* or *preview*). For libraries outside the known list, the tool still emits a best-effort snippet flagged for verification.
i1n_statusGet project status including plan, limits, languages, and configuration
i1n_translateTranslate to specified languages with AI. Estimates cost, translates, polls for completion, and auto-pulls results.
BEFORE YOU INSTALL
9 tools when we connected. Only i1n_check works with nothing configured; the rest need a project created with i1n init. i1n_translate, i1n_add_language and i1n_extract_and_translate spend translation credits, and i1n_push aborts on conflicts instead of prompting.
npx on PATH
All 4 documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 9 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npm install -g i1nclaude mcp add i1n -- npx i1n mcp{
"mcpServers": {
"i1n": {
"command": "npx",
"args": [
"i1n",
"mcp"
]
}
}
}