ADK 的 ElevenLabs MCP 工具¶
Supported in ADKPythonTypeScript
ElevenLabs MCP 服务器 将你的 ADK 智能体连接到 ElevenLabs AI 音频 平台。此集成使你的智能体能够生成语音、 克隆声音、转录音频、创建音效,并使用自然语言构建对话式 AI 体验。
使用场景¶
-
文本转语音生成:使用各种声音将文本转换为听起来自然的语音,并对稳定性、风格和相似性设置进行细粒度控制。
-
声音克隆与设计:从音频样本克隆声音,或根据所需特征(如年龄、性别、口音和语气)的文本描述生成新声音。
-
音频处理:从背景噪音中分离语音,转换音频使其听起来像不同的声音,或通过说话人识别将语音转录为文本。
-
音效与声景:根据文本描述生成音效和环境声景,例如“丛林中雷雨交加,动物们对天气做出反应”。
前置条件¶
- 注册一个 ElevenLabs 账户
- 从账户设置中生成一个 API 密钥
与智能体一起使用¶
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 资源返回