ElevenLabs
官方官方 ElevenLabs MCP 服务器
你可以用 Eleven Labs MCP 做什么?
- 从文本生成语音 — 通过
text_to_speech使用 ElevenLabs 语音将任何文本转换为口语音频。 - 设计自定义语音 — 使用
design_voice创建具有特定角色特征、口音或风格的新合成语音。 - 从音频克隆语音 — 上传样本录音,并使用
clone_voice创建模仿该录音的语音。 - 将音频转录为文本 — 使用
transcribe_speech将语音录音转换为书面转录文本,并支持说话人分离。 - 应用语音转换 — 使用
voice_conversion将一个语音录音转换为听起来像不同说话人或角色的声音。 - 生成音效 — 通过
generate_sound_effects根据文本描述(如天气或环境场景)生成音频音景。
文档
官方的 ElevenLabs 模型上下文协议 (MCP) 服务器,支持与强大的文本转语音和音频处理 API 进行交互。该服务器允许 Claude Desktop、Cursor、Windsurf、OpenAI Agents 等 MCP 客户端生成语音、克隆声音、转录音频等。
Claude Desktop 快速入门
- 从 ElevenLabs 获取您的 API 密钥。免费套餐每月提供 1 万积分。
- 安装
uv(Python 包管理器),使用curl -LsSf https://astral.sh/uv/install.sh | sh安装,或查看uv仓库 了解其他安装方法。 - 前往 Claude > 设置 > 开发者 > 编辑配置 > claude_desktop_config.json,添加以下内容:
{
"mcpServers": {
"ElevenLabs": {
"command": "uvx",
"args": ["elevenlabs-mcp"],
"env": {
"ELEVENLABS_API_KEY": "<insert-your-api-key-here>"
}
}
}
}
如果您使用的是 Windows,需要在 Claude Desktop 中启用“开发者模式”才能使用 MCP 服务器。点击左上角汉堡菜单中的“帮助”,然后选择“启用开发者模式”。
其他 MCP 客户端
对于 Cursor 和 Windsurf 等其他客户端,请运行:
pip install elevenlabs-mcppython -m elevenlabs_mcp --api-key={{PUT_YOUR_API_KEY_HERE}} --print获取配置。将其粘贴到 MCP 客户端指定的相应配置目录中。
就这样。您的 MCP 客户端现在可以通过以下工具与 ElevenLabs 交互:
使用示例
⚠️ 警告:使用这些工具需要 ElevenLabs 积分。
尝试向 Claude 提问:
- “创建一个说话像黑色电影侦探的 AI 代理,并能回答关于经典电影的问题”
- “为一条睿智的远古龙角色生成三种声音变体,然后我会选择最喜欢的声音添加到我的声音库中”
- “将我的这段录音转换成中世纪骑士的声音”
- “创建一个茂密丛林中雷暴的音景,包含动物对天气的反应”
- “将这段语音转为文字,识别不同的说话者,然后用每个人独特的语音将其转换回来”
可选功能
文件输出配置
您可以在 claude_desktop_config.json 中使用以下环境变量配置 MCP 服务器处理文件输出的方式:
ELEVENLABS_MCP_BASE_PATH:指定使用相对路径进行文件操作的基础路径(默认:~/Desktop)ELEVENLABS_MCP_OUTPUT_MODE:控制生成文件的返回方式(默认:files)
输出模式
ELEVENLABS_MCP_OUTPUT_MODE 环境变量支持三种模式:
-
files(默认):将文件保存到磁盘并返回文件路径"env": { "ELEVENLABS_API_KEY": "your-api-key", "ELEVENLABS_MCP_OUTPUT_MODE": "files" } -
resources:将文件作为 MCP 资源返回;二进制数据采用 base64 编码,文本以 UTF-8 文本形式返回"env": { "ELEVENLABS_API_KEY": "your-api-key", "ELEVENLABS_MCP_OUTPUT_MODE": "resources" } -
both:将文件保存到磁盘并作为 MCP 资源返回"env": { "ELEVENLABS_API_KEY": "your-api-key", "ELEVENLABS_MCP_OUTPUT_MODE": "both" }
资源模式优势:
- 文件以 base64 编码数据的形式直接在 MCP 响应中返回
- 无需磁盘 I/O——适用于容器化或无服务器环境
- MCP 客户端可以立即访问文件内容,无需文件系统访问权限
- 在
both模式下,稍后可以使用elevenlabs://filenameURI 模式获取资源
使用场景:
files:传统的基于文件的工作流,本地开发resources:云环境,没有文件系统访问权限的 MCP 客户端both:最大灵活性、缓存和资源共享场景
数据驻留密钥
您可以使用 ELEVENLABS_API_RESIDENCY 环境变量指定数据驻留区域。默认为 "us"。
注意: 数据驻留仅为企业版功能。有关更多详细信息,请参阅文档。
贡献
如果您想贡献代码或从源代码运行:
- 克隆仓库:
git clone https://github.com/elevenlabs/elevenlabs-mcp
cd elevenlabs-mcp
- 创建虚拟环境并使用 uv 安装依赖项:
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
- 将
.env.example复制到.env并添加您的 ElevenLabs API 密钥:
cp .env.example .env
# Edit .env and add your API key
- 运行测试以确保一切正常:
./scripts/test.sh
# Or with options
./scripts/test.sh --verbose --fail-fast
-
在 Claude Desktop 中安装服务器:
mcp install elevenlabs_mcp/server.py -
使用 MCP Inspector 在本地调试和测试:
mcp dev elevenlabs_mcp/server.py
故障排除
使用 Claude Desktop 运行时的日志可在以下位置找到:
- Windows:
%APPDATA%\Claude\logs\mcp-server-elevenlabs.log - macOS:
~/Library/Logs/Claude/mcp-server-elevenlabs.log
使用某些工具时超时
某些 ElevenLabs API 操作(如语音设计和音频隔离)可能需要很长时间才能完成。在开发模式下使用 MCP inspector 时,即使工具完成了预期任务,您也可能会遇到超时错误。
使用 Claude 等客户端时不应出现此问题。
MCP ElevenLabs: spawn uvx ENOENT
如果您遇到错误“MCP ElevenLabs: spawn uvx ENOENT”,请在终端中运行以下命令以确认其绝对路径:
which uvx
获得绝对路径后(例如 /usr/local/bin/uvx),更新您的配置以使用该路径(例如 "command": "/usr/local/bin/uvx")。这可以确保引用正确的可执行文件。