ElevenLabs
官方官方 ElevenLabs MCP 服务器
你可以用 ElevenLabs MCP 做什么?
- 文本转语音 — 让您的助手使用 ElevenLabs 的任何语音从文本生成语音。
- 语音克隆与设计 — 通过从样本中克隆或使用 和 设计新语音来创建自定义声音。
- 语音转语音转换 — 使用
speech_to_speech将现有录音转换为不同的声音或风格。 - 音频转录 — 使用
speech_to_text将语音转换为文本并识别不同的说话者。 - 音效与音乐 — 使用 和 从文本描述生成音景、音效或音乐曲目。
- 音频隔离 — 使用
isolate_audio将人声与背景噪音分离,或隔离特定的音频元素。
文档
[!WARNING] 此本地 MCP 服务器已弃用,推荐使用 ElevenLabs 托管 MCP 服务器。
托管服务器可在
https://api.elevenlabs.io/v1/mcp获取,无需在本地安装或运行任何内容。它使用 OAuth 进行身份验证,因此无需将 API 密钥复制到您的客户端。请参阅 托管 MCP 服务器文档,了解如何从 Claude、Cursor 或任何其他 MCP 客户端连接。此仓库不再积极维护。
官方 ElevenLabs 模型上下文协议 (MCP) 服务器,支持与强大的文本转语音和音频处理 API 进行交互。此服务器允许 MCP 客户端(如 Claude Desktop、Cursor、Windsurf、OpenAI Agents 等)生成语音、克隆声音、转录音频等。
使用 Claude Desktop 快速开始
- 从 ElevenLabs 获取您的 API 密钥。有免费套餐,每月提供 10,000 积分。
- 安装
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)。此目录也是输入文件的安全边界:传递给读取本地文件的工具(例如speech_to_text、isolate_audio、speech_to_speech、video_to_music、upload_music_for_inpainting)的任何路径,无论是绝对路径还是相对路径,都必须解析到此目录内。此目录之外的路径(即使是绝对路径且之前被接受)将被拒绝。请将此设置为包含您需要读取或写入的所有内容的目录。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")。这可以确保引用正确的可执行文件。