Tolgee

Your app's translations in Tolgee: search keys, create translations, trigger machine translation

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
96%
Integridad del esquema
97%
Calidad de los nombres
96%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (2)

  • LOWTool 'store_big_meta' description lacks action verben store_big_meta
  • LOWTool 'get_project_language_statistics' name length outside 3-30 rangeen get_project_language_statistics

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,046Tokens (definiciones de herramientas)
~1.3 KBTamaño de respuesta típico
Impacto significativo en la atención (2.38% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "tolgee": {
      "url": "https://app.tolgee.io/mcp/developer"
    }
  }
}

Puntos de conexión remotos

https://app.tolgee.io/mcp/developerstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (22)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢get_batch_job_status(projectId, jobId)

Get the status of a batch job (e.g. machine translation) by its ID. Use to poll for completion.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "jobId": {
      "type": "number",
      "description": "ID of the batch job"
    }
  },
  "required": [
    "jobId"
  ]
}
🟢machine_translate(projectId, keyNames, targetLanguageTags, namespace, branch)

Start machine translation for specified keys into target languages. Returns a batch job ID — use get_batch_job_status to poll for completion.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "keyNames": {
      "type": "array",
      "description": "Names of keys to translate",
      "items": {
        "type": "string"
      }
    },
    "targetLanguageTags": {
      "type": "array",
      "description": "Language tags to translate into (e.g. ['de', 'fr'])",
      "items": {
        "type": "string"
      }
    },
    "namespace": {
      "type": "string",
      "description": "Optional: namespace of the keys"
    },
    "branch": {
      "type": "string",
      "description": "Optional: branch name"
    }
  },
  "required": [
    "keyNames",
    "targetLanguageTags"
  ]
}
⚪store_big_meta(projectId, relatedKeysInOrder, branch)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "relatedKeysInOrder": {
      "type": "array",
      "description": "List of related keys in the order they appear together",
      "items": {
        "type": "object",
        "properties": {
          "keyName": {
            "type": "string",
            "description": "Key name"
          },
          "namespace": {
            "type": "string",
            "description": "Optional: key namespace"
          }
        },
        "required": [
          "keyName"
        ]
      }
    },
    "branch": {
      "type": "string",
      "description": "Optional: branch name"
    }
  },
  "required": [
    "relatedKeysInOrder"
  ]
}
🟢list_branches(projectId, search, page)

List branches in a Tolgee project. Returns up to 100 results per page. Only available for projects with branching enabled (enterprise feature).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "search": {
      "type": "string",
      "description": "Optional: search filter for branch names"
    },
    "page": {
      "type": "number",
      "description": "Optional: page number (0-based, default 0)"
    }
  },
  "required": []
}
🟡create_branch(projectId, name, originBranchId)

Create a new branch in a Tolgee project by forking from an existing branch. Only available for projects with branching enabled (enterprise feature).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "name": {
      "type": "string",
      "description": "Name of the new branch"
    },
    "originBranchId": {
      "type": "number",
      "description": "ID of the branch to fork from"
    }
  },
  "required": [
    "name",
    "originBranchId"
  ]
}
🔴delete_branch(projectId, branchName)

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.

Esquema de entrada

{
  "type": "object",
  "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"
    }
  },
  "required": [
    "branchName"
  ]
}
🟢list_keys(projectId, branch, page)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "branch": {
      "type": "string",
      "description": "Optional: branch name"
    },
    "page": {
      "type": "number",
      "description": "Optional: page number (0-based, default 0)"
    }
  },
  "required": []
}
🟢search_keys(projectId, query, languageTag, branch, page)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "query": {
      "type": "string",
      "description": "Search query (matches key name or translation text)"
    },
    "languageTag": {
      "type": "string",
      "description": "Optional: language tag to search translations in"
    },
    "branch": {
      "type": "string",
      "description": "Optional: branch name"
    },
    "page": {
      "type": "number",
      "description": "Optional: page number (0-based, default 0)"
    }
  },
  "required": [
    "query"
  ]
}
🟡create_keys(projectId, keys, namespace, branch)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "keys": {
      "type": "array",
      "description": "List of keys to create",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Key name (e.g. 'home.welcome_message')"
          },
          "namespace": {
            "type": "string",
            "description": "Optional: namespace for the key (overrides top-level namespace)"
          },
          "translations": {
            "type": "object",
            "description": "Optional: translations as {languageTag: text} map",
            "additionalProperties": {
              "type": "string"
            }
          },
          "tags": {
            "type": "array",
            "description": "Optional: tags to assign to the key",
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": "string",
            "description": "Optional: description / developer context for the key"
          }
        },
        "required": [
          "name"
        ]
      }
    },
    "namespace": {
      "type": "string",
      "description": "Optional: default namespace for all keys (individual keys can override)"
    },
    "branch": {
      "type": "string",
      "description": "Optional: branch name"
    }
  },
  "required": [
    "keys"
  ]
}
🟢get_key(projectId, keyName, namespace, branch)

Get a translation key's metadata (name, namespace, description) by its name. To get the key's translations, use get_translations.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "keyName": {
      "type": "string",
      "description": "The translation key name"
    },
    "namespace": {
      "type": "string",
      "description": "Optional: namespace of the key"
    },
    "branch": {
      "type": "string",
      "description": "Optional: branch name"
    }
  },
  "required": [
    "keyName"
  ]
}
🟡update_key(projectId, keyName, keyNamespace, keyBranch, newName, ...)

Update an existing translation key's name, namespace, or description

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "keyName": {
      "type": "string",
      "description": "Current key name (used to find the key)"
    },
    "keyNamespace": {
      "type": "string",
      "description": "Optional: current namespace of the key (used to find the key)"
    },
    "keyBranch": {
      "type": "string",
      "description": "Optional: branch name (used to find the key, for branching projects)"
    },
    "newName": {
      "type": "string",
      "description": "New key name (provide the current name if unchanged)"
    },
    "newNamespace": {
      "type": "string",
      "description": "Optional: new namespace for the key"
    },
    "newDescription": {
      "type": "string",
      "description": "Optional: new description for the key"
    }
  },
  "required": [
    "keyName",
    "newName"
  ]
}
🔴delete_keys(projectId, keyNames, namespace, branch)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "keyNames": {
      "type": "array",
      "description": "Names of the keys to delete",
      "items": {
        "type": "string"
      }
    },
    "namespace": {
      "type": "string",
      "description": "Optional: namespace of the keys"
    },
    "branch": {
      "type": "string",
      "description": "Optional: branch name"
    }
  },
  "required": [
    "keyNames"
  ]
}
🟢list_languages(projectId, page)

List all languages configured for a Tolgee project. Returns up to 1000 results per page.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "page": {
      "type": "number",
      "description": "Optional: page number (0-based, default 0)"
    }
  },
  "required": []
}
🟡create_language(projectId, name, tag, originalName, flagEmoji)

Add a new language to a Tolgee project

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "name": {
      "type": "string",
      "description": "Language display name (e.g. 'German')"
    },
    "tag": {
      "type": "string",
      "description": "Language tag / IETF BCP 47 code (e.g. 'de')"
    },
    "originalName": {
      "type": "string",
      "description": "Native name of the language (e.g. 'Deutsch')"
    },
    "flagEmoji": {
      "type": "string",
      "description": "Flag emoji for this language"
    }
  },
  "required": [
    "name",
    "tag"
  ]
}
🟢list_namespaces(projectId)

List all namespaces in a Tolgee project. Namespaces organize translation keys into logical groups (e.g. by feature, page, or module).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    }
  },
  "required": []
}
🟢list_projects(search, page)

List Tolgee projects accessible to the current user. Returns up to 100 results per page.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "search": {
      "type": "string",
      "description": "Optional search query to filter projects by name"
    },
    "page": {
      "type": "number",
      "description": "Optional: page number (0-based, default 0)"
    }
  },
  "required": []
}
🟡create_project(name, organizationId, languages, baseLanguageTag)

Create a new Tolgee project with initial languages

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Project name"
    },
    "organizationId": {
      "type": "number",
      "description": "ID of the organization to create the project in"
    },
    "languages": {
      "type": "array",
      "description": "Initial languages for the project",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Language name (e.g. 'English')"
          },
          "tag": {
            "type": "string",
            "description": "Language tag (e.g. 'en')"
          },
          "originalName": {
            "type": "string",
            "description": "Original name of the language"
          },
          "flagEmoji": {
            "type": "string",
            "description": "Flag emoji for the language"
          }
        },
        "required": [
          "name",
          "tag"
        ]
      }
    },
    "baseLanguageTag": {
      "type": "string",
      "description": "Tag of the base language (default: first language)"
    }
  },
  "required": [
    "name",
    "organizationId",
    "languages"
  ]
}
🟢get_project_language_statistics(projectId)

Get translation status and progress for each language in a project. Returns per-language statistics including translated, reviewed, and untranslated percentages.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    }
  },
  "required": []
}
🟢list_tags(projectId, search, page)

List all tags used in a Tolgee project. Returns up to 1000 results per page.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "search": {
      "type": "string",
      "description": "Optional: search filter for tag names"
    },
    "page": {
      "type": "number",
      "description": "Optional: page number (0-based, default 0)"
    }
  },
  "required": []
}
🟡tag_keys(projectId, keyNames, tags, namespace, branch)

Add tags to translation keys. Creates tags if they don't exist.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "keyNames": {
      "type": "array",
      "description": "Names of the keys to tag",
      "items": {
        "type": "string"
      }
    },
    "tags": {
      "type": "array",
      "description": "Names of the tags to add",
      "items": {
        "type": "string"
      }
    },
    "namespace": {
      "type": "string",
      "description": "Optional: namespace of the keys"
    },
    "branch": {
      "type": "string",
      "description": "Optional: branch name"
    }
  },
  "required": [
    "keyNames",
    "tags"
  ]
}
🟢get_translations(projectId, keyName, namespace, branch, languages)

Get translations for a specific key in a Tolgee project. Returns translations in all project languages, or only the specified languages if provided.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "keyName": {
      "type": "string",
      "description": "The translation key name"
    },
    "namespace": {
      "type": "string",
      "description": "Optional: namespace of the key"
    },
    "branch": {
      "type": "string",
      "description": "Optional: branch name"
    },
    "languages": {
      "type": "array",
      "description": "Optional: language tags to filter by (e.g. ['en', 'de']). If omitted, returns all languages.",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "keyName"
  ]
}
🟡set_translation(projectId, keyName, namespace, translations, branch)

Set or update translations for a key in one or more languages. The key must already exist — use create_keys to create it first.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "number",
      "description": "ID of the project (required for PAT, auto-resolved for PAK)"
    },
    "keyName": {
      "type": "string",
      "description": "The translation key name"
    },
    "namespace": {
      "type": "string",
      "description": "Optional: namespace of the key"
    },
    "translations": {
      "type": "object",
      "description": "Translations as {languageTag: text} map (e.g. {\"en\": \"Hello\", \"de\": \"Hallo\"})",
      "additionalProperties": {
        "type": "string"
      }
    },
    "branch": {
      "type": "string",
      "description": "Optional: branch name"
    }
  },
  "required": [
    "keyName",
    "translations"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada22 herramientas
verificadoversión no registrada22 herramientas