mcp/elevenlabs

Verified Publisher

By mcp

Updated 13 days ago

Official ElevenLabs Model Context Protocol (MCP) server that enables interaction with powerful Te...

Image
Machine learning & AI
7

10K+

mcp/elevenlabs repository overview

ElevenLabs MCP Server

Official ElevenLabs Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech and audio processing APIs.

What is an MCP Server?

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/elevenlabs/elevenlabs-mcp/blob/afc22357432db9e8b33991a83d41906001f6d759/Dockerfile
Commitafc22357432db9e8b33991a83d41906001f6d759
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/elevenlabs --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (27)

Tools provided by this ServerShort Description
add_knowledge_base_to_agentAdd a knowledge base to ElevenLabs workspace.
check_subscriptionCheck the current subscription status.
compose_musicConvert a prompt to music and save the output audio file to a given directory.
create_agentCreate a conversational AI agent with custom configuration.
create_composition_planCreate a composition plan for music generation.
create_voice_from_previewAdd a generated voice to the voice library.
get_agentGet details about a specific conversational AI agent
get_conversationGets conversation with transcript.
get_voiceGet details of a specific voice
isolate_audioIsolate audio from a file.
list_agentsList all available conversational AI agents
list_conversationsLists agent conversations.
list_modelsList all available models
list_phone_numbersList all phone numbers associated with the ElevenLabs account
make_outbound_callMake an outbound call using an ElevenLabs agent.
play_audioPlay an audio file.
search_voice_librarySearch for a voice across the entire ElevenLabs voice library.
search_voicesSearch for existing voices, a voice that has already been added to the user's ElevenLabs voice library.
simulate_conversationSimulate a text conversation between a conversational AI agent and a simulated user.
speech_to_speechTransform audio from one voice to another using provided audio files.
speech_to_textTranscribe speech from an audio file.
text_to_sound_effectsConvert text description of a sound effect to sound effect with a given duration.
text_to_speechConvert text to speech with a given voice.
text_to_voiceCreate voice previews from a text prompt.
upload_music_for_inpaintingUpload an existing audio file to ElevenLabs so it can be referenced in music_v2 inpainting workflows.
video_to_musicGenerate background music for one or more video files.
voice_cloneCreate an instant voice clone of a voice using provided audio files.

Tools Details

Tool: add_knowledge_base_to_agent

Add a knowledge base to ElevenLabs workspace. Allowed types are epub, pdf, docx, txt, html.

⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
ParametersTypeDescription
agent_idstringID of the agent to add the knowledge base to.
knowledge_base_namestringName of the knowledge base.
input_file_pathstring optionalPath to the file to add to the knowledge base.
textstring optionalText to add to the knowledge base.
urlstring optionalURL of the knowledge base.

This tool interacts with external entities.


Tool: check_subscription

Check the current subscription status. Could be used to measure the usage of the API.

Tool: compose_music

Convert a prompt to music and save the output audio file to a given directory. Directory is optional, if not provided, the output file will be saved to $HOME/Desktop. Saves output file to directory (default: $HOME/Desktop).

Two models are supported:
- music_v2 (default): latest model. Composition plans use a `chunks` array where each chunk is either a `GenerationChunk` (text, duration_ms, positive_styles, negative_styles, context_adherence, optional conditioning_ref + condition_strength) or an `AudioRefChunk` ({song_id, range: {start_ms, end_ms}}) for inpainting. Inpainting also requires the source song to have been stored — call this tool with store_for_inpainting=True or use upload_music_for_inpainting first to get a song_id.
- music_v1: legacy model. Composition plans use positive_global_styles, negative_global_styles, sections.
ParametersTypeDescription
composition_planstring optionalComposition plan dict. Shape depends on model_id (see above). Must provide either prompt or composition_plan.
force_instrumentalboolean optionalIf True, the model will avoid generating lyrics/vocals.
model_idstring optionalWhich music model to use. One of "music_v1" or "music_v2". Defaults to "music_v2".
music_length_msstring optionalLength of the generated music in milliseconds (3000-600000). Cannot be used if composition_plan is provided.
output_directorystring optionalDirectory to save the output audio file
promptstring optionalPrompt to convert to music. Must provide either prompt or composition_plan.
seedstring optionalOptional integer seed for reproducible generation (music_v2 only).
store_for_inpaintingboolean optionalIf True, the generated song is stored server-side and the returned song_id can be used in later inpainting calls (as an AudioRefChunk.song_id, or conditioning_ref).

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: create_agent

Create a conversational AI agent with custom configuration.

⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
ParametersTypeDescription
first_messagestringFirst message the agent will say i.e. "Hi, how can I help you today?"
namestringName of the agent
system_promptstringSystem prompt for the agent
asr_qualitystring optionalQuality of the ASR. high or low.
languagestring optionalISO 639-1 language code for the agent
llmstring optionalLLM to use for the agent
max_duration_secondsinteger optionalMaximum duration of a conversation in seconds. Defaults to 600 seconds (10 minutes).
max_tokensstring optionalMaximum number of tokens to generate.
model_idstring optionalID of the ElevenLabs model to use for the agent.
optimize_streaming_latencyinteger optionalOptimize streaming latency. Range is 0 to 4.
record_voiceboolean optionalWhether to record the agent's voice.
retention_daysinteger optionalNumber of days to retain the agent's data.
similarity_boostnumber optionalSimilarity boost for the agent. Range is 0 to 1.
stabilitynumber optionalStability for the agent. Range is 0 to 1.
temperaturenumber optionalTemperature for the agent. The lower the temperature, the more deterministic the agent's responses will be. Range is 0 to 1.
turn_timeoutinteger optionalTimeout for the agent to respond in seconds. Defaults to 7 seconds.
voice_idstring optionalID of the voice to use for the agent

This tool interacts with external entities.


Tool: create_composition_plan

Create a composition plan for music generation. Usage of this endpoint does not cost any credits but is subject to rate limiting depending on your tier. Composition plans can be used when generating music with the compose_music tool.

The returned plan shape depends on model_id:
- music_v2 (default): `{"chunks": [GenerationChunk | AudioRefChunk, ...]}`. Each GenerationChunk has `text`, `duration_ms`, `positive_styles`, `negative_styles`, `context_adherence` and optional `conditioning_ref` + `condition_strength`. AudioRefChunks reference a stored song via `song_id` and `range: {start_ms, end_ms}` for inpainting.
- music_v1: `{"positive_global_styles": [...], "negative_global_styles": [...], "sections": [...]}`.
ParametersTypeDescription
promptstringPrompt to create a composition plan for
model_idstring optionalWhich music model to plan for. One of "music_v1" or "music_v2". Defaults to "music_v2".
music_length_msstring optionalThe length of the composition plan to generate in milliseconds. Must be between 10000ms and 300000ms. Optional - if not provided, the model will choose a length based on the prompt.
source_composition_planstring optionalAn optional composition plan dict to use as a source for the new composition plan. Should match the shape of the model_id you request.

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: create_voice_from_preview

Add a generated voice to the voice library. Uses the voice ID from the text_to_voice tool.

⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
ParametersTypeDescription
generated_voice_idstring
voice_descriptionstring
voice_namestring

This tool interacts with external entities.


Tool: get_agent

Get details about a specific conversational AI agent

ParametersTypeDescription
agent_idstring

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: get_conversation

Gets conversation with transcript. Returns: conversation details and full transcript. Use when: analyzing completed agent conversations.

ParametersTypeDescription
conversation_idstringThe unique identifier of the conversation to retrieve, you can get the ids from the list_conversations tool.

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: get_voice

Get details of a specific voice

ParametersTypeDescription
voice_idstring

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: isolate_audio

Isolate audio from a file. Saves output file to directory (default: $HOME/Desktop).

⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
ParametersTypeDescription
input_file_pathstring
output_directorystring optional

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: list_agents

List all available conversational AI agents

Tool: list_conversations

Lists agent conversations. Returns: conversation list with metadata. Use when: asked about conversation history.

ParametersTypeDescription
agent_idstring optional
call_start_after_unixstring optional
call_start_before_unixstring optional
cursorstring optional
max_lengthinteger optional
page_sizeinteger optional

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: list_models

List all available models

Tool: list_phone_numbers

List all phone numbers associated with the ElevenLabs account

Tool: make_outbound_call

Make an outbound call using an ElevenLabs agent. Automatically detects provider type (Twilio or SIP trunk) and uses the appropriate API.

⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
ParametersTypeDescription
agent_idstringThe ID of the agent that will handle the call
agent_phone_number_idstringThe ID of the phone number to use for the call
to_numberstringThe phone number to call (E.164 format: +1xxxxxxxxxx)

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: play_audio

Play an audio file. Supports WAV and MP3 formats.

ParametersTypeDescription
input_file_pathstring

This tool is read-only. It does not modify its environment.


Tool: search_voice_library

Search for a voice across the entire ElevenLabs voice library.

ParametersTypeDescription
pageinteger optionalPage number to return (0-indexed)
page_sizeinteger optionalNumber of voices to return per page (1-100)
searchstring optionalSearch term to filter voices by

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: search_voices

Search for existing voices, a voice that has already been added to the user's ElevenLabs voice library. Searches in name, description, labels and category.

ParametersTypeDescription
searchstring optionalSearch term to filter voices by. Searches in name, description, labels and category.
sortstring optionalWhich field to sort by. created_at_unix might not be available for older voices.
sort_directionstring optionalSort order, either ascending or descending.

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: simulate_conversation

Simulate a text conversation between a conversational AI agent and a simulated user. Runs the full conversation and returns the transcript plus analysis.

Use this to test agent behaviour, evaluate prompts, and catch failure modes without
a live call. The simulated user follows the persona you describe.

⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs.
Only use when explicitly requested by the user.
ParametersTypeDescription
agent_idstringID of the agent to test. Use list_agents to find IDs.
simulated_user_promptstringInstructions for how the simulated user should behave.
extra_evaluation_criteriastring optionalOptional list of dicts, each with:
first_messagestring optionalOptional opening message to kick off the conversation.
max_turnsinteger optionalMaximum conversation turns. Defaults to 10.

This tool interacts with external entities.


Tool: speech_to_speech

Transform audio from one voice to another using provided audio files. Saves output file to directory (default: $HOME/Desktop).

⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
ParametersTypeDescription
input_file_pathstring
output_directorystring optional
voice_namestring optional

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: speech_to_text

Transcribe speech from an audio file. When save_transcript_to_file=True: Saves output file to directory (default: $HOME/Desktop). When return_transcript_to_client_directly=True, always returns text directly regardless of output mode.

⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
ParametersTypeDescription
input_file_pathstring
diarizeboolean optionalWhether to diarize the audio file. If True, which speaker is currently speaking will be annotated in the transcription.
language_codestring optionalISO 639-3 language code for transcription. If not provided, the language will be detected automatically.
output_directorystring optionalDirectory where files should be saved (only used when saving files).
return_transcript_to_client_directlyboolean optionalWhether to return the transcript to the client directly.
save_transcript_to_fileboolean optionalWhether to save the transcript to a file.

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: text_to_sound_effects

Convert text description of a sound effect to sound effect with a given duration. Saves output file to directory (default: $HOME/Desktop).

Duration must be between 0.5 and 5 seconds.

⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
ParametersTypeDescription
textstringText description of the sound effect
duration_secondsnumber optionalDuration of the sound effect in seconds
loopboolean optionalWhether to loop the sound effect. Defaults to False.
output_directorystring optionalDirectory where files should be saved (only used when saving files).
output_formatstring optional

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: text_to_speech

Convert text to speech with a given voice. Saves output file to directory (default: $HOME/Desktop).

Only one of voice_id or voice_name can be provided. If none are provided, the default voice will be used.

⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
ParametersTypeDescription
textstring
languagestring optionalISO 639-1 language code for the voice.
model_idstring optional
output_directorystring optional
output_formatstring optional
similarity_boostnumber optional
speednumber optional
stabilitynumber optional
stylenumber optional
use_speaker_boostboolean optional
voice_idstring optional
voice_namestring optional

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: text_to_voice

Create voice previews from a text prompt. Creates three previews with slight variations. Saves output file to directory (default: $HOME/Desktop).

If no text is provided, the tool will auto-generate text.

Voice preview files are saved as: voice_design_(generated_voice_id)_(timestamp).mp3

Example file name: voice_design_Ya2J5uIa5Pq14DNPsbC1_20250403_164949.mp3

⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
ParametersTypeDescription
voice_descriptionstring
output_directorystring optional
textstring optional

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: upload_music_for_inpainting

Upload an existing audio file to ElevenLabs so it can be referenced in music_v2 inpainting workflows. Returns a song_id you can plug into a composition plan's AudioRefChunks (or a generation chunk's conditioning_ref) to edit or extend the track via the compose_music tool.

Optionally extracts a composition plan from the uploaded audio so you have a starting point to mutate.

Note: this endpoint is gated to enterprise customers with inpainting access.
ParametersTypeDescription
input_file_pathstringPath to a local audio file to upload.
extract_composition_planstring optionalWhich model to extract a composition plan for ("music_v1" or "music_v2"). Pass None to skip extraction. Defaults to "music_v2".

This tool interacts with external entities.


Tool: video_to_music

Generate background music for one or more video files. Saves output file to directory (default: $HOME/Desktop).

The videos are concatenated server-side in the order provided; the generated score targets the combined duration. Constraints: 1-10 videos per call, combined size <= 200 MB, combined duration <= 600 seconds.
ParametersTypeDescription
input_file_pathsarrayPaths to the video files. Order is preserved.
descriptionstring optionalOptional natural-language direction for the music (e.g. "Build suspense, then resolve with a warm cinematic finish.").
model_idstring optionalWhich music model to use. One of "music_v1" or "music_v2". Defaults to "music_v2".
output_directorystring optionalDirectory to save the generated audio file. Defaults to $HOME/Desktop.
tagsstring optionalOptional list of up to 10 short style cues (e.g. ["cinematic", "suspenseful", "uplifting"]).

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: voice_clone

Create an instant voice clone of a voice using provided audio files.

⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
ParametersTypeDescription
filesarray
namestring
descriptionstring optional

This tool interacts with external entities.


Use this MCP Server

{
  "mcpServers": {
    "elevenlabs": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ELEVENLABS_API_KEY",
        "-v",
        "/local-directory:/local-directory",
        "mcp/elevenlabs"
      ],
      "env": {
        "ELEVENLABS_API_KEY": "<ELEVENLABS_API_KEY>"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Install from MCP:Hub

Tag summary

Content type

Image

Digest

sha256:ad57886f6

Size

161.9 MB

Last updated

13 days ago

docker pull mcp/elevenlabs

This week's pulls

Pulls:

769

Jul 6 to Jul 12