Skip to main content
Glama

configure_voice_agent

Configure or toggle the LiveKit voice agent for a chatbot.

- enabled: enable or disable voice sessions for this bot.
- mode: 'pipeline' (modular STT + LLM + TTS) or 'realtime' (end-to-end multimodal audio).
- visualizer: visual audio representation ('wave', 'bar', 'grid', 'radial', 'aura').
- welcome_message: first message spoken when a visitor starts a voice session.
- expression_enabled: enable facial/visual pitch animations.
- realtime_provider: 'google', 'openai', 'azure', 'aws', 'nvidia', 'phonic', 'spacexai', 'ultravox'.
- llm_provider: 'google', 'livekit-inference', 'openai', 'anthropic', 'openrouter'.
- stt_provider: 'google', 'livekit-inference', 'deepgram', 'assemblyai', 'soniox', 'cartesia', 'openai'.
- tts_provider: 'google', 'livekit-inference', 'cartesia', 'deepgram', 'elevenlabs', 'openai', 'fishaudio'.
- tts_voice: voice name / voice ID (e.g. 'Kore', 'Puck', 'alloy', 'echo', etc.).
- max_duration_minutes: maximum voice conversation limit (1-60 mins).

Input Schema

NameRequiredDescriptionDefault
modeNo
bot_idYes
enabledNo
llm_modelNo
stt_modelNo
tts_modelNo
tts_voiceNo
agent_nameNo
visualizerNo
llm_api_keyNo
stt_api_keyNo
tts_api_keyNo
llm_providerNo
stt_languageNo
stt_providerNo
tts_providerNo
realtime_modelNo
welcome_messageNo
realtime_api_keyNo
realtime_providerNo
expression_enabledNo
max_duration_minutesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so the description carries the full behavioral burden, and it leaves key questions open: are unset (null-defaulted) parameters preserved or reset to defaults, does this require an existing agent, are changes immediately live or does the agent need a restart, and how are API keys stored. It does at least convey mutation semantics and a hard ceiling ('1-60 mins') via max_duration_minutes.

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 one-line purpose is front-loaded and each bullet is a single dense line pairing a parameter name with its allowed values or effect. Given 22 parameters, the length is proportionate; minor waste only in listing provider names without saying which model families pair with them.

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

Completeness2/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 no annotations and no output schema, the description is under-specified: it never explains partial-update semantics (all params are optional with null defaults), never explains mode-dependent parameters, and never says what the tool returns or how configuration errors surface. An agent could construct a call but could easily clobber settings or omit required provider/model pairings.

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 0% across 22 parameters, but the description supplies genuine meaning for roughly half of them, including option lists for mode, visualizer, and the four provider parameters that the schema leaves as bare strings. However, 10+ parameters — bot_id, llm_model, stt_model, tts_model, realtime_model, agent_name, stt_language, and the three api_key fields — get no explanation, and the api_key fields in particular need guidance on when they are required versus inherited from configure_byok.

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 opens with a specific verb and resource ('Configure or toggle the LiveKit voice agent') and scopes it ('for a chatbot'), and the bullet list makes clear this is the write-side counterpart to the read-only voice config sibling. It stops short of naming get_voice_agent_config as the inspection route, but the purpose itself is unambiguous.

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 only implied by the parameter enumeration: an agent can infer this is the tool for changing voice settings, but nothing states when to use it versus get_voice_agent_config, whether it must be called after create_chatbot, or which parameters apply only in 'realtime' vs 'pipeline' mode. No prerequisites or exclusions are given.

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