AgentLine MCP tool for ADK¶
The AgentLine MCP Server connects your ADK agent to AgentLine, an AI-native telephony platform. This integration gives your agent the ability to provision US phone numbers, make and receive voice calls, retrieve transcripts, read inbound SMS, and manage billing using natural language.
Use cases¶
-
Autonomous Phone Calls: Have your agent call a US number, hold an AI-powered conversation with a custom greeting and system prompt, then return the full transcript.
-
Inbound Voice Agents: Create a voice agent, attach a phone number, and let AgentLine answer inbound calls with the agent's prompt, greeting, and voice.
-
Phone Number Management: Provision a US local or toll-free number with a preferred area code and assign it to an agent.
-
Inbound SMS: Read SMS that callers send to the agent's number and poll for
sms.receivedevents. -
Transcripts and Events: List calls, hang up an in-progress call, and poll or peek at the event mailbox for
call.completedandcall.owner_taskresults. -
Voice and Billing: Choose a TTS voice preset and check account balance before placing calls or buying numbers.
Prerequisites¶
- Create an AgentLine account
- Generate an API key with the email one-time-code flow. See Authentication
Use with agent¶
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
AGENTLINE_API_KEY = "YOUR_AGENTLINE_API_KEY"
root_agent = Agent(
model="gemini-flash-latest",
name="agentline_agent",
instruction="Help users make phone calls, read inbound SMS, and manage phone numbers",
tools=[
McpToolset(
connection_params=StreamableHTTPConnectionParams(
url="https://api.agentline.cloud/mcp",
headers={
"Authorization": f"Bearer {AGENTLINE_API_KEY}",
},
),
)
],
)
import { LlmAgent, MCPToolset } from "@google/adk";
const AGENTLINE_API_KEY = "YOUR_AGENTLINE_API_KEY";
const rootAgent = new LlmAgent({
model: "gemini-flash-latest",
name: "agentline_agent",
instruction: "Help users make phone calls, read inbound SMS, and manage phone numbers",
tools: [
new MCPToolset({
type: "StreamableHTTPConnectionParams",
url: "https://api.agentline.cloud/mcp",
transportOptions: {
requestInit: {
headers: {
Authorization: `Bearer ${AGENTLINE_API_KEY}`,
},
},
},
}),
],
});
export { rootAgent };
Available tools¶
Agents¶
| Tool | Description |
|---|---|
create_agent |
Create a voice agent with a name, system prompt, greeting, and voice |
list_agents |
List all agents |
get_agent |
Get details for a specific agent |
update_agent |
Update an agent's prompt, greeting, voice, or owner phone |
delete_agent |
Delete an agent |
Phone numbers¶
| Tool | Description |
|---|---|
buy_phone_number |
Provision a US local or toll-free number and attach it to an agent |
list_phone_numbers |
List phone numbers on the account |
Voice calls¶
| Tool | Description |
|---|---|
make_outbound_call |
Place an outbound call from an agent's number |
list_calls |
List recent calls |
get_call_details |
Get status and metadata for a call |
get_call_transcript |
Get the full {role, text, timestamp} transcript |
hangup_call |
End an active call |
SMS¶
Outbound SMS is not available. Inbound messages arrive as sms.received events.
| Tool | Description |
|---|---|
list_messages |
List inbound SMS for an agent |
Events¶
The poll_events tool consumes pending events. Use peek_events to inspect
the queue without deleting it. Common event_type values include
call.received, call.completed, call.owner_task, and sms.received.
| Tool | Description |
|---|---|
poll_events |
Consume pending call and SMS events from the mailbox |
peek_events |
Preview pending events without consuming them |
Billing¶
| Tool | Description |
|---|---|
get_account_balance |
Get the current account balance |
get_expenditure_breakdown |
Get spending for the current period |
Voice¶
Voice presets include female-1, female-2, female-3, male-1, male-2,
and male-3. Per-call and per-agent settings override the account default.
| Tool | Description |
|---|---|
list_available_voices |
List TTS voice presets |
get_account_voice |
Get the account-level default voice |
set_account_voice |
Set the account-level default voice |
reset_account_voice |
Reset the account voice to the platform default |
Configuration¶
The remote AgentLine MCP server authenticates with a Bearer API key. Keys use
the al_live_ prefix. Legacy sk_live_ keys are also accepted.
| Setting | Description | Default |
|---|---|---|
Authorization header |
Bearer al_live_... |
Required |
| MCP URL | Hosted Streamable HTTP endpoint | https://api.agentline.cloud/mcp |
Phone numbers are E.164 (for example, +12125557890). Each agent can have one
active number. Numbers are US-only.