ElevenLabs MCP Server 使用说明

项目简介

ElevenLabs MCP Server 是一个 MCP (Model Context Protocol) 服务器,它集成了 ElevenLabs 文本转语音 API,旨在为 LLM 客户端提供语音合成功能。该服务器允许客户端通过标准化的 MCP 协议调用 ElevenLabs 的 API 服务,实现文本到音频的转换,并提供任务管理和历史记录查询等功能。同时,仓库还包含一个示例 Web UI 客户端,方便用户体验和管理语音生成任务。

主要功能点

  • 文本转语音: 利用 ElevenLabs API 将文本合成为自然流畅的语音。
  • 多角色和脚本支持: 支持包含多个角色和分段的复杂脚本语音合成。
  • 历史记录管理: 使用 SQLite 数据库持久化存储语音生成任务的历史记录,方便追溯和管理。
  • 声音资源管理: 提供对 ElevenLabs 声音资源的访问和管理,例如列出可用声音。
  • 任务管理: 支持查看、删除语音生成任务,以及获取生成的音频文件。
  • 示例 Web UI 客户端: 提供一个基于 SvelteKit 的 Web 客户端,用于演示和管理语音合成功能。

安装步骤

本仓库提供了多种安装方式,包括通过 Smithery 自动安装、使用 uvx 手动配置以及本地开发安装。

推荐使用 uvx 进行手动配置,步骤如下:

  1. 确保已安装 uvx: uvx 是一个现代 Python 工具链,如果尚未安装,请参考 uvx 文档 进行安装。

  2. 配置 MCP 设置文件: 找到您的 MCP 客户端(例如 Claude Desktop)的 MCP 设置文件 (通常是 'cline_mcp_settings.json')。

  3. 添加服务器配置: 在 'mcpServers' 字段下添加 'elevenlabs' 服务器的配置信息,如下所示。请务必替换 'your-api-key' 和 'your-voice-id' 为您在 ElevenLabs 账户中获得的 API 密钥和希望使用的默认声音 ID。

{
  "mcpServers": {
    "elevenlabs": {
      "command": "uvx",
      "args": ["elevenlabs-mcp-server"],
      "env": {
        "ELEVENLABS_API_KEY": "your-api-key",  // 您的 ElevenLabs API 密钥,必填
        "ELEVENLABS_VOICE_ID": "your-voice-id", // 默认声音 ID,可选,默认为 "iEw1wkYocsNy7I7pteSN"
        "ELEVENLABS_MODEL_ID": "eleven_flash_v2", // 使用的模型 ID,可选,默认为 "eleven_multilingual_v2"
        "ELEVENLABS_STABILITY": "0.5", // 声音稳定性设置,可选,默认为 0.5
        "ELEVENLABS_SIMILARITY_BOOST": "0.75", // 声音相似度增强设置,可选,默认为 0.75
        "ELEVENLABS_STYLE": "0.1", // 声音风格设置,可选,默认为 0.1
        "ELEVENLABS_OUTPUT_DIR": "output" // 音频输出目录,可选,默认为 "output"
      }
    }
  }
}

服务器配置

MCP 客户端需要配置以下信息以连接到 ElevenLabs MCP Server:

{
  "server name": "elevenlabs",  // 服务器名称,用于在客户端中引用
  "command": "uvx", // 启动服务器的命令,这里使用 uvx 运行
  "args": ["elevenlabs-mcp-server"], // 传递给命令的参数,这里指定运行 elevenlabs-mcp-server
  "env": { // 环境变量配置
    "ELEVENLABS_API_KEY": "your-api-key",  // 您的 ElevenLabs API 密钥,**请替换为您的真实密钥**
    "ELEVENLABS_VOICE_ID": "your-voice-id", // 默认声音 ID,**请替换为您希望使用的声音 ID,或者使用默认值**
    "ELEVENLABS_MODEL_ID": "eleven_flash_v2", // 使用的模型 ID,可以根据需求选择,或者使用默认值
    "ELEVENLABS_STABILITY": "0.5", // 声音稳定性参数,可以根据需要调整
    "ELEVENLABS_SIMILARITY_BOOST": "0.75", // 声音相似度增强参数,可以根据需要调整
    "ELEVENLABS_STYLE": "0.1", // 声音风格参数,可以根据需要调整
    "ELEVENLABS_OUTPUT_DIR": "output" // 音频输出目录,可以自定义输出路径
  }
}

注意:

  • 'command' 和 'args' 配置指定了如何启动 ElevenLabs MCP Server。 使用 'uvx elevenlabs-mcp-server' 命令可以确保服务器在正确的 Python 环境中运行。
  • 'env' 配置中包含了 ElevenLabs API 密钥和其他可选的声音参数。 'ELEVENLABS_API_KEY' 是必填项,请务必替换为您的真实 API 密钥。 其他参数可以根据需要进行调整或使用默认值。

基本使用方法

配置完成后,您的 MCP 客户端即可通过以下工具 (Tools) 和资源 (Resources) 与 ElevenLabs MCP Server 交互:

可用工具 (Tools):

  • 'generate_audio_simple': 将纯文本转换为音频,使用默认声音设置。
  • 'generate_audio_script': 根据结构化脚本生成音频,支持多角色和声音。
  • 'delete_job': 根据任务 ID 删除语音生成任务及其相关文件。
  • 'get_audio_file': 根据任务 ID 获取生成的音频文件。
  • 'list_voices': 列出所有可用的 ElevenLabs 声音。
  • 'get_voiceover_history': 获取语音生成任务历史记录,可以指定任务 ID 查询特定任务。

可用资源 (Resources):

  • 'voiceover://history/{job_id}': 获取语音生成任务历史记录,指定 '{job_id}' 可获取特定任务详情。
  • 'voiceover://voices': 获取所有可用 ElevenLabs 声音的列表。

您可以在 MCP 客户端中,通过调用相应的工具或读取资源来使用 ElevenLabs MCP Server 提供的语音合成功能。具体操作方式请参考您的 MCP 客户端的使用文档。

例如,在客户端中调用 'generate_audio_simple' 工具,并传入文本参数,即可让 ElevenLabs MCP Server 生成对应文本的语音。 您可以通过 'voiceover://history' 资源查看任务历史,并通过 'get_audio_file' 工具下载生成的音频文件。

信息

分类

AI与计算