Your app's translations in Tolgee: search keys, create translations, trigger machine translation
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Tolgee Personal Access Token (tgpat_...) or Project API Key (tgpak_...)
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a new branch in a Tolgee project by forking from an existing branch. Only available for projects with branching enabled (enterprise feature).
Name of the new branch
ID of the branch to fork from
ID of the project (required for PAT, auto-resolved for PAK)
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Create a new branch in a Tolgee project by forking from an existing branch. Only available for projects with branching enabled (enterprise feature).
| Argument | Type | Description |
|---|---|---|
| name* | string | Name of the new branch |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
| originBranchId* | number | ID of the branch to fork from |
{
"type": "object",
"required": [
"name",
"originBranchId"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the new branch"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
},
"originBranchId": {
"type": "number",
"description": "ID of the branch to fork from"
}
}
}Create translation keys in a Tolgee project with optional translations and tags. Keys that already exist are silently skipped — their translations and tags are not updated. Use update_key and set_translation to modify existing keys.
| Argument | Type | Description |
|---|---|---|
| keys* | array | List of keys to create |
| branch | string | Optional: branch name |
| namespace | string | Optional: default namespace for all keys (individual keys can override) |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
{
"type": "object",
"required": [
"keys"
],
"properties": {
"keys": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Key name (e.g. 'home.welcome_message')"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional: tags to assign to the key"
},
"namespace": {
"type": "string",
"description": "Optional: namespace for the key (overrides top-level namespace)"
},
"description": {
"type": "string",
"description": "Optional: description / developer context for the key"
},
"translations": {
"type": "object",
"description": "Optional: translations as {languageTag: text} map",
"additionalProperties": {
"type": "string"
}
}
}
},
"description": "List of keys to create"
},
"branch": {
"type": "string",
"description": "Optional: branch name"
},
"namespace": {
"type": "string",
"description": "Optional: default namespace for all keys (individual keys can override)"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
}
}
}Add a new language to a Tolgee project
| Argument | Type | Description |
|---|---|---|
| tag* | string | Language tag / IETF BCP 47 code (e.g. 'de') |
| name* | string | Language display name (e.g. 'German') |
| flagEmoji | string | Flag emoji for this language |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
| originalName | string | Native name of the language (e.g. 'Deutsch') |
{
"type": "object",
"required": [
"name",
"tag"
],
"properties": {
"tag": {
"type": "string",
"description": "Language tag / IETF BCP 47 code (e.g. 'de')"
},
"name": {
"type": "string",
"description": "Language display name (e.g. 'German')"
},
"flagEmoji": {
"type": "string",
"description": "Flag emoji for this language"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
},
"originalName": {
"type": "string",
"description": "Native name of the language (e.g. 'Deutsch')"
}
}
}Create a new Tolgee project with initial languages
| Argument | Type | Description |
|---|---|---|
| name* | string | Project name |
| languages* | array | Initial languages for the project |
| organizationId* | number | ID of the organization to create the project in |
| baseLanguageTag | string | Tag of the base language (default: first language) |
{
"type": "object",
"required": [
"name",
"organizationId",
"languages"
],
"properties": {
"name": {
"type": "string",
"description": "Project name"
},
"languages": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"tag"
],
"properties": {
"tag": {
"type": "string",
"description": "Language tag (e.g. 'en')"
},
"name": {
"type": "string",
"description": "Language name (e.g. 'English')"
},
"flagEmoji": {
"type": "string",
"description": "Flag emoji for the language"
},
"originalName": {
"type": "string",
"description": "Original name of the language"
}
}
},
"description": "Initial languages for the project"
},
"organizationId": {
"type": "number",
"description": "ID of the organization to create the project in"
},
"baseLanguageTag": {
"type": "string",
"description": "Tag of the base language (default: first language)"
}
}
}Delete a branch from a Tolgee project. IMPORTANT: This is a destructive operation. The AI assistant should always confirm with the user before calling this tool.
| Argument | Type | Description |
|---|---|---|
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
| branchName* | string | Name of the branch to delete |
{
"type": "object",
"required": [
"branchName"
],
"properties": {
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
},
"branchName": {
"type": "string",
"description": "Name of the branch to delete"
}
}
}Delete translation keys from a Tolgee project. IMPORTANT: This is a destructive operation. The AI assistant should always confirm with the user before calling this tool.
| Argument | Type | Description |
|---|---|---|
| branch | string | Optional: branch name |
| keyNames* | array | Names of the keys to delete |
| namespace | string | Optional: namespace of the keys |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
{
"type": "object",
"required": [
"keyNames"
],
"properties": {
"branch": {
"type": "string",
"description": "Optional: branch name"
},
"keyNames": {
"type": "array",
"items": {
"type": "string"
},
"description": "Names of the keys to delete"
},
"namespace": {
"type": "string",
"description": "Optional: namespace of the keys"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
}
}
}Get the status of a batch job (e.g. machine translation) by its ID. Use to poll for completion.
| Argument | Type | Description |
|---|---|---|
| jobId* | number | ID of the batch job |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
{
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "number",
"description": "ID of the batch job"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
}
}
}Get a translation key's metadata (name, namespace, description) by its name. To get the key's translations, use get_translations.
| Argument | Type | Description |
|---|---|---|
| branch | string | Optional: branch name |
| keyName* | string | The translation key name |
| namespace | string | Optional: namespace of the key |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
{
"type": "object",
"required": [
"keyName"
],
"properties": {
"branch": {
"type": "string",
"description": "Optional: branch name"
},
"keyName": {
"type": "string",
"description": "The translation key name"
},
"namespace": {
"type": "string",
"description": "Optional: namespace of the key"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
}
}
}Get translation status and progress for each language in a project. Returns per-language statistics including translated, reviewed, and untranslated percentages.
| Argument | Type | Description |
|---|---|---|
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
{
"type": "object",
"required": [],
"properties": {
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
}
}
}Get translations for a specific key in a Tolgee project. Returns translations in all project languages, or only the specified languages if provided.
| Argument | Type | Description |
|---|---|---|
| branch | string | Optional: branch name |
| keyName* | string | The translation key name |
| languages | array | Optional: language tags to filter by (e.g. ['en', 'de']). If omitted, returns all languages. |
| namespace | string | Optional: namespace of the key |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
{
"type": "object",
"required": [
"keyName"
],
"properties": {
"branch": {
"type": "string",
"description": "Optional: branch name"
},
"keyName": {
"type": "string",
"description": "The translation key name"
},
"languages": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional: language tags to filter by (e.g. ['en', 'de']). If omitted, returns all languages."
},
"namespace": {
"type": "string",
"description": "Optional: namespace of the key"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
}
}
}List branches in a Tolgee project. Returns up to 100 results per page. Only available for projects with branching enabled (enterprise feature).
| Argument | Type | Description |
|---|---|---|
| page | number | Optional: page number (0-based, default 0) |
| search | string | Optional: search filter for branch names |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
{
"type": "object",
"required": [],
"properties": {
"page": {
"type": "number",
"description": "Optional: page number (0-based, default 0)"
},
"search": {
"type": "string",
"description": "Optional: search filter for branch names"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
}
}
}List translation keys in a Tolgee project. Returns up to 100 keys per page. Use search_keys to find specific keys by name or translation text.
| Argument | Type | Description |
|---|---|---|
| page | number | Optional: page number (0-based, default 0) |
| branch | string | Optional: branch name |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
{
"type": "object",
"required": [],
"properties": {
"page": {
"type": "number",
"description": "Optional: page number (0-based, default 0)"
},
"branch": {
"type": "string",
"description": "Optional: branch name"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
}
}
}List all languages configured for a Tolgee project. Returns up to 1000 results per page.
| Argument | Type | Description |
|---|---|---|
| page | number | Optional: page number (0-based, default 0) |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
{
"type": "object",
"required": [],
"properties": {
"page": {
"type": "number",
"description": "Optional: page number (0-based, default 0)"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
}
}
}List all namespaces in a Tolgee project. Namespaces organize translation keys into logical groups (e.g. by feature, page, or module).
| Argument | Type | Description |
|---|---|---|
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
{
"type": "object",
"required": [],
"properties": {
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
}
}
}List Tolgee projects accessible to the current user. Returns up to 100 results per page.
| Argument | Type | Description |
|---|---|---|
| page | number | Optional: page number (0-based, default 0) |
| search | string | Optional search query to filter projects by name |
{
"type": "object",
"required": [],
"properties": {
"page": {
"type": "number",
"description": "Optional: page number (0-based, default 0)"
},
"search": {
"type": "string",
"description": "Optional search query to filter projects by name"
}
}
}List all tags used in a Tolgee project. Returns up to 1000 results per page.
| Argument | Type | Description |
|---|---|---|
| page | number | Optional: page number (0-based, default 0) |
| search | string | Optional: search filter for tag names |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
{
"type": "object",
"required": [],
"properties": {
"page": {
"type": "number",
"description": "Optional: page number (0-based, default 0)"
},
"search": {
"type": "string",
"description": "Optional: search filter for tag names"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
}
}
}Start machine translation for specified keys into target languages. Returns a batch job ID — use get_batch_job_status to poll for completion.
| Argument | Type | Description |
|---|---|---|
| branch | string | Optional: branch name |
| keyNames* | array | Names of keys to translate |
| namespace | string | Optional: namespace of the keys |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
| targetLanguageTags* | array | Language tags to translate into (e.g. ['de', 'fr']) |
{
"type": "object",
"required": [
"keyNames",
"targetLanguageTags"
],
"properties": {
"branch": {
"type": "string",
"description": "Optional: branch name"
},
"keyNames": {
"type": "array",
"items": {
"type": "string"
},
"description": "Names of keys to translate"
},
"namespace": {
"type": "string",
"description": "Optional: namespace of the keys"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
},
"targetLanguageTags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Language tags to translate into (e.g. ['de', 'fr'])"
}
}
}Search for translation keys in a Tolgee project by name or translation text. Returns up to 50 matching keys per page. Note: namespace and tags filtering is not yet supported — filter results client-side if needed.
| Argument | Type | Description |
|---|---|---|
| page | number | Optional: page number (0-based, default 0) |
| query* | string | Search query (matches key name or translation text) |
| branch | string | Optional: branch name |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
| languageTag | string | Optional: language tag to search translations in |
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "number",
"description": "Optional: page number (0-based, default 0)"
},
"query": {
"type": "string",
"description": "Search query (matches key name or translation text)"
},
"branch": {
"type": "string",
"description": "Optional: branch name"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
},
"languageTag": {
"type": "string",
"description": "Optional: language tag to search translations in"
}
}
}Set or update translations for a key in one or more languages. The key must already exist — use create_keys to create it first.
| Argument | Type | Description |
|---|---|---|
| branch | string | Optional: branch name |
| keyName* | string | The translation key name |
| namespace | string | Optional: namespace of the key |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
| translations* | object | Translations as {languageTag: text} map (e.g. {"en": "Hello", "de": "Hallo"}) |
{
"type": "object",
"required": [
"keyName",
"translations"
],
"properties": {
"branch": {
"type": "string",
"description": "Optional: branch name"
},
"keyName": {
"type": "string",
"description": "The translation key name"
},
"namespace": {
"type": "string",
"description": "Optional: namespace of the key"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
},
"translations": {
"type": "object",
"description": "Translations as {languageTag: text} map (e.g. {\"en\": \"Hello\", \"de\": \"Hallo\"})",
"additionalProperties": {
"type": "string"
}
}
}
}Store key relationships so Tolgee can use translations of related keys as context during machine translation, producing more consistent results. Keys that appear near each other in source code (e.g. on the same page or component) should be stored as related.
| Argument | Type | Description |
|---|---|---|
| branch | string | Optional: branch name |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
| relatedKeysInOrder* | array | List of related keys in the order they appear together |
{
"type": "object",
"required": [
"relatedKeysInOrder"
],
"properties": {
"branch": {
"type": "string",
"description": "Optional: branch name"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
},
"relatedKeysInOrder": {
"type": "array",
"items": {
"type": "object",
"required": [
"keyName"
],
"properties": {
"keyName": {
"type": "string",
"description": "Key name"
},
"namespace": {
"type": "string",
"description": "Optional: key namespace"
}
}
},
"description": "List of related keys in the order they appear together"
}
}
}Add tags to translation keys. Creates tags if they don't exist.
| Argument | Type | Description |
|---|---|---|
| tags* | array | Names of the tags to add |
| branch | string | Optional: branch name |
| keyNames* | array | Names of the keys to tag |
| namespace | string | Optional: namespace of the keys |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
{
"type": "object",
"required": [
"keyNames",
"tags"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Names of the tags to add"
},
"branch": {
"type": "string",
"description": "Optional: branch name"
},
"keyNames": {
"type": "array",
"items": {
"type": "string"
},
"description": "Names of the keys to tag"
},
"namespace": {
"type": "string",
"description": "Optional: namespace of the keys"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
}
}
}Update an existing translation key's name, namespace, or description
| Argument | Type | Description |
|---|---|---|
| keyName* | string | Current key name (used to find the key) |
| newName* | string | New key name (provide the current name if unchanged) |
| keyBranch | string | Optional: branch name (used to find the key, for branching projects) |
| projectId | number | ID of the project (required for PAT, auto-resolved for PAK) |
| keyNamespace | string | Optional: current namespace of the key (used to find the key) |
| newNamespace | string | Optional: new namespace for the key |
| newDescription | string | Optional: new description for the key |
{
"type": "object",
"required": [
"keyName",
"newName"
],
"properties": {
"keyName": {
"type": "string",
"description": "Current key name (used to find the key)"
},
"newName": {
"type": "string",
"description": "New key name (provide the current name if unchanged)"
},
"keyBranch": {
"type": "string",
"description": "Optional: branch name (used to find the key, for branching projects)"
},
"projectId": {
"type": "number",
"description": "ID of the project (required for PAT, auto-resolved for PAK)"
},
"keyNamespace": {
"type": "string",
"description": "Optional: current namespace of the key (used to find the key)"
},
"newNamespace": {
"type": "string",
"description": "Optional: new namespace for the key"
},
"newDescription": {
"type": "string",
"description": "Optional: new description for the key"
}
}
}