ElevenLabs MCP Server

ElevenLabs MCP Server

site icon
2025.01.09 0
Python文本转语音语音生成内容生成
ElevenLabs MCP Server 是一个集成了 ElevenLabs 文本转语音 API 的 Model Context Protocol (MCP) 服务器,包含服务器组件和一个基于 Web 的 MCP 客户端示例(SvelteKit),用于管理语音生成任务。 **核心功能**: - 使用 ElevenLabs API 从文本生成音频 - 支持多种语音和脚本部分 - 使用 SQLite 数据库进行持久化历史存储 - 提供 SvelteKit MCP 客户端示例,支持: - 简单的文本转语音转换 - 多部分脚本管理 - 语音历史记录跟踪和回放 - 音频文件下载 **适用场景**: - 需要将文本转换为语音的应用 - 需要管理多语音和多部分脚本的项目 - 需要记录和回放语音历史的场景
View on GitHub

Overview

基本能力

核心功能

  • 使用 ElevenLabs API 从文本生成音频
  • 支持多种语音和脚本部分
  • SQLite 数据库用于持久化历史存储
  • 提供 SvelteKit MCP 客户端示例,支持:
  • 简单的文本转语音转换
  • 多部分脚本管理
  • 语音历史记录跟踪和回放
  • 音频文件下载

工具列表

  • generate_audio_simple: 使用默认语音设置从纯文本生成音频
  • generate_audio_script: 从具有多个语音和演员的结构化脚本生成音频
  • delete_job: 按 ID 删除作业
  • get_audio_file: 按 ID 获取音频文件
  • list_voices: 列出所有可用语音
  • get_voiceover_history: 获取语音作业历史记录。可选指定作业 ID 以获取特定作业。

可用资源

  • voiceover://history/{job_id}: 按 ID 获取音频文件
  • voiceover://voices: 列出所有可用语音

使用教程

使用依赖

  1. 确保已安装 uvx

安装教程

使用 uvx(推荐)

无需特定安装,只需在 MCP 设置文件中添加以下配置(例如,Claude Desktop 的 cline_mcp_settings.json):

{
  "mcpServers": {
    "elevenlabs": {
      "command": "uvx",
      "args": ["elevenlabs-mcp-server"],
      "env": {
        "ELEVENLABS_API_KEY": "your-api-key",
        "ELEVENLABS_VOICE_ID": "your-voice-id",
        "ELEVENLABS_MODEL_ID": "eleven_flash_v2",
        "ELEVENLABS_STABILITY": "0.5",
        "ELEVENLABS_SIMILARITY_BOOST": "0.75",
        "ELEVENLABS_STYLE": "0.1",
        "ELEVENLABS_OUTPUT_DIR": "output"
      }
    }
  }
}

开发安装

  1. 克隆此仓库
  2. 安装依赖: bash uv venv
  3. 复制 .env.example.env 并填写您的 ElevenLabs 凭据
{
  "mcpServers": {
    "elevenlabs": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/elevenlabs-mcp-server",
        "run",
        "elevenlabs-mcp-server"
      ],
      "env": {
        "ELEVENLABS_API_KEY": "your-api-key",
        "ELEVENLABS_VOICE_ID": "your-voice-id",
        "ELEVENLABS_MODEL_ID": "eleven_flash_v2",
        "ELEVENLABS_STABILITY": "0.5",
        "ELEVENLABS_SIMILARITY_BOOST": "0.75",
        "ELEVENLABS_STYLE": "0.1",
        "ELEVENLABS_OUTPUT_DIR": "output"
      }
    }
  }
}

使用示例 SvelteKit MCP 客户端

  1. 导航到 web UI 目录: bash cd clients/web-ui
  2. 安装依赖: bash pnpm install
  3. 复制 .env.example.env 并根据需要进行配置
  4. 运行 web UI: bash pnpm dev
  5. 在浏览器中打开 http://localhost:5174

调试方式

  • 确保所有环境变量已正确设置
  • 检查 ElevenLabs API 密钥是否有效
  • 确保输出目录存在且可写
  • 使用日志功能检查服务器运行状态

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。