make_call
Initiate an outbound AI voice call. The AI agent follows your system prompt and speaks a first message when the recipient answers. Returns a call ID immediately; poll to get status, transcript, and summary.
Instructions
Place an outbound AI voice call. An AI agent answers when the recipient
picks up and follows prompt as its system instructions; first_message is
what it says on connect.
Returns immediately with the id (call_id) — the call runs in the
background. Poll get_call(call_id) to see status, transcript, and summary
once it completes.
voice is a Deepgram TTS voice (aura-asteria-en, aura-orion-en, …).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| from_number | Yes | ||
| to_number | Yes | ||
| prompt | Yes | ||
| first_message | No | ||
| voice | No | aura-asteria-en | |
| llm_model | No | claude-sonnet-4-20250514 | |
| max_duration_seconds | No |
Implementation Reference
- agentline_mcp/server.py:201-234 (handler)The 'make_call' tool handler function. Decorated with @mcp.tool(), it takes parameters (from_number, to_number, prompt, first_message, voice, llm_model, max_duration_seconds) and delegates to the Agentline SDK's make_call() method, returning the result as a dict via asdict(). Catches AgentlineError and returns error info.
@mcp.tool() def make_call( from_number: str, to_number: str, prompt: str, first_message: str | None = None, voice: str = "aura-asteria-en", llm_model: str = "claude-sonnet-4-20250514", max_duration_seconds: int = 300, ) -> dict: """Place an outbound AI voice call. An AI agent answers when the recipient picks up and follows `prompt` as its system instructions; `first_message` is what it says on connect. Returns immediately with the `id` (call_id) — the call runs in the background. Poll `get_call(call_id)` to see status, transcript, and summary once it completes. `voice` is a Deepgram TTS voice (aura-asteria-en, aura-orion-en, …). """ try: result = _client_or_init().make_call( from_=from_number, to=to_number, prompt=prompt, voice=voice, first_message=first_message, llm_model=llm_model, max_duration_seconds=max_duration_seconds, wait=False, ) return asdict(result) except AgentlineError as e: return {"error": str(e), "status_code": e.status_code} - agentline_mcp/server.py:201-201 (registration)The tool is registered as an MCP tool via the @mcp.tool() decorator on line 201, where 'mcp' is a FastMCP instance created on line 47 as 'mcp = FastMCP("agentline")'.
@mcp.tool() - agentline_mcp/server.py:51-55 (helper)Helper function _client_or_init() that lazily initializes and returns the Agentline client singleton used by make_call.
def _client_or_init() -> Agentline: global _client if _client is None: _client = _build_client() return _client