Skip to main content
Glama

Localazy MCP by usefulapi

Import a few keys

localazy_import_keys
Destructive

WRITE: add or update up to 50 string keys in ONE file, in ONE language (flat key -> text; use a key like "home.title" for the key name). Needs the Owner role. Nothing is deleted or deprecated, and Localazy does not overwrite existing current translations by default (translations identical to the source are skipped). By default the language is the project's source language, so this adds new source keys or changes the source text of existing ones (which marks their translations as changed); pass a different language to import translations, optionally through review with import_as_new. Imports count against the project's daily import cap (Free plan: 100/day). Returns an import_batch id for localazy_get_import_progress. POST /projects/{projectId}/import.

Input Schema

NameRequiredDescriptionDefault
keysYesKey name -> text, 1-50 entries (e.g. {"home.title": "Welcome"}).
projectYesLocalazy project id or slug (from localazy_list_projects).
languageYesLanguage of the strings in `keys`, e.g. en. Use the project's source language to add source keys.
file_nameNoTarget file name in the project (default content.json). A new name creates a new file.
file_pathNoOptional path of the file in the project, without the file name.
import_as_newNoSend the imported translations through the review process (recommended for translations you are unsure about).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Far exceeds the annotations: it states nothing is deleted or deprecated, that existing current translations are not overwritten by default, that identical-to-source translations are skipped, that changing source text marks translations as changed, and that calls consume a daily import cap (Free: 100/day). It also discloses the Owner-role requirement and the returned import_batch id. This is exactly the mutation/accounting context an agent needs before a destructive write.

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?

The WRITE label front-loads the critical classification and the sentences are dense with non-redundant facts (limits, defaults, role, quota, return value). It is on the long side for a single dense paragraph, but almost no sentence is filler, so the length is largely earned.

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

Completeness5/5

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

Even without an output schema the description explains the return value (import_batch id) and the follow-up tool for tracking it, and covers auth, quota, file/language scoping, and defaulted behavior. For a 6-parameter nested-object write with a review path, nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3, but the description adds real semantics: the 50-entry ceiling, the dotted 'home.title' key convention, and that the default language is the source language so omitting it changes source text rather than translations. gain over structured fields is genuine, though file_name's default (content.json) is left to the schema.

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

Purpose5/5

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

States a specific verb (add or update), resource (string keys), and tight scope (up to 50 keys, one file, one language) with the flat key->text shape spelled out. The 'WRITE:' prefix and the HTTP endpoint make it immediately distinguishable from read-only siblings like get_file_keys or get_import_progress.

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

Usage Guidelines4/5

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

Gives clear when-to-use context: default language targets the source language, while passing a different language imports translations, optionally routed through review via import_as_new. It also names the Owner role prerequisite and points forward to localazy_get_import_progress. It does not explicitly compare against alternative write paths such as submit_translation or update_key_properties, so it stops short of full alternative routing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.