ElevenLabs

官方

官方 ElevenLabs MCP 服务器

你可以用 Eleven Labs MCP 做什么?

  • 从文本生成语音 — 通过 text_to_speech 使用 ElevenLabs 语音将任何文本转换为口语音频。
  • 设计自定义语音 — 使用 design_voice 创建具有特定角色特征、口音或风格的新合成语音。
  • 从音频克隆语音 — 上传样本录音,并使用 clone_voice 创建模仿该录音的语音。
  • 将音频转录为文本 — 使用 transcribe_speech 将语音录音转换为书面转录文本,并支持说话人分离。
  • 应用语音转换 — 使用 voice_conversion 将一个语音录音转换为听起来像不同说话人或角色的声音。
  • 生成音效 — 通过 generate_sound_effects 根据文本描述(如天气或环境场景)生成音频音景。

文档

export

Discord Community Twitter PyPI Tests

官方的 ElevenLabs 模型上下文协议 (MCP) 服务器,支持与强大的文本转语音和音频处理 API 进行交互。该服务器允许 Claude DesktopCursorWindsurfOpenAI Agents 等 MCP 客户端生成语音、克隆声音、转录音频等。

Claude Desktop 快速入门

  1. ElevenLabs 获取您的 API 密钥。免费套餐每月提供 1 万积分。
  2. 安装 uv(Python 包管理器),使用 curl -LsSf https://astral.sh/uv/install.sh | sh 安装,或查看 uv 仓库 了解其他安装方法。
  3. 前往 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 等其他客户端,请运行:

  1. pip install elevenlabs-mcp
  2. python -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 环境变量支持三种模式:

  1. files(默认):将文件保存到磁盘并返回文件路径

    "env": {
      "ELEVENLABS_API_KEY": "your-api-key",
      "ELEVENLABS_MCP_OUTPUT_MODE": "files"
    }
    
  2. resources:将文件作为 MCP 资源返回;二进制数据采用 base64 编码,文本以 UTF-8 文本形式返回

    "env": {
      "ELEVENLABS_API_KEY": "your-api-key",
      "ELEVENLABS_MCP_OUTPUT_MODE": "resources"
    }
    
  3. both:将文件保存到磁盘并作为 MCP 资源返回

    "env": {
      "ELEVENLABS_API_KEY": "your-api-key",
      "ELEVENLABS_MCP_OUTPUT_MODE": "both"
    }
    

资源模式优势:

  • 文件以 base64 编码数据的形式直接在 MCP 响应中返回
  • 无需磁盘 I/O——适用于容器化或无服务器环境
  • MCP 客户端可以立即访问文件内容,无需文件系统访问权限
  • both 模式下,稍后可以使用 elevenlabs://filename URI 模式获取资源

使用场景:

  • files:传统的基于文件的工作流,本地开发
  • resources:云环境,没有文件系统访问权限的 MCP 客户端
  • both:最大灵活性、缓存和资源共享场景

数据驻留密钥

您可以使用 ELEVENLABS_API_RESIDENCY 环境变量指定数据驻留区域。默认为 "us"

注意: 数据驻留仅为企业版功能。有关更多详细信息,请参阅文档

贡献

如果您想贡献代码或从源代码运行:

  1. 克隆仓库:
git clone https://github.com/elevenlabs/elevenlabs-mcp
cd elevenlabs-mcp
  1. 创建虚拟环境并使用 uv 安装依赖项:
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
  1. .env.example 复制到 .env 并添加您的 ElevenLabs API 密钥:
cp .env.example .env
# Edit .env and add your API key
  1. 运行测试以确保一切正常:
./scripts/test.sh
# Or with options
./scripts/test.sh --verbose --fail-fast
  1. 在 Claude Desktop 中安装服务器:mcp install elevenlabs_mcp/server.py

  2. 使用 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")。这可以确保引用正确的可执行文件。