ElevenLabs

ElevenLabs

MCP server that brings ElevenLabs to Claude Code — text-to-speech, sound effects, music generation, voice cloning, speech-to-speech, transcription, and voice isolation. 8 tools for industry-leading AI audio.

Category
访问服务器

README

ElevenLabs MCP Server

MCP server that brings ElevenLabs to Claude Code — text-to-speech, sound effects, music generation, voice cloning, speech-to-speech, transcription, and voice isolation. 8 tools for industry-leading AI audio. Supports Multilingual v2, v3, Turbo, Flash, and Scribe models.

Quick Start

Step 1: Get Your API Key

  1. Go to elevenlabs.io
  2. Create an account or sign in
  3. Click your profile icon → API Keys
  4. Generate and copy the key (you'll need it in Step 3)

Step 2: Install Prerequisites

Step 3: Install the MCP Server

3.1 Clone the repository

git clone https://github.com/wynandw87/claude-code-elevenlabs-mcp.git
cd claude-code-elevenlabs-mcp

3.2 Install dependencies

macOS / Linux / Windows:

npm install

Note: Dependencies are installed and the server is built automatically in one step.

3.3 Register with Claude Code

Choose your install scope:

Scope Flag Who can use it
User (recommended) -s user You, in any project
Project -s project Anyone who clones this repo
Local -s local Only in current directory

Replace YOUR_API_KEY with your actual ElevenLabs API key, and use the full path to dist/index.js.

Tip: To get the full path, run this from the cloned directory:

  • macOS/Linux: echo "$(pwd)/dist/index.js"
  • Windows: echo %cd%\dist\index.js

macOS / Linux:

claude mcp add -s user ElevenLabs -e ELEVENLABS_API_KEY=YOUR_API_KEY -- node /full/path/to/dist/index.js

Windows (CMD):

claude mcp add -s user ElevenLabs -e "ELEVENLABS_API_KEY=YOUR_API_KEY" -- node "C:\full\path\to\dist\index.js"

Windows (PowerShell):

claude mcp add -s user ElevenLabs -e "ELEVENLABS_API_KEY=YOUR_API_KEY" '--' node "C:\full\path\to\dist\index.js"

Alternative: Use Setup Scripts

The setup scripts handle dependency installation, building, and registration automatically.

macOS / Linux:

chmod +x setup.sh
./setup.sh YOUR_API_KEY

Windows (PowerShell):

.\setup.ps1 -ApiKey YOUR_API_KEY

Or use the npm helper (if API key is set in environment):

export ELEVENLABS_API_KEY=YOUR_API_KEY
npm run install:claude

Step 4: Restart Claude Code

Close and reopen Claude Code for the changes to take effect.

Step 5: Verify Installation

claude mcp list

You should see ElevenLabs listed with a Connected status.


Features

Speech Generation

  • Text-to-Speech (text_to_speech) - Convert text to natural speech with voice/emotion controls and 29+ languages
  • Speech-to-Speech (speech_to_speech) - Transform audio to use a different voice while preserving emotion and cadence

Sound & Music

  • Sound Effects (sound_effects) - Generate sound effects from text descriptions
  • Music Generation (generate_music) - Generate studio-grade music from text descriptions

Voice Management

  • List Voices (list_voices) - Browse and search available voices with filtering
  • Clone Voice (clone_voice) - Create instant voice clones from audio samples

Audio Processing

  • Transcription (transcribe) - Speech-to-text with speaker diarization (90+ languages)
  • Voice Isolation (voice_isolation) - Isolate vocals from background noise

Usage

Once installed, use trigger phrases to invoke ElevenLabs:

Trigger Tool Example
elevenlabs tts, elevenlabs speak Text-to-Speech "elevenlabs speak: Hello, welcome to the demo"
elevenlabs sfx, elevenlabs sound effect Sound Effects "elevenlabs sfx: thunder rumbling in the distance"
elevenlabs music, elevenlabs compose Generate Music "elevenlabs music: lo-fi hip hop with soft piano"
elevenlabs voices, elevenlabs list voices List Voices "elevenlabs list voices matching female"
elevenlabs clone, elevenlabs clone voice Clone Voice "elevenlabs clone voice from recording.wav"
elevenlabs voice change, elevenlabs sts Speech-to-Speech "elevenlabs voice change audio.mp3 to Adam"
elevenlabs transcribe, elevenlabs stt Transcribe "elevenlabs transcribe meeting.mp3"
elevenlabs isolate, elevenlabs clean audio Voice Isolation "elevenlabs isolate vocals from noisy-recording.mp3"

Or ask naturally:

  • "Use ElevenLabs to convert this text to speech with the Rachel voice"
  • "Generate a sound effect of a spaceship engine starting up"
  • "Create some lo-fi background music with ElevenLabs"
  • "Show me the available ElevenLabs voices"
  • "Clone a voice from my recording.wav file"
  • "ElevenLabs transcribe this audio file"
  • "Clean up the background noise in this recording with ElevenLabs"

Tool Reference

text_to_speech

Convert text to natural speech. ElevenLabs' flagship feature with industry-leading quality.

Parameters:

  • text (string, required) - The text to convert to speech
  • voice (string, optional) - Voice name (e.g., "Rachel", "Adam") or voice ID (default: Rachel)
  • model (string, optional) - TTS model (default: eleven_multilingual_v2)
  • stability (number, optional) - Voice stability 0.0-1.0 (lower = more expressive)
  • similarity_boost (number, optional) - Voice clarity 0.0-1.0 (higher = closer to original)
  • style (number, optional) - Style exaggeration 0.0-1.0
  • speed (number, optional) - Speech speed 0.25-4.0 (default: 1.0)
  • output_format (string, optional) - Audio format (default: mp3_44100_128)
  • save_path (string, optional) - File path to save the audio

sound_effects

Generate sound effects from text descriptions.

Parameters:

  • text (string, required) - Description of the sound effect (e.g., "wooden door creaking open slowly")
  • duration_seconds (number, optional) - Duration 0.5-30 seconds (auto-determined if omitted)
  • prompt_influence (number, optional) - How closely to follow the prompt 0.0-1.0 (default: 0.3)
  • save_path (string, optional) - File path to save the audio

generate_music

Generate studio-grade music from text descriptions.

Parameters:

  • text (string, required) - Description of the music (e.g., "epic orchestral score for a movie trailer")
  • duration_seconds (number, optional) - Duration 0.5-30 seconds (auto-determined if omitted)
  • save_path (string, optional) - File path to save the audio

list_voices

Browse and search available ElevenLabs voices.

Parameters:

  • search (string, optional) - Search query to filter voices by name, description, or labels
  • category (string, optional) - "premade", "cloned", "generated", "professional"
  • page_size (integer, optional) - Number of voices to return (default: 20, max: 100)

clone_voice

Create an instant voice clone from audio samples. Requires 1-2 minutes of clear audio.

Parameters:

  • name (string, required) - Name for the cloned voice
  • files (string[], required) - Array of absolute paths to audio files
  • description (string, optional) - Description of the voice
  • remove_background_noise (boolean, optional) - Apply audio isolation to samples before cloning

speech_to_speech

Transform audio to use a different voice while preserving emotion and cadence.

Parameters:

  • audio_path (string, required) - Absolute path to the source audio file
  • voice (string, required) - Target voice name or ID
  • model (string, optional) - STS model (default: eleven_english_sts_v2)
  • stability (number, optional) - Voice stability 0.0-1.0
  • similarity_boost (number, optional) - Voice clarity 0.0-1.0
  • remove_background_noise (boolean, optional) - Remove background noise from source
  • save_path (string, optional) - File path to save the audio

transcribe

Transcribe audio to text with optional speaker diarization. Supports 90+ languages.

Parameters:

  • audio_path (string, required) - Absolute path to the audio file
  • model (string, optional) - "scribe_v2" (default, 90+ languages), "scribe_v1"
  • language_code (string, optional) - ISO 639-1 language code (e.g., "en", "es", "fr")
  • diarize (boolean, optional) - Identify which speaker is talking
  • num_speakers (integer, optional) - Expected number of speakers (up to 32)

voice_isolation

Isolate vocals from background noise in audio files.

Parameters:

  • audio_path (string, required) - Absolute path to the audio file to process
  • save_path (string, optional) - File path to save the isolated audio

Supported Models

Text-to-Speech Models

Model Languages Latency Best For
eleven_multilingual_v2 29 Balanced Default — general use, voiceovers
eleven_v3 70+ ~500ms Latest quality, dramatic delivery
eleven_turbo_v2_5 32 ~250ms Fast, balanced quality
eleven_flash_v2_5 32 ~75ms Ultra-fast, real-time apps

Speech-to-Speech Models

Model Best For
eleven_english_sts_v2 Default — English voice conversion

Transcription Models

Model Languages Best For
scribe_v2 90+ Default — high accuracy with diarization
scribe_v1 Multiple Previous generation

Sound Effects / Music Models

Model Best For
eleven_text_to_sound_v2 Sound effect generation
eleven_music Music generation

Configuration

Environment Variables

Variable Required Default Description
ELEVENLABS_API_KEY Yes ElevenLabs API key
ELEVENLABS_DEFAULT_VOICE No Rachel Default voice name for TTS
ELEVENLABS_TIMEOUT No 120000 API timeout in ms
ELEVENLABS_OUTPUT_DIR No ./generated-media Directory for auto-saved audio

How It Works

This MCP server uses the official @elevenlabs/elevenlabs-js SDK to communicate with ElevenLabs models. It connects to Claude Code via stdio transport.

Voice name resolution: You can use voice names (e.g., "Rachel", "Adam") instead of voice IDs. The server resolves names automatically via a cached voice lookup.

Tools provided:

Tool API Endpoint Default Model
text_to_speech Text-to-Speech eleven_multilingual_v2
sound_effects Text-to-Sound-Effects eleven_text_to_sound_v2
generate_music Text-to-Sound-Effects eleven_music
list_voices Voices Search
clone_voice Instant Voice Cloning
speech_to_speech Speech-to-Speech eleven_english_sts_v2
transcribe Speech-to-Text scribe_v2
voice_isolation Audio Isolation

Troubleshooting

Fix API Key

If you entered the wrong API key, remove and reinstall:

claude mcp remove ElevenLabs

Then reinstall using the command from Step 3.3 above (use the same scope you originally installed with).

MCP Server Not Showing Up

Check if the server is installed:

claude mcp list

If not listed, follow Step 3 to install it.

Server Won't Start

  1. Verify your API key is valid at elevenlabs.io → Profile → API Keys

  2. Check Node.js version (needs 18+):

    node --version
    
  3. Ensure the server was built — if dist/index.js is missing, run npm install again

Connection Errors

  1. Check that dist/index.js exists — if not, run npm install
  2. Verify the path is absolute in your claude mcp add command
  3. Restart Claude Code after any configuration changes

Timeout Errors

  • Audio generation can be slower than text — the default timeout is 120 seconds
  • Increase ELEVENLABS_TIMEOUT environment variable for slow connections

View Current Configuration

claude mcp list

Contributing

Pull requests welcome! Please keep it simple and beginner-friendly.

License

MIT


Made for the Claude Code community

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选