Skip to main content
Glama

Change the glossary of the translation

set_glossary
Idempotent

Tell the machine translator how to translate terms: {"en": {"стенд, стенде, стенда": "lab", "засечки, засечек": "marks", "Занятие": "Lesson"}} -- the target language, the term with the forms of it that differ (separated by commas) and its translation. For a presentation ("slug", you may edit it) or for all of a project ("project", yours). The entries are added to the glossary; an entry with "" as its translation is taken out; "replace": true replaces the whole glossary. The machine translations of the texts with these terms are made again (translations written by people stay).

Input Schema

NameRequiredDescriptionDefault
slugNoThe presentation (its slug) -- or give "project".
projectNoThe project (its slug): its glossary counts for all its presentations.
replaceNoReplace the whole glossary (default: add to it).
glossaryYes{"<language>": {"<term, its forms>": "<translation>"}}.

Output Schema

NameRequiredDescriptionDefault
projectNoThe project of the presentation, if any.
glossaryYes{"<language>": {"<term, its forms>": "<translation>"}}.
translatorNoWhether the site has a machine translator.
project_glossaryNoThe glossary of that project (counts too).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.1/5.0
Behavior1/5

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

The description discloses destructive behavior that conflicts with the annotation destructiveHint=false: it states that 'replace': true replaces the whole glossary and that an entry whose translation is "" is taken out. Removing or wholesale overwriting glossary entries is a destructive update, so the annotation and the description disagree. Per the rubric this is an annotation contradiction, which caps this dimension.

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

Conciseness3/5

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

The description is front-loaded with the core action, but it is one dense run-on block with an embedded, awkwardly quoted JSON sample in the middle and stacked clauses about add/remove/replace and re-translation. It earns most of its length given the tool's complexity, but the structure could be broken into clearer rules.

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

Completeness4/5

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

For a 4-parameter, nested-object mutation tool with an output schema (so return values need not be described), the description covers target selection, add/remove/replace semantics, and the side effect that machine translations are regenerated while human translations are preserved. The remaining gap is the absence of any access/permission prerequisite and no pointer to closely related siblings.

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 100%, so baseline is 3, and the description adds genuine meaning beyond the schema: it explains the comma-separated term forms as inflected variants of the same term, and introduces the empty-string translation as the removal signal, which appears nowhere in the property descriptions. Scope resolution (slug vs 'project') is clarified consistently with the schema.

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 states a concrete verb and resource: tell the machine translator how to translate terms by setting a glossary, with an inline example of the accepted data shape. It implicitly separates itself from the read-side sibling get_glossary and from translate_presentation (which it says is re-triggered for affected texts), but it never names a sibling explicitly. Clear purpose, no explicit differentiation.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the text explains that entries are added by default, removed via an empty translation, and wholesale replaced with replace=true, and that the target is either a presentation slug or the whole project. There is no explicit "use this when / instead of X" guidance and no mention of get_glossary, translate_presentation or set_language as alternatives, so an agent must infer the 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.

Resources