Use transglot from your AI agent
Add the transglot MCP server to Claude Code, Cursor, VS Code or any MCP client in one step, then ask your agent to translate, review and sync your strings.
Your coding agent can work on your translations directly. The transglot MCP server (@transglot/mcp, built on the Model Context Protocol) gives an agent tools for one project, so you can ask in plain language: "translate what is missing in French", "what does checkout.title say in German", "add our product name to the glossary as do-not-translate".
It stays in this page: nothing is sent anywhere. No token yet? Create one in your project under Settings → Developer → API tokens.
2. Add transglot to your agent
Claude Code: run this in your project
claude mcp add transglot --env TRANSGLOT_TOKEN=tgl_xxx -- npx -y @transglot/mcpThen ask your agent: “Translate what is missing in French” or “What does checkout.title say in German?”
The server runs on your machine with npx, so you need Node.js 20 or later. One server serves one project: the deploy token decides which, and the token's abilities decide which tools work.
Get a deploy token
Open the project's Developer settings
In the console, open the project, then Settings → Developer. Under API tokens, select New token.
Pick the abilities
For an agent that reads and edits translations, choose read, write and pull. Add manage if it should also start translation runs, run quality checks and edit the glossary. Choose the token's abilities has the full list.
Copy the token
The token is shown once. Paste it into the box above, or into your client's configuration below. More on tokens in Deploy tokens.
Tokens need a plan with API access, Starter and above. See pricing.
Point your agent at these docs
Agents read documentation better as plain text. Give yours llms.txt (an index of every page) or llms-full.txt (every page in one file), or the markdown of a single page: each page has a Copy Markdown button.
Set up any client by hand
The server speaks MCP over stdio. Every client runs the same command, npx -y @transglot/mcp, with the token in the TRANSGLOT_TOKEN environment variable. Replace tgl_xxx with your token. If the console showed the token with a number and a | in front, leave that part out: the shell reads | as a pipe.
claude mcp add transglot --env TRANSGLOT_TOKEN=tgl_xxx -- npx -y @transglot/mcpThe Integrations settings page in the app also has the Claude Code, Claude Desktop and Cursor snippets, under MCP server.
A configuration file that holds a token is a secret. Keep it out of version control, or use your client's way of reading the token from the environment.
Environment variables
| Variable | Required | Description |
|---|---|---|
TRANSGLOT_TOKEN | Yes | The deploy token. It is sent only in the Authorization header and is removed from any error text. |
TRANSGLOT_BASE_URL | No | The API address. Default: https://api.transglot.ai. TRANSGLOT_URL, the CLI's variable, is used when this one is not set. |
Without a token the server exits at once with transglot-mcp: TRANSGLOT_TOKEN is required. on stderr, which your client shows in its MCP log.
Tools
Read tools have no side effects. Tools that start a translation run or a quality check use the workspace's word allowance; their descriptions say so, so the agent and your client's approval prompt can tell.
| Tool | What it does | Ability |
|---|---|---|
get_project | Reads the project: name, source locale, every locale and the key count. | any of push, pull, manage |
list_languages | Lists the project's locales and the source locale. Locales cannot be added through the API. | any of push, pull, manage |
get_translation | Reads one key in one locale: value, state, staleness and quality verdict. | read |
upsert_translation | Writes one value, or its plural forms, for an existing key as a human edit. Editing the source locale can queue a translation run. | write |
translate_missing | Starts a translation run that fills missing values. Never overwrites edited or reviewed translations. | manage |
get_batch_status | Reads one translation run, optionally with its failed items. | any of push, pull, manage |
list_batches | Lists recent translation runs, or only the active ones. | any of push, pull, manage |
retry_failed_batch | Queues the failed items of a finished run as a new run. | manage |
cancel_batch | Stops a running translation run. Unspent words return to the allowance. | manage |
run_qa | Runs the AI quality check over target translations. Needs a plan with Quality mode (Team and above). | manage |
glossary_list_terms | Lists glossary terms, 100 per page. | read |
glossary_add_term | Adds an active glossary term: do-not-translate, forbidden, or with required translations. | manage |
glossary_update_term | Replaces a glossary term by id. | manage |
glossary_delete_term | Deletes a glossary term. | manage |
pull_file | Exports one locale as a file, optionally only translations at a minimum state. | pull |
push_file | Imports a file into one locale. Can delete keys missing from a source file. | push |
pull_file and push_file in version 0.1.0 of the package handle json_flat, json_nested, android_xml, ios_strings, ios_stringsdict, flutter_arb, laravel_php and laravel_json. For other formats, use the CLI.
The glossary tools need a plan that includes the glossary (Starter and above). See pricing.
Choose the token's abilities
| You want the agent to | Give the token |
|---|---|
| Read translations and the glossary only | read and pull |
| Also edit single translations | read, write and pull |
| Also sync whole files | add push |
| Also start, retry and stop translation runs, run quality checks, and edit the glossary | add manage |
A tool the token's abilities do not cover returns an error with the hint The token lacks the "manage" ability. Issue a token that has it., naming the ability that is missing.
What the API does not offer
There are no tools to list or search keys, create or delete single keys, add languages, or manage webhooks, because the public API has no endpoints for them. Keys are created and removed by pushing source files.
Behaviour
- Transport: stdio only. Diagnostics go to stderr.
- Errors: API errors come back as tool errors in the form
slug (HTTP status): detail, with a hint on what to do next. - Rate limits: the API allows 60 requests per minute per token. The server retries a rate-limited request up to twice, waiting as the API asks, before it returns an error.
Check the installed version with npx -y @transglot/mcp --version.