MCP tools
The LangSync tools on the Norcube MCP server. Read namespaces, terms, translations and the glossary, add terms, write translations and start AI translation from your AI assistant.
The Norcube MCP server lets AI assistants such as Claude, Cursor or ChatGPT work with your LangSync translations: find what's still missing, add new keys while they write code, fix a translation, or start AI translation of a whole namespace. Every call runs as you, with your own Norcube role. Connecting, consent and scopes are covered on the platform page.
| Tool | Scope | What it does |
|---|---|---|
langsync_list_namespaces | langsync.read | Namespaces with languages, progress, term count and default prompt. |
langsync_get_namespace | langsync.read | One namespace and its languages (codes, source language). |
langsync_list_terms | langsync.read | Terms with their translations, filtered and paged. |
langsync_list_glossary | langsync.read | The organization's glossary. |
langsync_add_term | langsync.write | Add a term, optionally AI-translating it right away. |
langsync_set_translation | langsync.write | Write one translation in one language. |
langsync_translate_missing | langsync.write | Start AI translation of everything still missing. |
If the connection covers more than one organization, every tool also
takes an organization argument (the organization id). See
Organizations.
Permissions
| Scope | Shown on the consent screen as | Your role needs |
|---|---|---|
langsync.read | View translations | ListNamespaces and ListTerms |
langsync.write | Edit translations | UpdateTermTranslation |
langsync.write only needs the translation permission, so a translator
role can connect too. Every call is still checked against your role:
a translator who may edit only German in one namespace can only write
German there, and can't add terms without CreateTerm.
A connection with langsync.write can make exactly four changes: add a
term, edit a term, write a translation and start translate-missing.
Everything else (namespaces, languages, the glossary, custom prompts,
API keys, imports, sync) stays in the dashboard and the CLI, whatever
your role allows.
Reading translations
Namespaces are addressed by name, and languages by code
(de-DE, pt-BR), exactly as in the dashboard. Call
langsync_get_namespace to see a namespace's codes and which one is the
source language.
langsync_list_terms returns each term's key, context and translations.
Every translation shows aiGenerated: true means the text was written
by AI and no person has edited it since (see
the AI label). Filters:
search: matches term keys and source text.missingLanguage: a language code; only terms not yet translated into it.anyMissing: only terms missing at least one language.
Results are paged (25 by default, up to 100 with limit). When there's
more, the response includes nextCursor; pass it back as cursor.
Writing translations
langsync_add_termadds a key with its source-language text and optionalcontextfor translators. Settranslate: trueto also have AI translate it into the namespace's other languages at once.langsync_set_translationwrites one value for one term (termIdfromlangsync_list_terms) in one language. It counts as written by a person, so it removes the AI label.langsync_translate_missingstarts AI translation of every missing value in a namespace, or only for thelanguagesyou list. It follows the glossary and the namespace's default custom prompt, or thecustomPromptIdyou pass. It runs in the background: follow the namespace's progress withlangsync_get_namespace, or list what's still missing withlangsync_list_terms.
AI translation (translate: true and langsync_translate_missing)
counts towards your LangSync usage exactly like in the dashboard, and
shares the same hourly AI translation limits.
Example prompts
- "Which keys in the
webnamespace are still missing German?" - "Add
checkout.empty_cartwith the text 'Your cart is empty' toweband translate it." - "The French for
checkout.titleshould be 'Paiement'. Fix it." - "Translate everything that's missing in
mobileinto Spanish and Portuguese."