Skip to main content
Glama
translated

Lara Translate MCP Server

by translated

add_translation

Destructive

Save a source sentence and its translation into a Lara Translate translation memory so you can reuse approved wording and keep terminology consistent.

Instructions

Adds a translation to a translation memory in your Lara Translate account.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe ID or list of IDs where to save the translation unit. Format: mem_xyz123
tuidNoTranslation Unit unique identifier
sourceYesThe source language code of the sentence, it MUST be a language supported by the system, use the list_languages tool to get a list of all the supported languages
targetYesThe target language code of the translation, it MUST be a language supported by the system, use the list_languages tool to get a list of all the supported languages
sentenceYesThe source sentence
translationYesThe translated sentence
sentence_afterNoThe sentence after the source sentence to specify the context of the translation unit
sentence_beforeNoThe sentence before the source sentence to specify the context of the translation unit

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesImport job identifier
endNoEnd offset of the import
sizeNoTotal number of units in the import
beginNoBegin offset of the import
channelNoChannel identifier used by the import
progressNoImport progress between 0 and 1 (1 means complete)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.0.0
    • removedOutput schema / additionalProperties
      Removed value: -{}
  2. Changed1 schema field changedv1.0.4
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "begin": {
      +      "description": "Begin offset of the import",
      +      "type": "number"
      +    },
      +    "channel": {
      +      "description": "Channel identifier used by the import",
      +      "type": "number"
      +    },
      +    "end": {
      +      "description": "End offset of the import",
      +      "type": "number"
      +    },
      +    "id": {
      +      "description": "Import job identifier",
      +      "type": "string"
      +    },
      +    "progress": {
      +      "description": "Import progress between 0 and 1 (1 means complete)",
      +      "type": "number"
      +    },
      +    "size": {
      +      "description": "Total number of units in the import",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "id"
      +  ],
      +  "type": "object"
      +}
  3. Addedv1.0.0

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the behavioral profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=false), and the description adds nothing on top: no note about duplicates, reversibility, auth/permission requirements, or what destruction means. With annotations present the bar is lower, but the description still contributes no extra behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words. It is appropriately sized, though its brevity is partly under-specification rather than disciplined conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the input schema is fully documented with no gaps. However, for a destructive, non-idempotent write tool, the description does not state preconditions (memory must exist, duplicate handling) that the structured fields leave open.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema itself is rich (field semantics, the mem_xyz123 format, and the list_languages cross-reference for language codes). The description adds no parameter-level meaning, so the baseline 3 for full schema coverage is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: adding a translation to a translation memory in the Lara Translate account. It clearly identifies the object of the operation, but it does not differentiate from related siblings such as import_tmx (bulk add) or delete_translation, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no exclusions, and no mention of alternatives. The sibling set includes import_tmx and delete_translation, which are natural companions/alternatives, but the description gives no routing signal for choosing between them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.