Labsco
MCP SERVER

i1n Localization as Code

by Pakvothe

Push, pull, validate and machine-translate a project's locale files, and wire i1n onto the i18n library already in the codebase.

Document Conversion, PDF & TranslationVerified
Summary
i1n_check promises to touch no API at all, and that is what earns this a place in a pipeline: it turns coverage into a gate that costs nothing to run.

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.

What it is

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.

What you get
  • i1n_check validates the local files without contacting the API: missing keys per language, broken interpolation placeholders, empty values and coverage, returned as a JSON report and gated by minCoverage — its description marks it safe for CI.
  • i1n_pull brings translations down and regenerates TypeScript types in the same call; i1n_push sends local files up and diffs first, so only changed keys travel.
  • i1n_translate is a whole cycle behind one call: it estimates cost, translates into the languages you name, polls until the job finishes and pulls the results back.
  • i1n_add_language adds languages to the project and can auto-translate the keys that already exist.
  • i1n_extract_and_translate takes strings as {key, value, namespace?} objects, pushes them, translates into every active language and pulls updated types.
  • i1n_search looks up existing translations by key name, namespace or source value, so an English string can be found without knowing its key.
  • i1n_status reports the project's plan, limits, languages and configuration.
  • i1n_setup_bridge detects the i18n library already in place — i18next, vue-i18n, next-intl and react-intl are named — and configures bridge mode in the project, taking apiKey and optionally projectId when i1n.config.json does not exist yet.
Requirements

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.

Setup effort

One command — npm install -g i1n