Skip to content

ADK 的 ElevenLabs MCP 工具

Supported in ADKPythonTypeScript

ElevenLabs MCP 服务器 将你的 ADK 智能体连接到 ElevenLabs AI 音频 平台。此集成使你的智能体能够生成语音、 克隆声音、转录音频、创建音效,并使用自然语言构建对话式 AI 体验。

使用场景

  • 文本转语音生成:使用各种声音将文本转换为听起来自然的语音,并对稳定性、风格和相似性设置进行细粒度控制。

  • 声音克隆与设计:从音频样本克隆声音,或根据所需特征(如年龄、性别、口音和语气)的文本描述生成新声音。

  • 音频处理:从背景噪音中分离语音,转换音频使其听起来像不同的声音,或通过说话人识别将语音转录为文本。

  • 音效与声景:根据文本描述生成音效和环境声景,例如“丛林中雷雨交加,动物们对天气做出反应”。

前置条件

与智能体一起使用

from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from mcp import StdioServerParameters

ELEVENLABS_API_KEY = "YOUR_ELEVENLABS_API_KEY"

root_agent = Agent(
    model="gemini-2.5-pro",
    name="elevenlabs_agent",
    instruction="Help users generate speech, clone voices, and process audio",
    tools=[
        McpToolset(
            connection_params=StdioConnectionParams(
                server_params=StdioServerParameters(
                    command="uvx",
                    args=["elevenlabs-mcp"],
                    env={
                        "ELEVENLABS_API_KEY": ELEVENLABS_API_KEY,
                    }
                ),
                timeout=30,
            ),
        )
    ],
)
import { LlmAgent, MCPToolset } from "@google/adk";

const ELEVENLABS_API_KEY = "YOUR_ELEVENLABS_API_KEY";

const rootAgent = new LlmAgent({
    model: "gemini-2.5-pro",
    name: "elevenlabs_agent",
    instruction: "Help users generate speech, clone voices, and process audio",
    tools: [
        new MCPToolset({
            type: "StdioConnectionParams",
            serverParams: {
                command: "uvx",
                args: ["elevenlabs-mcp"],
                env: {
                    ELEVENLABS_API_KEY: ELEVENLABS_API_KEY,
                },
            },
        }),
    ],
});

export { rootAgent };

可用工具

文本转语音和声音

工具 描述
text_to_speech 使用指定的声音从文本生成语音
speech_to_speech 转换音频使其听起来像不同的声音
text_to_voice 从文本描述生成声音预览
create_voice_from_preview 将生成的声音预览保存到你的库中
voice_clone 从音频样本克隆声音
get_voice 获取有关特定声音的详细信息
search_voices 在你的库中搜索声音
search_voice_library 搜索公共声音库
list_models 列出可用的文本转语音模型

音频处理

工具 描述
speech_to_text 将音频转录为文本并进行说话人识别
text_to_sound_effects 从文本描述生成音效
isolate_audio 从背景噪音和音乐中分离语音
play_audio 在本地播放音频文件
compose_music 根据描述生成音乐
create_composition_plan 创建音乐作曲计划

对话式 AI

工具 描述
create_agent 创建对话式 AI 智能体
get_agent 获取有关特定智能体的详细信息
list_agents 列出你所有的对话式 AI 智能体
add_knowledge_base_to_agent 向智能体添加知识库
make_outbound_call 使用智能体发起外呼电话
list_phone_numbers 列出可用的电话号码
get_conversation 获取有关特定对话的详细信息
list_conversations 列出所有对话

账户

工具 描述
check_subscription 检查你的订阅和信用使用情况

配置

可以使用环境变量配置 ElevenLabs MCP 服务器:

变量 描述 默认值
ELEVENLABS_API_KEY 你的 ElevenLabs API 密钥 必需
ELEVENLABS_MCP_BASE_PATH 文件操作的基本路径 ~/Desktop
ELEVENLABS_MCP_OUTPUT_MODE 生成的文件如何返回 files
ELEVENLABS_API_RESIDENCY 数据驻留区域 (仅限企业版) us

输出模式

ELEVENLABS_MCP_OUTPUT_MODE 环境变量支持三种模式:

  • files (默认): 将文件保存到磁盘并返回文件路径
  • resources: 将文件作为 MCP 资源返回 (base64 编码的二进制数据)
  • both: 将文件保存到磁盘作为 MCP 资源返回

额外资源