Skip to main content
Glama

Set narrator voice

set_narrator_voice
Destructive

Sets the narrator's spoken language and accent (the app's "Narrator's voice") without touching the actor. Free. The script, every talking scene, the voice and the captions follow it. A script written in the old language must be regenerated (generate_script) or rewritten and passed as script; get_project says so in scriptWarning. An existing storyboard goes stale.

Input Schema

NameRequiredDescriptionDefault
languageNoAsk the user which language the ad is spoken in unless it is obvious (a Spanish market means "es"). Default en. One of: en (English), cs (Czech), nl (Dutch), de (German), it (Italian), pl (Polish), sk (Slovak), es (Spanish). Set it BEFORE the creative brief and script (create_project or set_narrator_voice): they are written in it.
project_idYesThe project's id.
language_accentNoOptional regional accent, e.g. "Castilian Spanish" or "Mexican Spanish". Defaults to a native accent of the language; changing the language clears it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

With destructiveHint=true declared, the description goes further and names exactly what is invalidated: the script must be regenerated, and an existing storyboard 'goes stale'. It also enumerates what follows the setting (script, talking scenes, voice, captions) and notes it is free, none of which the annotations convey.

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?

Four tight sentences, front-loaded with the core action and followed by consequences and remediation. Every sentence carries information, though the dependency chain (regenerate vs pass as `script` vs scriptWarning) is dense enough to require a second read.

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 destructive, no-output-schema mutation tool, the description covers cost, scope, dependent artifacts, and the recovery path, which is what an agent needs to act safely. A closing note on the returned/observable result (e.g., how the agent confirms success or reads the warning) would make it fully complete.

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 coverage is 100%, so language, project_id, and language_accent are already well documented (including the enum and the accent-clearing behavior), which sets the baseline at 3. The description adds little parameter-level detail and even references a `script` argument that is not in this tool's schema, which could momentarily mislead.

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+resource (sets the narrator's spoken language and accent) and immediately scopes it against the sibling by saying it operates 'without touching the actor', which separates it from set_actor. The parenthetical showing the in-app name ('Narrator's voice') anchors the term the user sees.

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?

Explains the downstream workflow clearly: a script in the old language must be regenerated via generate_script or rewritten and passed as `script`, and points to get_project's scriptWarning as the signal. It also flags cost ('Free.'). It stops short of an explicit 'use this when...' rule for choosing this tool over set_actor, but the context is unambiguous.

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