ElevenLabs MCP server

Prebuilt SnapLogic agentic-tool pipelines that let an LLM read from and act on ElevenLabs, callable as MCP tools via Pipeline Execute. Published in the SnapLogic pattern catalog.

Overview

This tool pack gives an agent full access to the ElevenLabs audio platform, covering text-to-speech, multi-speaker dialogue, transcription, dubbing, music and sound generation, and voice design or cloning. It also lets the agent inspect available voices, models, and the account's subscription status.

For setup instructions, see SnapLogic MCP Server quickstart.

Example Prompts

  • Clean up the background noise on this recording
  • Isolate just the voice from this clip, the music is too loud
  • Remove the room noise from this interview audio
  • Give me a clean vocal-only version of this file
  • Delete the test voice I cloned yesterday
  • Remove voice 21m00Tcm4TlvDq8ikWAM from our account
  • Clean up that duplicate designed voice
  • Dub this product demo video into Spanish
  • Create a German version of this webinar recording, there are two speakers
  • Translate and re-voice this YouTube video into Japanese and call the job 'Launch JP'

Tools

Tool Name Functions
ElevenLabsAudioIsolation Strip background noise and music out of a recording.
ElevenLabsDeleteVoice Delete a voice from the account by id.
ElevenLabsDubbingCreate Start a dubbing job to translate and re-voice media into another language.
ElevenLabsDubbingDownload Download the dubbed audio track for a completed job in a given language.
ElevenLabsDubbingStatus Check the progress of a dubbing job by its id.
ElevenLabsForcedAlignment Align a known transcript to its audio and return the timings.
ElevenLabsGetSubscription Get the account's plan, quota and usage.
ElevenLabsGetVoice Get the full details of one voice by id.
ElevenLabsListModels List the ElevenLabs models available to the account.
ElevenLabsListVoices List all voices available to the account.
ElevenLabsMusicGenerate Generate a music track from a text brief, with optional lyrics.
ElevenLabsSoundGeneration Generate a sound effect from a text description.
ElevenLabsSpeechToSpeech Convert a recording into a different voice, keeping the performance.
ElevenLabsSpeechToText Transcribe an audio file from a URL, optionally with speaker labels.
ElevenLabsTextToDialogue Render a multi-speaker scripted conversation as one audio take.
ElevenLabsTextToSpeech Synthesise speech from text in a chosen ElevenLabs voice.
ElevenLabsVoiceClone Clone a voice from a sample recording and add it to the account.
ElevenLabsVoiceDesign Design a new voice from a written description and preview it.

Set up the MCP Server tools

  1. Download elevenlabs_tools.zip.
  2. In SnapLogic Designer, open the target project space (or create one), then choose Import Project / Import Pipelines and select the downloaded elevenlabs_tools.zip. Designer unpacks each pipeline into the project.
  3. Attach the required account to the connectivity snaps (see Connection Setup).
  4. Expose the project as an MCP server — each pipeline becomes a tool named after its label. New to this? Start with the MCP quickstart, then use the MCP Server Pipeline Builder to generate the server from the imported pipelines.

Configure account

Attach an API Suite account (OAuth 2.0 or Bearer token) to the HTTP Client snap in Designer after import.

These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute.

See the SnapLogic account documentation for this connector: API Suite Account Configuration.

Important: These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute. Credentials live in the SnapLogic account store, never in the pipeline JSON.

ElevenLabsAudioIsolation

Strips background noise, room tone, and music from a recording, leaving clean isolated voice audio. Use it when a user asks to clean up or de-noise a clip before transcription or synthesis.

Parameter Type Default Description
file_url* string

URL of the recording to clean; fetched and uploaded as the audio part of the multipart request.

* Required parameter.

Try asking:

  • Clean up the background noise on this recording
  • Isolate just the voice from this clip, the music is too loud
  • Remove the room noise from this interview audio
  • Give me a clean vocal-only version of this file

ElevenLabsDeleteVoice

Permanently removes a voice from the account by its ID. Use it to clean up test clones or unwanted designed voices.

Parameter Type Default Description
voice_id* string

Id of the voice to delete; appended to the /v1/voices/ path.

* Required parameter.

Try asking:

  • Delete the test voice I cloned yesterday
  • Remove voice 21m00Tcm4TlvDq8ikWAM from our account
  • Clean up that duplicate designed voice

ElevenLabsDubbingCreate

Starts a dubbing job that translates and re-voices a video or audio file into a target language, then returns a job ID to track progress. Pair it with ElevenLabsDubbingStatus and ElevenLabsDubbingDownload to monitor and retrieve the finished audio.

Parameter Type Default Description
source_url* string

URL of the media to dub - a hosted audio/video file or a video URL - sent as the source_url form part.

source_lang string auto

Language of the source media, e.g. en. Defaults to auto, which lets ElevenLabs detect it.

target_lang* string

Language to dub into, e.g. es.

num_speakers integer 0

Hint for how many speakers are in the source, sent as num_speakers (default 0).

name string

Label for the dubbing job, e.g. Launch JP. Sent empty when omitted.

* Required parameter.

Try asking:

  • Dub this product demo video into Spanish
  • Create a German version of this webinar recording, there are two speakers
  • Translate and re-voice this YouTube video into Japanese and call the job 'Launch JP'
  • Start a dubbing job for this podcast episode into French, auto-detect the source language

ElevenLabsDubbingDownload

Downloads the finished dubbed audio track for a completed dubbing job in a specified language. Use it after ElevenLabsDubbingStatus confirms the job is complete.

Parameter Type Default Description
dubbing_id* string

Id of the completed dubbing job whose audio you want, as returned by ElevenLabsDubbingCreate.

language_code* string

Which rendered track to fetch, e.g. es; forms the /v1/dubbing/{id}/audio/{lang} path.

* Required parameter.

Try asking:

  • Download the Spanish track from dubbing job abc123def456
  • Get me the finished German audio for that dubbing job
  • Fetch the completed dub in French
  • The job is done — pull down the dubbed audio

ElevenLabsDubbingStatus

Checks the progress of a dubbing job and reports whether it is still rendering, has finished, or failed. Use it to poll between creating a job and downloading the result.

Parameter Type Default Description
dubbing_id* string

Id of the dubbing job to check, as returned by ElevenLabsDubbingCreate; appended to the /v1/dubbing/ path.

* Required parameter.

Try asking:

  • Is the Spanish dub finished yet?
  • Check the status of dubbing job abc123def456
  • Has that video translation job completed?
  • What's the state of the dubbing I kicked off earlier?

ElevenLabsForcedAlignment

Aligns a known transcript to an audio recording and returns the timing of each phrase in the recording. Use it when you have both the audio and the script and need timings for subtitles or animation.

Parameter Type Default Description
file_url* string

URL of the audio file; fetched and uploaded as the audio part of the multipart request.

text* string

The transcript already known to be spoken in the recording, sent as the text part and aligned against the audio.

* Required parameter.

Try asking:

  • Line up this narration script with the recording and give me timings
  • I have the audio and the exact script — where does each phrase fall?
  • Generate subtitle timings for this voiceover using the text I already have
  • Sync this transcript to the audio file so I can cut it into segments

ElevenLabsGetSubscription

Returns the account's subscription plan, character quota, and current usage. Use it to check remaining allowance before running large batches of synthesis or dubbing.

No parameters.

Try asking:

  • How many characters do we have left this month?
  • What ElevenLabs plan are we on?
  • Have we got enough quota to voice this whole script?
  • Show me our current usage against the subscription limit

ElevenLabsGetVoice

Fetches the details of a single voice by its ID, including its name, labels, and settings. Use it when the user wants information about a specific voice or to confirm it exists before using it for synthesis.

Parameter Type Default Description
voice_id* string

Id of the voice to fetch; appended to the /v1/voices/ path.

* Required parameter.

Try asking:

  • Tell me about the voice 21m00Tcm4TlvDq8ikWAM
  • What are the settings on our brand narrator voice?
  • Show me the details for the voice we cloned last week
  • Does this voice id still exist?

ElevenLabsListModels

Lists the ElevenLabs models available to the account, with their capabilities. Use it when the user asks which model to use or to verify a model is available before passing it to another tool.

No parameters.

Try asking:

  • Which ElevenLabs models can we use?
  • Is eleven_v3 available on our plan?
  • What's the best model for multilingual speech?
  • Show me the transcription models we have access to

ElevenLabsListVoices

Lists all voices available to the account, including library voices and any the account has designed or cloned. Use it to find a voice ID when the user refers to a voice by name.

No parameters.

Try asking:

  • What voices do we have available?
  • Show me our cloned voices
  • Which voice should I use for a British narrator?
  • Find the voice id for Rachel

ElevenLabsMusicGenerate

Generates a music track from a text description, with optional lyrics and configurable length. Use it for background music, jingles, or any scored audio that accompanies generated speech.

Parameter Type Default Description
prompt string

Written brief describing the track to compose, e.g. upbeat electronic with driving bass. Sent as prompt.

lyrics_text string

Lyrics for a sung track, sent as lyrics_text. Omit to send none.

music_length_ms integer

Requested track length in milliseconds, e.g. 30000. Omit to send none.

force_instrumental boolean false

Whether to keep the track wordless, sent as force_instrumental (default false).

Try asking:

  • Write me a 30-second upbeat electronic track for a product video
  • Generate a calm instrumental bed for a corporate voiceover, no vocals
  • Compose a short jingle with these lyrics
  • Make a one-minute cinematic build for the intro of our launch film

ElevenLabsSoundGeneration

Generates a sound effect from a text description, with optional control over duration and how closely the result matches the description. Use it for foley, UI sounds, ambiences, and other short non-speech audio.

Parameter Type Default Description
text* string

Description of the sound effect to generate, e.g. thunderstorm with heavy rain.

duration_seconds number

Requested length of the effect in seconds, e.g. 5. Omit to send none and let ElevenLabs choose.

prompt_influence number 0.3

How closely the result follows the description, sent as prompt_influence (default 0.3).

* Required parameter.

Try asking:

  • Make a five-second thunderstorm with heavy rain
  • Generate a short whoosh sound for a slide transition
  • I need a coffee-shop ambience loop, around ten seconds
  • Create a UI notification chime, stick closely to my description

ElevenLabsSpeechToSpeech

Converts an existing recording into a different voice while preserving the original delivery, timing, and intonation. Use it when the performance is right but the voice needs to change.

Parameter Type Default Description
voice_id* string

Target voice the recording is re-performed in; its id is placed in the speech-to-speech URL path.

file_url* string

URL of the source recording; fetched and uploaded as the audio part of the multipart request.

model_id string eleven_english_sts_v2

Voice-conversion model to use (default eleven_english_sts_v2).

remove_background_noise boolean false

Whether to strip background noise from the source before conversion (default false).

* Required parameter.

Try asking:

  • Take this recording and make it sound like Rachel, same delivery
  • Convert my rough voiceover into our brand voice
  • Re-voice this clip and strip out the background noise
  • Swap the narrator on this audio file to voice AZnzlk1XvdvUeBnXmlld

ElevenLabsSpeechToText

Transcribes an audio file from a URL, with options to identify multiple speakers and set timestamp granularity. Use it to get a searchable transcript from an interview, meeting, or voice note.

Parameter Type Default Description
source_url* string

URL of the audio file to transcribe, sent as source_url in the request body.

model_id string scribe_v2

Transcription model to use (default scribe_v2).

language_code string

Language of the spoken audio, e.g. en. Omit to send none and let the model work it out.

diarize boolean false

Whether to label which speaker said what, sent as diarize (default false).

timestamps_granularity string word

Granularity of the timestamps returned with the transcript, e.g. word (default word).

* Required parameter.

Try asking:

  • Transcribe this interview recording and tell me who said what
  • Give me a word-level timestamped transcript of this MP3
  • Transcribe this call — it's in French
  • Turn this customer voicemail into text
  • Transcribe this panel discussion with speaker diarization on

ElevenLabsTextToDialogue

Renders a scripted multi-speaker conversation as a single audio take, with each dialogue line assigned to a specific voice. Use it for character scenes, podcast intros, or training role-plays.

Parameter Type Default Description
inputs* array

Ordered dialogue lines, each entry pairing text with the voice_id that says it; sent as the inputs array.

model_id string eleven_v3

Dialogue model to use (default eleven_v3).

* Required parameter.

Try asking:

  • Voice this two-person dialogue, Rachel as the customer and Domi as the agent
  • Make an audio version of this support role-play script with a different voice per speaker
  • Generate a short podcast intro where the two hosts trade lines
  • Read this scene aloud with each character in their own voice

ElevenLabsTextToSpeech

Converts text into spoken audio using a specific ElevenLabs voice, with options to choose the model and output format. Use it whenever a user wants a script, announcement, or narration read aloud.

Parameter Type Default Description
voice_id* string

ElevenLabs voice that speaks the text; its id is placed in the text-to-speech URL path, e.g. 21m00Tcm4TlvDq8ikWAM.

text* string

The text to synthesise, sent as the text field of the request body.

model_id string eleven_multilingual_v2

Synthesis model to use (default eleven_multilingual_v2).

output_format string mp3_44100_128

Encoding of the returned audio, sent as the output_format query parameter (default mp3_44100_128).

voice_settings object

Voice tuning object passed straight through as voice_settings, e.g. stability and similarity. Omit to send none.

* Required parameter.

Try asking:

  • Read this welcome message out loud in Rachel's voice
  • Generate an MP3 narration of this product blurb using voice 21m00Tcm4TlvDq8ikWAM
  • Turn this paragraph into speech with the multilingual v2 model
  • Voice this announcement and give me the audio at 44.1kHz 128kbps
  • Narrate this script but make the delivery more stable than the default

ElevenLabsVoiceClone

Creates a new voice in the account by cloning it from a sample recording, with an optional background-noise removal step. The cloned voice is immediately available to the speech tools.

Parameter Type Default Description
name* string

Name the cloned voice is saved under, e.g. CEO Narration.

file_url* string

URL of the sample recording to clone from; fetched and uploaded as the files part of the multipart request.

description string

Optional description stored with the voice, e.g. professional male narrator. Sent empty when omitted.

remove_background_noise boolean false

Whether to clean background noise out of the sample before cloning (default false).

* Required parameter.

Try asking:

  • Clone this voice sample and save it as 'CEO Narration'
  • Add a new voice from this recording of our brand narrator
  • Create a cloned voice from this file and clean up the background noise
  • Set up a voice from this audio sample so I can use it for narration

ElevenLabsVoiceDesign

Generates a new voice from a written description and previews it reading a sample line, with optional gender, age, and accent guidance. Use it when a user wants a voice that doesn't exist yet, such as a character or brand persona, and wants to audition candidates.

Parameter Type Default Description
text* string

Sample line the designed voice reads back in the preview, sent as text.

voice_description* string

Written description of the voice to create, e.g. a warm and friendly narrator.

gender string

Optional gender steer for the designed voice, e.g. female. Omit to send none.

age string

Optional age steer for the designed voice, e.g. middle_aged. Omit to send none.

accent string

Optional accent steer for the designed voice, e.g. british. Omit to send none.

* Required parameter.

Try asking:

  • Design a warm, friendly female narrator with a British accent
  • I need a gravelly older male voice for a documentary — let me hear it read this line
  • Create a young, energetic voice for our app onboarding and preview it
  • Make me a calm middle-aged narrator voice and have it read this sentence