Skip to main content
Glama

Turn on / configure the website-widget voice

set_agent_voice

Configure the voice of the agent's website widget exactly like the app's widget settings page and create/update the voice agent at the voice provider, so voice calls in the widget really work. Only the settings you pass change (the rest keep their saved values or the app defaults). voice_id is required the first time (list_voice_catalog). Takes up to ~1 min. Free to configure; widget voice calls cost 14 credits/min.

Input Schema

NameRequiredDescriptionDefault
idYesAgent id (UUID) — from list_agents
llmNoModel: fast, balanced (default) or smart
rulesNoCommunication rules (plain text instructions for how the agent talks). Omit to keep the saved ones
speedNoSpeaking pace, 0.7-1.3 (1 = normal)
volumeNo
ambientNoBackground sound; "" = none
emotionNoDelivery: neutral, expressive (warm), calm, dynamic (energetic)
handbookNoBehaviour switches (only the ones you pass change)
voice_idNoVoice id from list_voice_catalog (e.g. "retell-Grace", "11labs-Adrian")
languagesNoRetell locales like ["en-US","uk-UA"]; more than one = multilingual (answers in the caller's language). [] or one locale = script language only
end_call_sNoHang up after this many seconds of silence
backchannelNoShort "mm-hm" acknowledgements while the person talks
screen_cardsNoShow interactive cards (buttons/forms) on screen during voice calls
denoising_modeNo
responsivenessNoHow fast the agent answers (1 = fastest)
expressive_modeNoOnly works for voices marked expressive in list_voice_catalog
reminder_secondsNoNudge a silent person after N seconds; 0 = off
dynamic_voice_speedNo
ambient_sound_volumeNo
backchannel_frequencyNo
dynamic_responsivenessNo
interruption_sensitivityNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed26 schema fields changed
    • addedInput schema / properties / ambient
      Added value: +{
      +  "description": "Background sound; \"\" = none",
      +  "enum": [
      +    "",
      +    "coffee-shop",
      +    "call-center",
      +    "convention-hall"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / ambient_sound_volume
      Added value: +{
      +  "maximum": 2,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / backchannel
      Added value: +{
      +  "description": "Short \"mm-hm\" acknowledgements while the person talks",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / backchannel_frequency
      Added value: +{
      +  "maximum": 1,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / denoising_mode
      Added value: +{
      +  "enum": [
      +    "noise-cancellation",
      +    "noise-and-background-speech-cancellation"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / dynamic_responsiveness
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / dynamic_voice_speed
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / emotion
      Added value: +{
      +  "description": "Delivery: neutral, expressive (warm), calm, dynamic (energetic)",
      +  "enum": [
      +    "neutral",
      +    "expressive",
      +    "calm",
      +    "dynamic"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / end_call_s
      Added value: +{
      +  "description": "Hang up after this many seconds of silence",
      +  "maximum": 120,
      +  "minimum": 10,
      +  "type": "number"
      +}
    • addedInput schema / properties / expressive_mode
      Added value: +{
      +  "description": "Only works for voices marked expressive in list_voice_catalog",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / handbook
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Behaviour switches (only the ones you pass change)",
      +  "properties": {
      +    "ai_disclosure": {
      +      "type": "boolean"
      +    },
      +    "conversational_personality": {
      +      "type": "boolean"
      +    },
      +    "echo_verification": {
      +      "type": "boolean"
      +    },
      +    "high_empathy": {
      +      "type": "boolean"
      +    },
      +    "natural_filler_words": {
      +      "type": "boolean"
      +    },
      +    "scope_boundaries": {
      +      "type": "boolean"
      +    },
      +    "speech_normalization": {
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / id / description
      Added value: +"Agent id (UUID) — from list_agents"
    • addedInput schema / properties / interruption_sensitivity
      Added value: +{
      +  "maximum": 1,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • removedInput schema / properties / language
      Removed value: -{
      -  "type": "string"
      -}
    • addedInput schema / properties / languages
      Added value: +{
      +  "description": "Retell locales like [\"en-US\",\"uk-UA\"]; more than one = multilingual (answers in the caller's language). [] or one locale = script language only",
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • addedInput schema / properties / llm
      Added value: +{
      +  "description": "Model: fast, balanced (default) or smart",
      +  "enum": [
      +    "fast",
      +    "balanced",
      +    "smart"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / reminder_seconds
      Added value: +{
      +  "description": "Nudge a silent person after N seconds; 0 = off",
      +  "maximum": 120,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / responsiveness
      Added value: +{
      +  "description": "How fast the agent answers (1 = fastest)",
      +  "maximum": 1,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / rules
      Added value: +{
      +  "description": "Communication rules (plain text instructions for how the agent talks). Omit to keep the saved ones",
      +  "maxLength": 8000,
      +  "type": "string"
      +}
    • addedInput schema / properties / screen_cards
      Added value: +{
      +  "description": "Show interactive cards (buttons/forms) on screen during voice calls",
      +  "type": "boolean"
      +}
    • removedInput schema / properties / speech_speed
      Removed value: -{
      -  "type": "number"
      -}
    • addedInput schema / properties / speed
      Added value: +{
      +  "description": "Speaking pace, 0.7-1.3 (1 = normal)",
      +  "maximum": 1.3,
      +  "minimum": 0.7,
      +  "type": "number"
      +}
    • addedInput schema / properties / voice_id
      Added value: +{
      +  "description": "Voice id from list_voice_catalog (e.g. \"retell-Grace\", \"11labs-Adrian\")",
      +  "type": "string"
      +}
    • removedInput schema / properties / voice_temperature
      Removed value: -{
      -  "type": "number"
      -}
    • removedInput schema / properties / voice_type
      Removed value: -{
      -  "type": "string"
      -}
    • addedInput schema / properties / volume
      Added value: +{
      +  "maximum": 2,
      +  "minimum": 0,
      +  "type": "number"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations the description carries the full burden, and it delivers above-average disclosure: partial-update semantics, an external side effect (create/update the agent at the voice provider), a ~1 min execution time, zero configuration cost versus 14 credits/min for calls. It still doesn't cover failure modes (e.g. invalid voice_id, missing provider permission) or whether repeated calls are idempotent.

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?

Three dense sentences with the core action and its side effect front-loaded, then semantics, then cost/latency. Almost no waste, though the first sentence is a long run-on that could be split for faster parsing.

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 22-parameter mutation tool with a nested handbook object, no annotations and no output schema, the description covers the essentials an agent needs: patch semantics, the required-first-time parameter and its source tool, latency, and cost. Gaps remain around error/prerequisite conditions and what the tool returns on success.

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 description coverage is 68%, so the schema does much of the work, but the description adds cross-cutting meaning the schema can't express: omitted fields retain saved values/defaults, voice_id is mandatory on first configuration only, and rules can be omitted to keep existing text. The remaining undocumented params (handbook switches, denoising_mode, dynamic_* toggles) are left to the schema, which is acceptable at this coverage level.

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 (configure) plus resource (agent's website-widget voice) and adds the concrete side effect of provisioning the voice agent at the provider. The 'website widget' scoping clearly separates it from siblings like set_telegram_voice_settings and set_presentation_voice without needing to name them.

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?

Explicitly says voice_id is required the first time and routes the agent to list_voice_catalog, which is a genuine when/how prerequisite. It also clarifies patch semantics ('only the settings you pass change'). It does not state when to prefer setup_phone_agent or set_telegram_voice_calls instead, so no explicit exclusions.

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