用于 ADK 的 Cartesia MCP 工具¶
Supported in ADKPythonTypeScript
Cartesia MCP 服务器 将你的 ADK 智能体连接到 Cartesia AI 音频平台。此集成使你的智能体能够生成语音、将声音本地化为不同语言,并使用自然语言创建音频内容。
使用场景¶
-
文本转语音 (TTS):使用 Cartesia 丰富的语音库将文本转换为自然流畅的语音,你可以精确控制语音选择和输出格式。
-
语音本地化:将现有声音转换为不同语言,同时保留原说话者的特征,非常适合多语言内容创作。
-
音频填充 (Audio Infill):填充音频段之间的空白以实现平滑过渡,适用于播客编辑或有声读物制作。
-
语音转换:将音频剪辑转换为 Cartesia 库中其他不同的声音。
先决条件¶
- 注册一个 Cartesia 账号。
- 从 Cartesia 控制台生成 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
CARTESIA_API_KEY = "YOUR_CARTESIA_API_KEY"
root_agent = Agent(
model="gemini-flash-latest",
name="cartesia_agent",
instruction="帮助用户生成语音并处理音频内容",
tools=[
McpToolset(
connection_params=StdioConnectionParams(
server_params=StdioServerParameters(
command="uvx",
args=["cartesia-mcp"],
env={
"CARTESIA_API_KEY": CARTESIA_API_KEY,
# "OUTPUT_DIRECTORY": "/path/to/output", # 可选
}
),
timeout=30,
),
)
],
)
import { LlmAgent, MCPToolset } from "@google/adk";
const CARTESIA_API_KEY = "YOUR_CARTESIA_API_KEY";
const rootAgent = new LlmAgent({
model: "gemini-flash-latest",
name: "cartesia_agent",
instruction: "帮助用户生成语音并处理音频内容",
tools: [
new MCPToolset({
type: "StdioConnectionParams",
serverParams: {
command: "uvx",
args: ["cartesia-mcp"],
env: {
CARTESIA_API_KEY: CARTESIA_API_KEY,
// OUTPUT_DIRECTORY: "/path/to/output", // 可选
},
},
}),
],
});
export { rootAgent };
可用工具¶
| 工具 | 描述 |
|---|---|
text_to_speech |
使用指定的语音将文本转换为音频 |
list_voices |
列出所有可用的 Cartesia 声音 |
get_voice |
获取特定声音的详细信息 |
clone_voice |
从音频样本中克隆声音 |
update_voice |
更新现有声音 |
delete_voice |
从库中删除声音 |
localize_voice |
将语音转换为另一种语言 |
voice_change |
转换音频文件以使用不同的声音 |
infill |
填充音频段之间的空白 |
配置¶
Cartesia MCP 服务器可以使用环境变量进行配置:
| 变量 | 描述 | 是否必填 |
|---|---|---|
CARTESIA_API_KEY |
你的 Cartesia API 密钥 | 是 |
OUTPUT_DIRECTORY |
存储生成的音频文件的目录 | 否 |