Skip to main content
Glama

Remove a kept voice

voice_remove
Destructive

Takes a voice off the project's kept voices, by its voiceId (voices_read). A cloned or designed voice is deleted from ElevenLabs for good, which frees one of the plan's voices of its own; a library voice only leaves the list and can be kept again. Refused while a character still speaks in it. Ask the owner before removing their own cloned voice.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "voice_id": "<voice_id>"
    },
    "name": "voice_remove"
  }
}

Input Schema

NameRequiredDescriptionDefault
projectNoThe project's id or exact name. Optional when the account has one project.
voice_idYesThe voiceId from voices_read.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only flag destructiveHint=true; the description goes much further by distinguishing two outcomes: a cloned/designed voice is "deleted from ElevenLabs for good" and consumes a plan slot, while a library voice "only leaves the list and can be kept again." It also discloses the blocking condition and a human-consent requirement, which is exactly the risk context an agent needs before an irreversible call.

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 short sentences, front-loaded with what the tool does, then consequences, then refusals, then consent — a sensible ordering with no filler. One clause ("frees one of the plan's voices of its own") is slightly awkward but still carries real information about quota effects.

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 two-parameter destructive tool with full annotation coverage and no output schema, the description supplies everything that matters: the two destruction modes, the blocking condition, and the consent norm. Nothing an agent would need before calling is missing.

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 both parameters are already documented, and the description only restates that voice_id comes from voices_read. The optional project parameter and its single-project default behaviour are left entirely to the schema, so no meaning is added beyond it. Baseline 3 applies.

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?

"Takes a voice off the project's kept voices, by its voiceId" names a specific verb and resource, and the rest of the description cleanly separates this from voice_keep (re-adding), voice_clone (creation), and voices_read (the id source). An agent can place this tool in the voice lifecycle without opening any schema.

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 a concrete precondition for use ("Refused while a character still speaks in it") and a consent rule ("Ask the owner before removing their own cloned voice"), plus the recovery path for library voices via voice_keep. It stops short of an explicit "use X instead when..." routing statement for the cloned-voice case, but the implied conditions are clear.

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.