
ElevenLabs MCP Server
Author: elevenlabs
Description: Official ElevenLabs Model Context Protocol (MCP) server for interacting with ElevenLabs Text-to-Speech and audio processing APIs from MCP clients (Claude Desktop, Cursor, Windsurf, OpenAI Agents, etc.). Capabilities called out in the README include: generating speech (TTS), cloning/designing voices, transcribing audio (speech-to-text), voice conversion, audio isolation, and soundscape generation. Runtime configuration uses env vars like ELEVENLABS_API_KEY, optional ELEVENLABS_MCP_BASE_PATH, ELEVENLABS_MCP_OUTPUT_MODE (files|resources|both), and ELEVENLABS_API_RESIDENCY.
Stars: 1.3k
Forks: 207
License: MIT License
Category: Specialized
Overview
Installation
3. Edit Claude Desktop config (Claude > Settings > Developer > Edit Config > `claude_desktop_config.json`) and add:```json
{
"mcpServers": {
"ElevenLabs": {
"command": "uvx",
"args": ["elevenlabs-mcp"],
"env": {
"ELEVENLABS_API_KEY": "<insert-your-api-key-here>"
}
}
}
}2. Print the MCP configuration and paste it into the appropriate config directory for your client:```bash
python -m elevenlabs_mcp --api-key={{PUT_YOUR_API_KEY_HERE}} --print2. Create a venv + install deps (using uv):```bash
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"4. Run tests:```bash
./scripts/test.sh
# Or with options
./scripts/test.sh --verbose --fail-fast6. Debug/test with MCP Inspector:```bash
mcp dev elevenlabs_mcp/server.pywhich uvxFAQs
What is the difference between ELEVENLABS_MCP_OUTPUT_MODE settings 'files', 'resources', and 'both'?
The three modes control audio delivery: files writes audio to disk at the configured path, resources returns base64-encoded audio in the MCP response without disk I/O, and both delivers audio through the response while saving locally. Choose resources for stateless containers, files for persistent storage, or both when workflows need archives alongside live processing.
Can I use Docker to deploy an MCP server?
Yes. Docker supports MCP server deployment through containerization, Docker Compose, and Docker MCP Gateway, which provides one-click access to three hundred-plus pre-built servers. Build custom images using Dockerfiles, configure via environment variables, or use Docker Desktop's catalog to deploy servers with persistent volumes and health checks across Mac, Windows, and Linux environments.
How can I ensure data encryption for all data flowing through my MCP server?
Enforce TLS 1.3 for all MCP server communications and encrypt data at rest using customer-managed keys. Deploy an MCP Gateway proxy to mandate TLS, inspect traffic, and block unencrypted fallback. Configure mutual TLS for authentication, minimize sensitive data in logs through masking, and regularly rotate certificates. Monitor encryption events with SIEM integration to detect downgrade attempts and validate end-to-end flows.
How can I integrate an MCP server with existing AI tools?
Integration begins by adding the server to your AI client's configuration file with a JSON block specifying command, arguments, and environment variables. Clients like Claude Desktop and Cursor read configs on startup, discover tools automatically, and expose them as callable functions. Authentication uses API keys set in the environment, while output modes determine inline results or disk writes.
What are the common challenges when setting up an MCP server?
Beyond ElevenLabs-specific issues, MCP servers commonly face PATH resolution failures when clients cannot locate runtime executables, environment variable inheritance problems where child processes lack credentials, and output-mode mismatches causing file-write collisions in stateless containers. Cross-platform compatibility requires resolving absolute binary paths, testing client-specific config formats, and validating that cloud API endpoints remain reachable through corporate proxies.
What are the best methods to validate and sanitize contextual data in an MCP environment?
In an MCP environment, validate contextual data using JSON-RPC schema enforcement, dual-LLM guardrail patterns, and deterministic query builders like NL2DAB to block injection attacks. Implement granular IAM controls with column-level access policies, run automated quality checks for nulls and duplicates, and enable audit logging for every tool call to trace malicious inputs across your architecture.