Give AI agents a phone: outbound AI calls that return a summary, transcript, and extracted fields.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get the status and result of a call by id. status is one of queued | ringing | in_progress (still running, poll again) or completed | no_answer | voicemail | declined | failed (terminal). Returns summary, transcript, and extracted fields.
The callId returned by place_call.
Get the status and result of a call by id. status is one of queued | ringing | in_progress (still running, poll again) or completed | no_answer | voicemail | declined | failed (terminal). Returns summary, transcript, and extracted fields.
| Argument | Type | Description |
|---|---|---|
| callId* | string | The callId returned by place_call. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"callId"
],
"properties": {
"callId": {
"type": "string",
"description": "The callId returned by place_call."
}
},
"additionalProperties": false
}List recent calls placed by your account (most recent first).
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max calls to return (default 20, max 100). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"description": "Max calls to return (default 20, max 100).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Place an outbound AI phone call toward an objective. Returns a callId immediately; the call is conducted asynchronously. Poll get_call with that callId until status is terminal (completed | no_answer | voicemail | declined | failed).
| Argument | Type | Description |
|---|---|---|
| to* | string | Destination phone number in E.164, e.g. +14155550123. |
| fields | array | Structured fields to extract from the call. |
| context | string | Background context for the assistant. |
| navMode | string | How to navigate the far-end IVR: auto (detect keypad menu vs conversational assistant live), keypad (stay muted and press keys), or speech (talk). |
| callerId | string | Optional caller ID; must be a number on your account. |
| objective* | string | What the call should accomplish. |
| webhookUrl | string | Optional https URL to receive the signed result. |
| listenFirst | boolean | If true, stay silent until the callee/IVR speaks first, then respond. Recommended for any outbound call into a phone tree. |
Place an outbound AI phone call to set up a meeting. The assistant calls the person, agrees a time, and the result (poll get_call) carries outcome (appointment_set | callback_requested | declined | no_answer | failed) and, when set, the appointment (startISO, timezone, durationMinutes, attendee, subject). Returns a callId immediately.
| Argument | Type | Description |
|---|---|---|
| to* | string | Who to call, in E.164, e.g. +14155550123. |
| slots | array | Specific start times to offer, ISO-8601 with offset. |
| subject* | string | What the meeting is about. |
| autoBook | boolean | Also book the agreed time on your connected calendar. |
| callerId | string | Optional caller ID; must be a number on your account. |
| timezone | string | IANA timezone for the appointment, e.g. Asia/Jerusalem. |
| webhookUrl | string | Optional https URL to receive the signed result. |
| timePreference | string | Natural-language window, e.g. "weekday mornings next week". |
| durationMinutes |
| accountNumber |
| string |
| Account/phone digits the enter_account_number tool keys deterministically (keypad chars only). |
| toolAllowlist | array | Tools this call may use, e.g. ["send_digits","reached_human","add_participant","enter_account_number"]. Omit for the default set. |
| callbackNumber | string | Our callback DID digits the enter_callback_number tool keys (callback-to-AI mode). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to",
"objective"
],
"properties": {
"to": {
"type": "string",
"description": "Destination phone number in E.164, e.g. +14155550123."
},
"fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"enum": [
"string",
"boolean",
"number"
],
"type": "string"
},
"description": {
"type": "string"
}
},
"additionalProperties": false
},
"description": "Structured fields to extract from the call."
},
"context": {
"type": "string",
"description": "Background context for the assistant."
},
"navMode": {
"enum": [
"auto",
"keypad",
"speech"
],
"type": "string",
"description": "How to navigate the far-end IVR: auto (detect keypad menu vs conversational assistant live), keypad (stay muted and press keys), or speech (talk)."
},
"callerId": {
"type": "string",
"description": "Optional caller ID; must be a number on your account."
},
"objective": {
"type": "string",
"description": "What the call should accomplish."
},
"webhookUrl": {
"type": "string",
"description": "Optional https URL to receive the signed result."
},
"listenFirst": {
"type": "boolean",
"description": "If true, stay silent until the callee/IVR speaks first, then respond. Recommended for any outbound call into a phone tree."
},
"accountNumber": {
"type": "string",
"description": "Account/phone digits the enter_account_number tool keys deterministically (keypad chars only)."
},
"toolAllowlist": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tools this call may use, e.g. [\"send_digits\",\"reached_human\",\"add_participant\",\"enter_account_number\"]. Omit for the default set."
},
"callbackNumber": {
"type": "string",
"description": "Our callback DID digits the enter_callback_number tool keys (callback-to-AI mode)."
}
},
"additionalProperties": false
}| integer |
| Meeting length in minutes (default 30). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"to",
"subject"
],
"properties": {
"to": {
"type": "string",
"description": "Who to call, in E.164, e.g. +14155550123."
},
"slots": {
"type": "array",
"items": {
"type": "object",
"required": [
"startISO"
],
"properties": {
"startISO": {
"type": "string"
}
},
"additionalProperties": false
},
"description": "Specific start times to offer, ISO-8601 with offset."
},
"subject": {
"type": "string",
"description": "What the meeting is about."
},
"autoBook": {
"type": "boolean",
"description": "Also book the agreed time on your connected calendar."
},
"callerId": {
"type": "string",
"description": "Optional caller ID; must be a number on your account."
},
"timezone": {
"type": "string",
"description": "IANA timezone for the appointment, e.g. Asia/Jerusalem."
},
"webhookUrl": {
"type": "string",
"description": "Optional https URL to receive the signed result."
},
"timePreference": {
"type": "string",
"description": "Natural-language window, e.g. \"weekday mornings next week\"."
},
"durationMinutes": {
"type": "integer",
"description": "Meeting length in minutes (default 30).",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}