ElevenLabs

官方

官方 ElevenLabs MCP 服务器

你可以用 ElevenLabs MCP 做什么?

  • 文本转语音 — 让您的助手使用 ElevenLabs 的任何语音从文本生成语音。
  • 语音克隆与设计 — 通过从样本中克隆或使用 和 设计新语音来创建自定义声音。
  • 语音转语音转换 — 使用 speech_to_speech 将现有录音转换为不同的声音或风格。
  • 音频转录 — 使用 speech_to_text 将语音转换为文本并识别不同的说话者。
  • 音效与音乐 — 使用 和 从文本描述生成音景、音效或音乐曲目。
  • 音频隔离 — 使用 isolate_audio 将人声与背景噪音分离,或隔离特定的音频元素。

文档

export

[!WARNING] 此本地 MCP 服务器已弃用,推荐使用 ElevenLabs 托管 MCP 服务器

托管服务器可在 https://api.elevenlabs.io/v1/mcp 获取,无需在本地安装或运行任何内容。它使用 OAuth 进行身份验证,因此无需将 API 密钥复制到您的客户端。请参阅 托管 MCP 服务器文档,了解如何从 Claude、Cursor 或任何其他 MCP 客户端连接。

此仓库不再积极维护。

Discord Community Twitter PyPI Tests

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

使用 Claude Desktop 快速开始

  1. ElevenLabs 获取您的 API 密钥。有免费套餐,每月提供 10,000 积分。
  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)。此目录也是输入文件的安全边界:传递给读取本地文件的工具(例如 speech_to_textisolate_audiospeech_to_speechvideo_to_musicupload_music_for_inpainting)的任何路径,无论是绝对路径还是相对路径,都必须解析到此目录内。此目录之外的路径(即使是绝对路径且之前被接受)将被拒绝。请将此设置为包含您需要读取或写入的所有内容的目录。
  • 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")。这可以确保引用正确的可执行文件。