Skip to main content
Glama
translated

Lara Translate MCP Server

by translated

update_memory

Update a translation memory's name in your Lara Translate account. Requires memory ID and new name.

Instructions

Updates a translation memory in your Lara Translate account.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier of the memory to update. Format: mem_xyz123
nameYes

Implementation Reference

  • The handler function that executes the update_memory tool logic. It validates args with Zod schema, extracts id and name, then calls lara.memories.update(id, name).
    export async function updateMemory(args: any, lara: Translator) {
      const validatedArgs = updateMemorySchema.parse(args);
      const { id, name } = validatedArgs;
      return await lara.memories.update(id, name);
    }
  • Zod schema defining the input for update_memory: requires 'id' (string, memory identifier) and 'name' (string, max 250 characters).
    export const updateMemorySchema = z.object({
      id: z
        .string()
        .describe(
          "The unique identifier of the memory to update. Format: mem_xyz123"
        ),
      name: z
        .string()
        .describe("The new name for the memory")
        .refine((name) => name.length <= 250, {
          message: "Name can't be more than 250 characters",
        }),
    });
  • src/mcp/tools.ts:48-68 (registration)
    The handlers record where 'update_memory' is mapped to the updateMemory function (line 53).
    const handlers: Record<string, Handler> = {
      detect_language: detectLanguage,
      translate: translateHandler,
      create_memory: createMemory,
      delete_memory: deleteMemory,
      update_memory: updateMemory,
      add_translation: addTranslation,
      delete_translation: deleteTranslation,
      import_tmx: importTmx,
      check_import_status: checkImportStatus,
      get_glossary: getGlossary,
      create_glossary: createGlossary,
      update_glossary: updateGlossary,
      delete_glossary: deleteGlossary,
      import_glossary_csv: importGlossaryCsv,
      check_glossary_import_status: checkGlossaryImportStatus,
      export_glossary: exportGlossary,
      get_glossary_counts: getGlossaryCounts,
      add_glossary_entry: addGlossaryEntry,
      delete_glossary_entry: deleteGlossaryEntry,
    };
  • The tool definition in the toolDefinitions array, registering update_memory with its description, title 'Rename translation memory', and non-destructive hint.
    {
      name: "update_memory",
      description:
        "Updates a translation memory in your Lara Translate account.",
      inputSchema: z.toJSONSchema(updateMemorySchema),
      annotations: {
        title: "Rename translation memory",
        readOnlyHint: false,
        destructiveHint: false,
        openWorldHint: false,
      },
    },
  • The narrate() switch case that generates a human-readable response: 'Renamed translation memory to ...'.
    case "update_memory":
      return `Renamed translation memory to "${result?.name ?? args?.name ?? ""}"`;
Behavior3/5

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

Annotations indicate a mutation (readOnlyHint=false) and non-destructive (destructiveHint=false), which aligns with the description. However, no additional behavioral context (e.g., side effects, permissions) is provided beyond the basic verb.

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

Conciseness5/5

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

The description is a single focused sentence with no unnecessary words, fitting the tool's simplicity.

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?

For a simple two-parameter update with no output schema, the description is minimally adequate but does not specify that only the name can be updated (implied by schema) or any return value.

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?

Input schema has 50% coverage: id has a format description, but name lacks any description. The description does not elaborate on parameters, leaving the name parameter's purpose implicit. Given borderline coverage, a score of 3 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?

The description clearly states the verb 'Updates' and the resource 'translation memory', but does not differentiate from other update tools like update_glossary. The annotation title 'Rename translation memory' is more specific, but the description remains vague about what aspects can be updated.

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?

No guidance is provided on when to use this tool versus alternatives such as create_memory or delete_memory, nor any prerequisites or exclusions.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/translated/lara-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server