Skip to main content
Glama

ringkit_put_voice_stack

Destructive

Switch the voice stack: {stack: livekit | elevenlabs}. Applied synchronously (ElevenLabs agent sync, number import or removal, carrier routing), so it can take a few seconds. Needs an active number and ai_only/ai_first routing (human_first answers 409 voice_stack_unsupported_mode). A failed step answers 502 voice_stack_failed with the status in details: call it again with the same stack to resume. Owner only. Reuse an idempotencyKey when retrying; without one, each call executes again.

Input Schema

NameRequiredDescriptionDefault
stackYes
brainModeNo
businessIdNoDefaults to the business of the API key in the Authorization header.
idempotencyKeyNoOptional. Retries of the same call should reuse it (the stored result comes back); a new value deliberately repeats an identical call. The MCP POST's Idempotency-Key header takes precedence.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Goes well past the annotations by disclosing what the switch actually touches (ElevenLabs agent sync, number import/removal, carrier routing), that it is synchronous and slow, that it is owner-only, and how partial failure surfaces (502 voice_stack_failed with status in details). The retry contract — same stack resumes, idempotencyKey avoids re-execution — is exactly the behavioral context the annotations cannot express.

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?

Front-loads the action and its enum, then layers prerequisites, error semantics, authorization, and idempotency in short parenthetical clauses. Dense but every sentence carries information an agent needs before calling.

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?

For a destructive, slow, owner-only mutation with no output schema, the description covers side effects, latency, preconditions, failure codes, and retry semantics. The only untouched item is brainMode, a minor omission against otherwise thorough coverage.

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 50%; the description reinforces the stack enum and clarifies idempotencyKey usage (reuse to resume, new value to deliberately repeat), which adds real meaning beyond the schema text. However, brainMode is undocumented in both the schema and the description, leaving a meaningful gap for a 4-parameter tool.

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 and resource ("Switch the voice stack") with the exact enum values inline, and the sibling ringkit_get_voice_stack makes the read/write split obvious from the name plus this description.

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?

Gives concrete preconditions for use (an active number plus ai_only/ai_first routing) and names the failing mode (human_first → 409 voice_stack_unsupported_mode). It never explicitly points to ringkit_get_voice_stack as the way to check the current stack first, which is the only missing routing cue.

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