Skip to main content
Glama

elevenlabs

Read-only

ElevenLabs account, read-only: credits, voices and models. Nothing here spends credits; the generations are elevenlabs_act.

op:

  • get_subscription — plan, credits used this period (character_count) against the allowance (character_limit), reset time (next_character_count_reset_unix), voice slots. Read it before a batch.

  • list_voices — the voices the account can use (its own and the default ones): id, name, category, labels (accent, age, gender, use case), preview URL. Narrow with search, voice_type, category; page with next_page_token while has_more is true.

  • get_voice — one voice (voice_id): labels, description, default settings.

  • list_models — the models and what each can do (languages, maximum characters per request). A model id is what create_speech takes.

The two lists are tightened by default (a voice's samples, fine-tuning, sharing and verification records; a model's language and rate matrices), and the answer's projection names what was removed: full=true returns the raw records.

On the SHARED key (granted by oto, no key of your own) the reads are free, and get_subscription is refused: that balance is the instance's, not yours.

A restricted key may lack the permission a read needs (user_read, voices_read, models_read) even when it can generate.

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": {
      "op": "<op>"
    },
    "name": "elevenlabs"
  }
}

Input Schema

NameRequiredDescriptionDefault
opYesWhat to read (see above).
_orgNoOrg (id) de CET APPEL. `oto_list_orgs()`.
fullNo`list_voices` / `list_models`: the raw records instead of the tightened view.
_groupNoÉquipe (id) de CET APPEL, sous son org parente.
searchNoWords matched against a voice's name, description, labels and category (`list_voices`).
_run_idNoOBLIGATOIRE à chaque appel dès `run_start` ou `data_claim_next` : sans lui, l'écriture sur une ligne réservée est refusée. Hérité seulement si le serveur tient un run actif — n'y compte pas.
_projectNoProjet (id) de CET APPEL — jeton PRIMAIRE. `oto_project(op='list')`.
categoryNo`premade`, `cloned`, `generated` or `professional` (`list_voices`).
voice_idNoThe voice to read, for `get_voice`.
_instanceNoInstance de connecteur PRÉCISE (un credential exact). `oto_instance(op='list')`.
page_sizeNoVoices per page, 1 to 100, default 10 (`list_voices`).
voice_typeNo`personal` (the account's own), `community` (saved from the library), `default`, `workspace`, or `non-default` (`list_voices`).
next_page_tokenNoFrom the previous page of `list_voices`.

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.5/5.0
Behavior4/5

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

The readOnlyHint annotation already covers the safety profile, but the description adds real behavioral context beyond it: lists are returned in a tightened projection, the response carries a `projection` field naming what was stripped, and `full=true` restores raw records. It also discloses the shared-key refusal of `get_subscription` and the permission-based failure mode. What it does not cover is pagination limits beyond `has_more` and the default page size, though the schema documents those.

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?

Front-loaded with the one-line scope and the sibling exclusion, then a scannable bulleted op list, then the projection and key caveats. Dense and well-organized; the only waste is minor repetition of enum values that the schema already spells out (e.g. the `voice_type` and `category` value lists).

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 13-parameter multiplexed tool with no output schema, the description covers what each op returns (credit fields, voice attributes, model capabilities), the projection/`full` behavior, and the auth caveats — enough to call it correctly. The remaining gap is the booking/context parameters and the exact return shape for `get_voice` and `get_subscription`, which are left to the schema.

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 coverage is 100%, so the baseline is 3; the description earns above that by tying each parameter to the op it applies to (`search`, `voice_type`, `category`, `next_page_token` only for `list_voices`; `voice_id` only for `get_voice`; `full` only for the two lists) — cross-parameter applicability the schema does not express. It does not address the context parameters (`_org`, `_group`, `_project`, `_instance`, `_run_id`), which remain documented only in the schema.

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 the resource (ElevenLabs account) and the exact scope (credits, voices, models) with an explicit read-only qualifier, then names the sibling that does the writing (`elevenlabs_act`). The four `op` values enumerate exactly what can be read, so an agent can distinguish this from every other tool in the sibling list without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives per-operation when-to-use guidance (read `get_subscription` before a batch; `list_models` before `create_speech`) and routes generation work to `elevenlabs_act`. It also states the two preconditions that would otherwise cause a failed call: `get_subscription` is refused on the shared key, and a restricted key may lack `user_read`/`voices_read`/`models_read`.

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