Skip to content

适用于 ADK 的 AgentPhone MCP 工具

ADK 已支持PythonTypeScript

AgentPhone MCP 服务器 将你的 ADK 智能体连接到 AgentPhone —— 一个专为 AI 智能体打造的电话平台。此次集成赋予了你的智能体拨打和接听电话、发送和接收短信、管理电话号码以及使用自然语言创建自主 AI 语音智能体的能力。

使用案例

  • 自主电话通话:让你的智能体拨打某个电话号码,并围绕特定主题进行完整的 AI 驱动对话,并在完成后返回完整的转录文本。

  • 短信发送:发送和接收文本消息,跨多个电话号码管理对话线程,并检索消息历史记录。

  • 电话号码管理:配置具有特定区号的电话号码,将其分配给智能体,并在不再需要时释放号码。

  • AI 语音智能体:创建具有可配置声音、系统提示词和模型层级(turbo、balanced、max)的智能体,无需 Webhook 即可自主处理呼入和呼出电话。

  • 通话转接和语音信箱:配置智能体将通话转接给人工客服,并为未接来电设置语音信箱问候语。

  • Webhook 集成:设置项目级或智能体级的 Webhook,以接收有关呼入消息和通话事件的实时通知。

先决条件

与智能体配合使用

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

AGENTPHONE_API_KEY = "你的_AGENTPHONE_API_KEY"

root_agent = Agent(
    model="gemini-flash-latest",
    name="agentphone_agent",
    instruction="帮助用户拨打电话、发送短信和管理电话号码",
    tools=[
        McpToolset(
            connection_params=StdioConnectionParams(
                server_params=StdioServerParameters(
                    command="npx",
                    args=[
                        "-y",
                        "agentphone-mcp",
                    ],
                    env={
                        "AGENTPHONE_API_KEY": AGENTPHONE_API_KEY,
                    }
                ),
                timeout=30,
            ),
        )
    ],
)
from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams

AGENTPHONE_API_KEY = "你的_AGENTPHONE_API_KEY"

root_agent = Agent(
    model="gemini-flash-latest",
    name="agentphone_agent",
    instruction="帮助用户拨打电话、发送短信和管理电话号码",
    tools=[
        McpToolset(
            connection_params=StreamableHTTPConnectionParams(
                url="https://mcp.agentphone.to/mcp",
                headers={
                    "Authorization": f"Bearer {AGENTPHONE_API_KEY}",
                },
            ),
        )
    ],
)
import { LlmAgent, MCPToolset } from "@google/adk";

const AGENTPHONE_API_KEY = "你的_AGENTPHONE_API_KEY";

const rootAgent = new LlmAgent({
    model: "gemini-flash-latest",
    name: "agentphone_agent",
    instruction: "帮助用户拨打电话、发送短信和管理电话号码",
    tools: [
        new MCPToolset({
            type: "StdioConnectionParams",
            serverParams: {
                command: "npx",
                args: ["-y", "agentphone-mcp"],
                env: {
                    AGENTPHONE_API_KEY: AGENTPHONE_API_KEY,
                },
            },
        }),
    ],
});

export { rootAgent };
import { LlmAgent, MCPToolset } from "@google/adk";

const AGENTPHONE_API_KEY = "你的_AGENTPHONE_API_KEY";

const rootAgent = new LlmAgent({
    model: "gemini-flash-latest",
    name: "agentphone_agent",
    instruction: "帮助用户拨打电话、发送短信和管理电话号码",
    tools: [
        new MCPToolset({
            type: "StreamableHTTPConnectionParams",
            url: "https://mcp.agentphone.to/mcp",
            transportOptions: {
                requestInit: {
                    headers: {
                        Authorization: `Bearer ${AGENTPHONE_API_KEY}`,
                    },
                },
            },
        }),
    ],
});

export { rootAgent };

可用工具

账号 (Account)

工具名 描述
account_overview 账号完整快照:包含智能体、号码、Webhook 状态、限制使用额度。
get_usage 详细使用统计:套餐限制、号码配额、消息/通话量。

电话号码 (Phone numbers)

工具 描述
list_numbers 列出账号中的所有电话号码
buy_number 购买新的电话号码,可选国家和区号

短信/消息 (SMS / Messages)

工具 描述
send_message 从智能体的电话号码发送短信或 iMessage
get_messages 获取特定电话号码的短信信息
list_conversations 列出短信会话线程,可选按智能体过滤
get_conversation 获取包含完整消息历史的特定会话
update_conversation 设置或清除会话上的元数据

语音通话 (Voice calls)

工具 描述
list_calls 列出最近的通话,可选按智能体、号码、状态或方向过滤
get_call 获取通话详情和转录文本,可选长轮询
make_call 发起外呼通话,可选语音覆盖,使用 Webhook 处理对话
make_conversation_call 发起自主 AI 通话,可选语音覆盖,返回完整转录文本

智能体 (Agents)

工具 描述
list_agents 列出所有智能体及其电话号码和语音配置
create_agent 使用语音、系统提示词、模型层级、通话转接和语音信箱创建新智能体
update_agent 更新智能体配置,包括语音、模型层级、转接和语音信箱
delete_agent 删除智能体
get_agent 获取智能体详情,包括号码和语音配置
attach_number 为智能体分配电话号码
detach_number 从智能体分离电话号码
list_voices 列出可用的语音选项

Webhook

所有 Webhook 工具都接受一个可选的 agent_id 参数。如果提供,该操作将针对该智能体的 Webhook。如果省略,则针对项目级默认值。智能体级 Webhook 优先于项目级。

工具 描述
get_webhook 获取 Webhook 配置
set_webhook 为入站消息和通话事件设置 Webhook URL
delete_webhook 删除 Webhook
test_webhook 发送测试事件以验证 Webhook 是否正常工作
list_webhook_deliveries 查看最近 Webhook 投递历史

配置

AgentPhone MCP 服务器可以使用环境变量进行配置:

变量名 描述 默认值
AGENTPHONE_API_KEY 你的 AgentPhone API 密钥 必填(stdio 模式下)
AGENTPHONE_BASE_URL 覆盖 API 基础 URL https://api.agentphone.to

对于远程 HTTP 模式,请通过 Authorization: Bearer Header 传递 API 密钥,而不是通过环境变量。

其他资源