Skip to main content
Glama

Change project languages or context

update_project
DestructiveIdempotent

Use this when someone asks to change a project's default locale, replace its list of languages, or set its translation context. Returns which fields changed. The language list is replaced as a whole, no strings are translated or deleted, and the project name stays fixed. Not for adding a language with its translations.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contextNoTranslation context for the whole project, up to 600 characters; an empty string clears it
localesNoComplete replacement list of locale codes, including the default locale
defaultLocaleNoNew default locale code; it has to be one of the project's locales
projectIdOrNameYesProject id or name

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusYes
projectYes
changedFieldsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / context / description
      Previous value: -"Optional translation context for the project. Use an empty string to clear it."New value: +"Translation context for the whole project, up to 600 characters; an empty string clears it"
    • changedInput schema / properties / defaultLocale / description
      Previous value: -"New default locale code. It must be one of the project locales."New value: +"New default locale code; it has to be one of the project's locales"
    • changedInput schema / properties / locales / description
      Previous value: -"Complete replacement list of locale codes. Include the default locale."New value: +"Complete replacement list of locale codes, including the default locale"
    • changedInput schema / properties / projectIdOrName / description
      Previous value: -"Project id or project name (slug)"New value: +"Project id or name"
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

With destructiveHint=true and idempotentHint=true already declared, the description usefully bounds what 'destructive' means here: the locale list is replaced wholesale, no strings are translated or deleted, and the name is immutable. It also states the return shape ('which fields changed'). It stops short of mentioning permission or auth requirements, so it is very good but not exhaustive.

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?

Three sentences, front-loaded with the usage trigger, then the behavioral constraints, then the exclusion. Every sentence carries distinct information with no repetition of the title or schema.

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?

Output schema covers the return value, annotations cover safety and idempotency, and the schema fully documents all four parameters. The only thing an agent additionally needs — when not to call it — is explicitly provided.

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 each parameter is well documented there (including the 'one of the project's locales' constraint and the empty-string-clears-context rule), so the baseline of 3 applies. The description reinforces replacement semantics but adds no syntax or format detail beyond 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?

Names the concrete operations: change default locale, replace the language list, set translation context. The verb 'change/update' plus a clearly scoped resource distinguishes it from siblings like add_locale and update_phrase without needing the schema.

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

Usage Guidelines5/5

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

Opens with an explicit trigger ('Use this when someone asks to...') and closes with a hard exclusion ('Not for adding a language with its translations'), implicitly routing that case to add_locale. Both when-to-use and when-not-to-use are stated.

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