
Place real phone calls, read transcripts, run a live interpreter and buy numbers.
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.
Adds text and/or URL sources to an existing knowledge base.
The knowledge base id. Call call2me_list_knowledge_bases first if unknown.
Web page URLs to crawl and index (max 10).
Text sources to index (max 20).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Adds text and/or URL sources to an existing knowledge base.
| Argument | Type | Description |
|---|---|---|
| urls | array | Web page URLs to crawl and index (max 10). |
| texts | array | Text sources to index (max 20). |
| knowledge_base_id* | string | The knowledge base id. Call call2me_list_knowledge_bases first if unknown. |
{
"type": "object",
"required": [
"knowledge_base_id"
],
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Web page URLs to crawl and index (max 10)."
},
"texts": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "The text content."
},
"title": {
"type": "string",
"description": "Title of the text."
}
},
"additionalProperties": false
},
"maxItems": 20,
"description": "Text sources to index (max 20)."
},
"knowledge_base_id": {
"type": "string",
"description": "The knowledge base id. Call call2me_list_knowledge_bases first if unknown."
}
},
"additionalProperties": false
}Binds a phone number to an assistant, which then answers calls to that number. Replaces any existing binding.
| Argument | Type | Description |
|---|---|---|
| agent_id* | string | The assistant to bind to. |
| phone_number* | string | A number on the account, E.164. |
{
"type": "object",
"required": [
"phone_number",
"agent_id"
],
"properties": {
"agent_id": {
"type": "string",
"description": "The assistant to bind to."
},
"phone_number": {
"type": "string",
"description": "A number on the account, E.164."
}
},
"additionalProperties": false
}Cancels a scheduled call. Cannot be undone.
| Argument | Type | Description |
|---|---|---|
| schedule_id* | string | Id of the schedule to cancel. |
{
"type": "object",
"required": [
"schedule_id"
],
"properties": {
"schedule_id": {
"type": "string",
"description": "Id of the schedule to cancel."
}
},
"additionalProperties": false
}Creates a checkout link for buying a number. DOES NOT BUY and DOES NOT CHARGE — the user confirms on the payment screen themselves. Use this path when the balance is insufficient.
| Argument | Type | Description |
|---|---|---|
| agent_id | string | |
| phone_number* | string | From the call2me_search_numbers result. |
{
"type": "object",
"required": [
"phone_number"
],
"properties": {
"agent_id": {
"type": "string"
},
"phone_number": {
"type": "string",
"description": "From the call2me_search_numbers result."
}
},
"additionalProperties": false
}Creates a new voice assistant. Do not call it unless the user asks explicitly; do not invent fields such as name and language — ask.
| Argument | Type | Description |
|---|---|---|
| name* | string | Name of the assistant. |
| language | string | Spoken language, e.g. 'tr' or 'en'. |
| system_prompt | string | Behaviour instructions for the assistant. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the assistant."
},
"language": {
"type": "string",
"description": "Spoken language, e.g. 'tr' or 'en'."
},
"system_prompt": {
"type": "string",
"description": "Behaviour instructions for the assistant."
}
},
"additionalProperties": true
}Creates a new live interpreter. name, source language and target language are REQUIRED — never guess any of them, ask the user.
| Argument | Type | Description |
|---|---|---|
| name* | string | Name of the interpreter. |
| voice_id | string | |
| phone_number | string | Number to bind to the interpreter. |
| transparency | string | 'invisible' | 'announce' |
| source_language* | string | Source language code, e.g. 'tr'. |
| target_language* | string | Target language code, e.g. 'en'. |
{
"type": "object",
"required": [
"name",
"source_language",
"target_language"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the interpreter."
},
"voice_id": {
"type": "string"
},
"phone_number": {
"type": "string",
"description": "Number to bind to the interpreter."
},
"transparency": {
"type": "string",
"description": "'invisible' | 'announce'"
},
"source_language": {
"type": "string",
"description": "Source language code, e.g. 'tr'."
},
"target_language": {
"type": "string",
"description": "Target language code, e.g. 'en'."
}
},
"additionalProperties": true
}Mints a single-use join passcode for the browser session.
| Argument | Type | Description |
|---|---|---|
| interpreter_id* | string |
{
"type": "object",
"required": [
"interpreter_id"
],
"properties": {
"interpreter_id": {
"type": "string"
}
},
"additionalProperties": false
}Creates a knowledge base from text and/or URLs. To make an assistant use it, pass agent_id here (auto-links), or add the id to the assistant's knowledge_base_ids via call2me_update_agent. Provide at least one text or URL.
| Argument | Type | Description |
|---|---|---|
| name* | string | Knowledge base name. |
| urls | array | Web page URLs to crawl and index (max 10). |
| texts | array | Text sources to index (max 20). |
| agent_id | string | Assistant to link the knowledge base to (optional). |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Knowledge base name."
},
"urls": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Web page URLs to crawl and index (max 10)."
},
"texts": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "The text content."
},
"title": {
"type": "string",
"description": "Title of the text."
}
},
"additionalProperties": false
},
"maxItems": 20,
"description": "Text sources to index (max 20)."
},
"agent_id": {
"type": "string",
"description": "Assistant to link the knowledge base to (optional)."
}
},
"additionalProperties": false
}Adds a post-call notification (email, SMS, WhatsApp or custom URL) to an assistant. Messages will be sent to the destination after calls; never invent the destination. Confirm the exact destination/value with the user first.
| Argument | Type | Description |
|---|---|---|
| active | boolean | |
| channel* | string | |
| agent_id* | string | The assistant id. Call call2me_list_agents first if unknown. |
| template | string | Message template. |
| destination | string | Email, phone number or URL. |
| trigger_event | string | |
| recipient_kind | string |
{
"type": "object",
"required": [
"agent_id",
"channel"
],
"properties": {
"active": {
"type": "boolean"
},
"channel": {
"enum": [
"whatsapp",
"sms",
"email",
"custom_url"
],
"type": "string"
},
"agent_id": {
"type": "string",
"description": "The assistant id. Call call2me_list_agents first if unknown."
},
"template": {
"type": "string",
"description": "Message template."
},
"destination": {
"type": "string",
"description": "Email, phone number or URL."
},
"trigger_event": {
"enum": [
"call_ended",
"chat_ended"
],
"type": "string"
},
"recipient_kind": {
"enum": [
"owner",
"caller",
"fixed",
"team"
],
"type": "string"
}
},
"additionalProperties": false
}Schedules a call for a given time. This WILL produce a REAL call — the target number is dialled when the time comes. agent_id, phone_number and scheduled_at are REQUIRED; never guess any of them, ask the user if anything is missing.
| Argument | Type | Description |
|---|---|---|
| agent_id* | string | The assistant that will place the call. |
| timezone | string | |
| description | string | |
| contact_name | string | |
| phone_number* | string | Number to dial, E.164 (+905551234567). |
| scheduled_at* | string | ISO 8601 timestamp, e.g. 2026-10-05T14:30:00Z. |
{
"type": "object",
"required": [
"agent_id",
"phone_number",
"scheduled_at"
],
"properties": {
"agent_id": {
"type": "string",
"description": "The assistant that will place the call."
},
"timezone": {
"type": "string",
"default": "UTC"
},
"description": {
"type": "string"
},
"contact_name": {
"type": "string"
},
"phone_number": {
"type": "string",
"description": "Number to dial, E.164 (+905551234567)."
},
"scheduled_at": {
"type": "string",
"description": "ISO 8601 timestamp, e.g. 2026-10-05T14:30:00Z."
}
},
"additionalProperties": false
}Registers a SIP trunk (the user's own telephony provider). The password is stored but never returned. Calls may be routed through this server: Confirm the exact destination/value with the user first.
| Argument | Type | Description |
|---|---|---|
| name* | string | Trunk name. |
| sip_server* | string | SIP server host. |
| sip_password | string | |
| sip_username | string | |
| sip_transport | string | |
| outbound_caller_id | string | Caller id, E.164. |
{
"type": "object",
"required": [
"name",
"sip_server"
],
"properties": {
"name": {
"type": "string",
"description": "Trunk name."
},
"sip_server": {
"type": "string",
"description": "SIP server host."
},
"sip_password": {
"type": "string"
},
"sip_username": {
"type": "string"
},
"sip_transport": {
"enum": [
"udp",
"tcp",
"tls"
],
"type": "string"
},
"outbound_caller_id": {
"type": "string",
"description": "Caller id, E.164."
}
},
"additionalProperties": false
}Creates a payment link for adding credit. It does NOT pay: the user must open the link and pay. Never invent the amount; ask the user.
| Argument | Type | Description |
|---|---|---|
| amount* | number | Amount to add, in the currency. |
| currency | string | Currency code, default USD. |
{
"type": "object",
"required": [
"amount"
],
"properties": {
"amount": {
"type": "number",
"description": "Amount to add, in the currency.",
"exclusiveMinimum": 0
},
"currency": {
"type": "string",
"description": "Currency code, default USD."
}
},
"additionalProperties": false
}Opens a browser voice session and returns connection details. Does NOT place a phone call.
| Argument | Type | Description |
|---|---|---|
| agent_id | string |
{
"type": "object",
"properties": {
"agent_id": {
"type": "string"
}
},
"additionalProperties": true
}Creates a website chat widget for an assistant. Returns the embed code.
| Argument | Type | Description |
|---|---|---|
| name* | string | Widget name. |
| agent_id* | string | The assistant id. Call call2me_list_agents first if unknown. |
| language | string | Language code, e.g. en-US. |
| position | string | |
| auto_open | boolean | |
| voice_mode | string | chat or voice-enabled mode. |
| primary_color | string | Hex color, e.g. #6366f1. |
| allowed_domains | array | Websites allowed to embed the widget. |
| greeting_message | string | First message shown. |
| auto_open_delay_ms | integer |
PERMANENTLY deletes an assistant. Cannot be undone. If it is unclear which assistant is meant, NEVER guess — ask the user.
| Argument | Type | Description |
|---|---|---|
| agent_id* | string | Id of the assistant to delete. |
{
"type": "object",
"required": [
"agent_id"
],
"properties": {
"agent_id": {
"type": "string",
"description": "Id of the assistant to delete."
}
},
"additionalProperties": false
}PERMANENTLY deletes an interpreter. Cannot be undone. If it is unclear which one is meant, NEVER guess — ask the user.
| Argument | Type | Description |
|---|---|---|
| interpreter_id* | string |
{
"type": "object",
"required": [
"interpreter_id"
],
"properties": {
"interpreter_id": {
"type": "string"
}
},
"additionalProperties": false
}PERMANENTLY deletes a knowledge base and its sources. Cannot be undone. Confirm with the user first; never guess which one.
| Argument | Type | Description |
|---|---|---|
| knowledge_base_id* | string | The knowledge base id. Call call2me_list_knowledge_bases first if unknown. |
{
"type": "object",
"required": [
"knowledge_base_id"
],
"properties": {
"knowledge_base_id": {
"type": "string",
"description": "The knowledge base id. Call call2me_list_knowledge_bases first if unknown."
}
},
"additionalProperties": false
}Removes a post-call notification target. Cannot be undone. Confirm with the user first.
| Argument | Type | Description |
|---|---|---|
| target_id* | string | Target id from call2me_list_notification_targets. |
{
"type": "object",
"required": [
"target_id"
],
"properties": {
"target_id": {
"type": "string",
"description": "Target id from call2me_list_notification_targets."
}
},
"additionalProperties": false
}PERMANENTLY deletes a SIP trunk; numbers on it stop working. Cannot be undone. Confirm with the user first.
| Argument | Type | Description |
|---|---|---|
| trunk_id* | string | The trunk id from call2me_list_sip_trunks. |
{
"type": "object",
"required": [
"trunk_id"
],
"properties": {
"trunk_id": {
"type": "string",
"description": "The trunk id from call2me_list_sip_trunks."
}
},
"additionalProperties": false
}PERMANENTLY deletes a widget; embedded copies stop working. Cannot be undone. Confirm with the user first.
| Argument | Type | Description |
|---|---|---|
| widget_id* | string | The widget id. Call call2me_list_widgets first if unknown. |
{
"type": "object",
"required": [
"widget_id"
],
"properties": {
"widget_id": {
"type": "string",
"description": "The widget id. Call call2me_list_widgets first if unknown."
}
},
"additionalProperties": false
}Creates a copy of an assistant with the same settings.
| Argument | Type | Description |
|---|---|---|
| agent_id* | string | The assistant id. Call call2me_list_agents first if unknown. |
{
"type": "object",
"required": [
"agent_id"
],
"properties": {
"agent_id": {
"type": "string",
"description": "The assistant id. Call call2me_list_agents first if unknown."
}
},
"additionalProperties": false
}Opens or closes the browser session link for an interpreter. Does NOT place a phone call.
| Argument | Type | Description |
|---|---|---|
| enabled | boolean | |
| interpreter_id* | string | |
| requires_passcode | boolean | Require a passcode to join. |
{
"type": "object",
"required": [
"interpreter_id"
],
"properties": {
"enabled": {
"type": "boolean",
"default": true
},
"interpreter_id": {
"type": "string"
},
"requires_passcode": {
"type": "boolean",
"description": "Require a passcode to join."
}
},
"additionalProperties": false
}Cuts off a call in progress IMMEDIATELY. Cannot be undone — the conversation ends.
| Argument | Type | Description |
|---|---|---|
| call_id* | string | Id of the call to end. |
{
"type": "object",
"required": [
"call_id"
],
"properties": {
"call_id": {
"type": "string",
"description": "Id of the call to end."
}
},
"additionalProperties": false
}Cuts off the browser session in progress IMMEDIATELY. Cannot be undone.
| Argument | Type | Description |
|---|---|---|
| interpreter_id* | string |
{
"type": "object",
"required": [
"interpreter_id"
],
"properties": {
"interpreter_id": {
"type": "string"
}
},
"additionalProperties": false
}Full settings for a single assistant: language, voice, system prompt, model.
| Argument | Type | Description |
|---|---|---|
| agent_id* | string | The assistant id. |
{
"type": "object",
"required": [
"agent_id"
],
"properties": {
"agent_id": {
"type": "string",
"description": "The assistant id."
}
},
"additionalProperties": false
}Call statistics for one assistant (volume, duration, success) over a period.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days. |
| agent_id* | string | The assistant id. Call call2me_list_agents first if unknown. |
{
"type": "object",
"required": [
"agent_id"
],
"properties": {
"days": {
"type": "integer",
"maximum": 365,
"minimum": 1,
"description": "Look-back window in days."
},
"agent_id": {
"type": "string",
"description": "The assistant id. Call call2me_list_agents first if unknown."
}
},
"additionalProperties": false
}Shows the wallet auto top-up settings: enabled, threshold and charge amount.
No arguments.
{
"type": "object",
"additionalProperties": false
}Details of a single call: start and end, duration, status, cost.
| Argument | Type | Description |
|---|---|---|
| call_id* | string | The call id. |
{
"type": "object",
"required": [
"call_id"
],
"properties": {
"call_id": {
"type": "string",
"description": "The call id."
}
},
"additionalProperties": false
}Returns a temporary signed URL (valid about 1 hour) for a call's audio recording.
| Argument | Type | Description |
|---|---|---|
| call_id* | string | The call id. |
{
"type": "object",
"required": [
"call_id"
],
"properties": {
"call_id": {
"type": "string",
"description": "The call id."
}
},
"additionalProperties": false
}Returns the conversation transcript in vCon format — who said what, with timestamps. Use when the user asks what was said on a call.
| Argument | Type | Description |
|---|---|---|
| call_id* | string | The call id. |
{
"type": "object",
"required": [
"call_id"
],
"properties": {
"call_id": {
"type": "string",
"description": "The call id."
}
},
"additionalProperties": false
}Returns one chat session with its full message history.
| Argument | Type | Description |
|---|---|---|
| session_id* | string | The chat session id returned by call2me_start_chat or call2me_list_chats. |
{
"type": "object",
"required": [
"session_id"
],
"properties": {
"session_id": {
"type": "string",
"description": "The chat session id returned by call2me_start_chat or call2me_list_chats."
}
},
"additionalProperties": false
}Settings for a single interpreter: language pair, voice, transparency mode, phone number, browser session link.
| Argument | Type | Description |
|---|---|---|
| interpreter_id* | string | The interpreter id. |
{
"type": "object",
"required": [
"interpreter_id"
],
"properties": {
"interpreter_id": {
"type": "string",
"description": "The interpreter id."
}
},
"additionalProperties": false
}Shows who is currently connected to the interpreter browser session.
| Argument | Type | Description |
|---|---|---|
| interpreter_id* | string |
{
"type": "object",
"required": [
"interpreter_id"
],
"properties": {
"interpreter_id": {
"type": "string"
}
},
"additionalProperties": false
}Details of one knowledge base: name, status and its sources.
| Argument | Type | Description |
|---|---|---|
| knowledge_base_id* | string | The knowledge base id. Call call2me_list_knowledge_bases first if unknown. |
{
"type": "object",
"required": [
"knowledge_base_id"
],
"properties": {
"knowledge_base_id": {
"type": "string",
"description": "The knowledge base id. Call call2me_list_knowledge_bases first if unknown."
}
},
"additionalProperties": false
}Per-minute call rates and number prices.
No arguments.
{
"type": "object",
"additionalProperties": false
}Details of one scheduled call: time, timezone, status, recurrence.
| Argument | Type | Description |
|---|---|---|
| schedule_id* | string | The schedule id. Call call2me_list_schedules first if unknown. |
{
"type": "object",
"required": [
"schedule_id"
],
"properties": {
"schedule_id": {
"type": "string",
"description": "The schedule id. Call call2me_list_schedules first if unknown."
}
},
"additionalProperties": false
}Spending and usage analytics for the wallet over a period.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days (max 90). |
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"maximum": 90,
"minimum": 1,
"description": "Look-back window in days (max 90)."
}
},
"additionalProperties": false
}Current account balance in USD, the same wallet that calls and numbers draw on.
No arguments.
{
"type": "object",
"additionalProperties": false
}Shows the account webhook URL and whether a signing secret is set. The secret itself is never returned.
No arguments.
{
"type": "object",
"additionalProperties": false
}Full widget settings plus the ready-to-paste embed code (script tag) for the user's website.
| Argument | Type | Description |
|---|---|---|
| widget_id* | string | The widget id. Call call2me_list_widgets first if unknown. |
{
"type": "object",
"required": [
"widget_id"
],
"properties": {
"widget_id": {
"type": "string",
"description": "The widget id. Call call2me_list_widgets first if unknown."
}
},
"additionalProperties": false
}Lists the voice assistants on the account. Use when the user wants to see their assistants, or needs to pick one for another operation.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return. |
| offset | integer | How many records to skip. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "How many records to skip."
}
},
"additionalProperties": false
}Countries where a phone number can be purchased. Use before searching numbers to see which countries are open.
No arguments.
{
"type": "object",
"additionalProperties": false
}Lists past calls: direction, duration, status, number. Pass agent_id to restrict to one assistant.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return. |
| offset | integer | How many records to skip. |
| agent_id | string | Restrict to this assistant's calls. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "How many records to skip."
},
"agent_id": {
"type": "string",
"description": "Restrict to this assistant's calls."
}
},
"additionalProperties": false
}Lists text chat sessions with assistants. Pass agent_id to restrict to one assistant.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return. |
| offset | integer | How many records to skip. |
| agent_id | string | Restrict to this assistant's chats. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "How many records to skip."
},
"agent_id": {
"type": "string",
"description": "Restrict to this assistant's chats."
}
},
"additionalProperties": false
}Lists sessions run through an interpreter: duration, languages, status.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return. |
| offset | integer | How many records to skip. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "How many records to skip."
}
},
"additionalProperties": false
}Lists the live interpreters on the account: name, language pair, bound number. An interpreter connects two people who each speak their own language, translating in real time.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return. |
| offset | integer | How many records to skip. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "How many records to skip."
}
},
"additionalProperties": false
}Lists the knowledge bases (documents the assistants can search during calls). Pass agent_id to restrict to one assistant.
| Argument | Type | Description |
|---|---|---|
| agent_id | string | Restrict to this assistant's knowledge bases. |
{
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"description": "Restrict to this assistant's knowledge bases."
}
},
"additionalProperties": false
}Lists post-call notification targets (email, SMS, WhatsApp, webhook) of one assistant.
| Argument | Type | Description |
|---|---|---|
| agent_id* | string | The assistant id. Call call2me_list_agents first if unknown. |
{
"type": "object",
"required": [
"agent_id"
],
"properties": {
"agent_id": {
"type": "string",
"description": "The assistant id. Call call2me_list_agents first if unknown."
}
},
"additionalProperties": false
}Lists the phone numbers on the account and which assistant each one is bound to.
No arguments.
{
"type": "object",
"additionalProperties": false
}Lists scheduled calls: when, which number, which assistant.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return. |
| offset | integer | How many records to skip. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "How many records to skip."
}
},
"additionalProperties": false
}Lists the account's SIP trunks. Passwords are never returned.
No arguments.
{
"type": "object",
"additionalProperties": false
}Lists sent and received SMS messages.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many records to return. |
| number | string | Only messages involving this phone number. |
| offset | integer | How many records to skip. |
| direction | string | Only this direction. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "How many records to return."
},
"number": {
"type": "string",
"description": "Only messages involving this phone number."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "How many records to skip."
},
"direction": {
"enum": [
"inbound",
"outbound"
],
"type": "string",
"description": "Only this direction."
}
},
"additionalProperties": false
}Lists wallet transactions (top-ups, call charges, number fees).
| Argument | Type | Description |
|---|---|---|
| type | string | Filter by transaction type. |
| limit | integer | How many records to return. |
| offset | integer | How many records to skip. |
{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Filter by transaction type."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "How many records to return."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "How many records to skip."
}
},
"additionalProperties": false
}Lists available text-to-speech voices; use a voice id when creating or updating an assistant. Filter by language, provider or gender.
| Argument | Type | Description |
|---|---|---|
| gender | string | Gender filter. |
| language | string | Language filter, e.g. tr-TR. |
| provider | string | Provider filter. |
{
"type": "object",
"properties": {
"gender": {
"type": "string",
"description": "Gender filter."
},
"language": {
"type": "string",
"description": "Language filter, e.g. tr-TR."
},
"provider": {
"type": "string",
"description": "Provider filter."
}
},
"additionalProperties": false
}Lists website chat/voice widgets. Pass agent_id to restrict to one assistant.
| Argument | Type | Description |
|---|---|---|
| agent_id | string | Restrict to this assistant's widgets. |
{
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"description": "Restrict to this assistant's widgets."
}
},
"additionalProperties": false
}Places a REAL phone call: the target number is dialled IMMEDIATELY and charged. Cannot be undone. Call this ONLY when the user explicitly asks for a call to be placed. agent_id and to_number are REQUIRED — never guess either one, never infer it from earlier conversation and never assign a default. Ask the user if anything is missing.
| Argument | Type | Description |
|---|---|---|
| agent_id* | string | Id of the assistant that will place the call. If unknown, call call2me_list_agents first. |
| metadata | object | Your own key/values stored on the call. |
| to_number* | string | Number to dial, E.164 (+905551234567). The user must supply it explicitly. |
| from_number | string | Caller id (one of the account's numbers). |
| dynamic_variables | object | Values for {{variables}} in the assistant prompt. |
{
"type": "object",
"required": [
"agent_id",
"to_number"
],
"properties": {
"agent_id": {
"type": "string",
"description": "Id of the assistant that will place the call. If unknown, call call2me_list_agents first."
},
"metadata": {
"type": "object",
"description": "Your own key/values stored on the call."
},
"to_number": {
"type": "string",
"description": "Number to dial, E.164 (+905551234567). The user must supply it explicitly."
},
"from_number": {
"type": "string",
"description": "Caller id (one of the account's numbers)."
},
"dynamic_variables": {
"type": "object",
"description": "Values for {{variables}} in the assistant prompt."
}
},
"additionalProperties": false
}Safe summary of the connected Call2Me account: email, name, account type. NEVER returns the API key. Use when the user asks which account they are connected to.
No arguments.
{
"type": "object",
"additionalProperties": false
}BUYS a phone number: the balance IS CHARGED and monthly rent starts. Cannot be undone. Call this ONLY when the user explicitly asks to buy and has picked the number themselves. NEVER guess the number — show options with call2me_search_numbers first and let the user choose. If the balance is insufficient, use call2me_checkout_number.
| Argument | Type | Description |
|---|---|---|
| agent_id | string | Assistant to bind the number to (optional). |
| phone_number* | string | The number the user CHOSE from the call2me_search_numbers result. |
{
"type": "object",
"required": [
"phone_number"
],
"properties": {
"agent_id": {
"type": "string",
"description": "Assistant to bind the number to (optional)."
},
"phone_number": {
"type": "string",
"description": "The number the user CHOSE from the call2me_search_numbers result."
}
},
"additionalProperties": false
}Runs a semantic search over one knowledge base and returns the best matching passages. Use to test what an assistant would retrieve.
| Argument | Type | Description |
|---|---|---|
| query* | string | The search question. |
| top_k | integer | How many passages to return. |
| knowledge_base_id* | string | The knowledge base id. Call call2me_list_knowledge_bases first if unknown. |
{
"type": "object",
"required": [
"knowledge_base_id",
"query"
],
"properties": {
"query": {
"type": "string",
"description": "The search question."
},
"top_k": {
"type": "integer",
"default": 5,
"maximum": 20,
"minimum": 1,
"description": "How many passages to return."
},
"knowledge_base_id": {
"type": "string",
"description": "The knowledge base id. Call call2me_list_knowledge_bases first if unknown."
}
},
"additionalProperties": false
}Registers a phone number the user already owns together with the user's own SIP trunk (trunk_id is required). Does NOT buy a number. Never invent the number. Confirm the exact destination/value with the user first.
| Argument | Type | Description |
|---|---|---|
| number* | string | Number in E.164, e.g. +905551234567. |
| agent_id | string | Assistant to bind (optional). |
| trunk_id* | string | The user's own SIP trunk the number belongs to. |
| display_name | string |
{
"type": "object",
"required": [
"number",
"trunk_id"
],
"properties": {
"number": {
"type": "string",
"description": "Number in E.164, e.g. +905551234567."
},
"agent_id": {
"type": "string",
"description": "Assistant to bind (optional)."
},
"trunk_id": {
"type": "string",
"description": "The user's own SIP trunk the number belongs to."
},
"display_name": {
"type": "string"
}
},
"additionalProperties": false
}PERMANENTLY releases a phone number: it leaves the account, may be reassigned to someone else, and cannot be recovered. Incoming calls stop.
| Argument | Type | Description |
|---|---|---|
| phone_number* | string | The number to release. |
{
"type": "object",
"required": [
"phone_number"
],
"properties": {
"phone_number": {
"type": "string",
"description": "The number to release."
}
},
"additionalProperties": false
}Lists purchasable phone numbers in a country. DOES NOT BUY — it only shows them. The country code is required; do not guess it, ask the user or call call2me_list_allowed_countries first.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| country* | string | ISO country code, e.g. 'US', 'TR', 'GB'. |
| locality | string | City, if any. |
| area_code | string | Area code, if any. |
| phone_number_type | string | 'local' | 'toll-free' | 'mobile' |
{
"type": "object",
"required": [
"country"
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"country": {
"type": "string",
"description": "ISO country code, e.g. 'US', 'TR', 'GB'."
},
"locality": {
"type": "string",
"description": "City, if any."
},
"area_code": {
"type": "string",
"description": "Area code, if any."
},
"phone_number_type": {
"type": "string",
"description": "'local' | 'toll-free' | 'mobile'"
}
},
"additionalProperties": false
}Sends a message in a chat session and returns the assistant's reply. Each message is BILLED (about $0.01). Confirm with the user first.
| Argument | Type | Description |
|---|---|---|
| content* | string | The message text. |
| session_id* | string | The chat session id returned by call2me_start_chat or call2me_list_chats. |
{
"type": "object",
"required": [
"session_id",
"content"
],
"properties": {
"content": {
"type": "string",
"description": "The message text."
},
"session_id": {
"type": "string",
"description": "The chat session id returned by call2me_start_chat or call2me_list_chats."
}
},
"additionalProperties": false
}Sends a REAL, charged SMS. Needs the sender number (one the account owns), the recipient and the text. Never invent numbers; confirm with the user first.
| Argument | Type | Description |
|---|---|---|
| text* | string | Message body. |
| to_number* | string | Recipient, E.164. |
| from_number* | string | Sender, E.164, owned by the account. |
{
"type": "object",
"required": [
"from_number",
"to_number",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Message body."
},
"to_number": {
"type": "string",
"description": "Recipient, E.164."
},
"from_number": {
"type": "string",
"description": "Sender, E.164, owned by the account."
}
},
"additionalProperties": false
}Sets or replaces the account webhook URL (events are POSTed there). The signing secret is never returned; supply your own webhook_secret if you need to know it, otherwise one is generated and hidden. All call events will be sent to this URL: Confirm the exact destination/value with the user first.
| Argument | Type | Description |
|---|---|---|
| webhook_url* | string | HTTPS URL to receive events. |
| webhook_secret | string | Optional signing secret (HMAC). |
{
"type": "object",
"required": [
"webhook_url"
],
"properties": {
"webhook_url": {
"type": "string",
"description": "HTTPS URL to receive events."
},
"webhook_secret": {
"type": "string",
"description": "Optional signing secret (HMAC)."
}
},
"additionalProperties": false
}Starts a text chat session with an assistant and returns session_id. Starting is free; each message sent with call2me_send_chat_message is billed.
| Argument | Type | Description |
|---|---|---|
| title | string | Optional session title. |
| agent_id* | string | The assistant id. Call call2me_list_agents first if unknown. |
{
"type": "object",
"required": [
"agent_id"
],
"properties": {
"title": {
"type": "string",
"description": "Optional session title."
},
"agent_id": {
"type": "string",
"description": "The assistant id. Call call2me_list_agents first if unknown."
}
},
"additionalProperties": false
}Places a REAL phone call: the target number is dialled IMMEDIATELY, both sides are connected through live translation, and the call is charged. Cannot be undone. Call this ONLY when the user explicitly asks. interpreter_id and target_number are REQUIRED — never guess either one.
| Argument | Type | Description |
|---|---|---|
| target_number* | string | Number to dial, E.164. The user must supply it explicitly. |
| interpreter_id* | string | Interpreter to use. If unknown, call call2me_list_interpreters first. |
| initiator_number | string | Number of the person starting the session. |
{
"type": "object",
"required": [
"interpreter_id",
"target_number"
],
"properties": {
"target_number": {
"type": "string",
"description": "Number to dial, E.164. The user must supply it explicitly."
},
"interpreter_id": {
"type": "string",
"description": "Interpreter to use. If unknown, call call2me_list_interpreters first."
},
"initiator_number": {
"type": "string",
"description": "Number of the person starting the session."
}
},
"additionalProperties": false
}Removes the number's assistant binding; calls to it are no longer answered. The number stays on the account.
| Argument | Type | Description |
|---|---|---|
| phone_number* | string |
{
"type": "object",
"required": [
"phone_number"
],
"properties": {
"phone_number": {
"type": "string"
}
},
"additionalProperties": false
}Changes an existing assistant. Send only the fields the user named explicitly. Other API fields are accepted too, notably: knowledge_base_ids (attach knowledge bases), post_call_actions and post_call_extraction (post-call automation), voice_id, webhook_url, transfer_targets, begin_message, enable_recording.
| Argument | Type | Description |
|---|---|---|
| name | string | |
| agent_id* | string | The assistant to update. |
| language | string | |
| system_prompt | string | |
| post_call_actions | array | Actions to run after each call. |
| knowledge_base_ids | array | Knowledge base ids the assistant searches (replaces the list). |
| post_call_extraction | array | Data fields to extract from each call. |
{
"type": "object",
"required": [
"agent_id"
],
"properties": {
"name": {
"type": "string"
},
"agent_id": {
"type": "string",
"description": "The assistant to update."
},
"language": {
"type": "string"
},
"system_prompt": {
"type": "string"
},
"post_call_actions": {
"type": "array",
"items": {
"type": "object"
},
"description": "Actions to run after each call."
},
"knowledge_base_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Knowledge base ids the assistant searches (replaces the list)."
},
"post_call_extraction": {
"type": "array",
"items": {
"type": "object"
},
"description": "Data fields to extract from each call."
}
},
"additionalProperties": true
}Changes an existing interpreter. Send only the fields the user named explicitly.
| Argument | Type | Description |
|---|---|---|
| name | string | |
| transparency | string | |
| interpreter_id* | string | |
| source_language | string | |
| target_language | string |
{
"type": "object",
"required": [
"interpreter_id"
],
"properties": {
"name": {
"type": "string"
},
"transparency": {
"type": "string"
},
"interpreter_id": {
"type": "string"
},
"source_language": {
"type": "string"
},
"target_language": {
"type": "string"
}
},
"additionalProperties": true
}Changes a scheduled call (time, timezone, contact name, recurrence). Send only the fields the user named.
| Argument | Type | Description |
|---|---|---|
| timezone | string | |
| recurrence | string | |
| description | string | |
| schedule_id* | string | The schedule id. |
| contact_name | string | |
| scheduled_at | string | New ISO 8601 date-time. |
| recurrence_end_at | string | ISO 8601 date-time. |
{
"type": "object",
"required": [
"schedule_id"
],
"properties": {
"timezone": {
"type": "string"
},
"recurrence": {
"enum": [
"daily",
"weekly",
"monthly"
],
"type": "string"
},
"description": {
"type": "string"
},
"schedule_id": {
"type": "string",
"description": "The schedule id."
},
"contact_name": {
"type": "string"
},
"scheduled_at": {
"type": "string",
"description": "New ISO 8601 date-time."
},
"recurrence_end_at": {
"type": "string",
"description": "ISO 8601 date-time."
}
},
"additionalProperties": false
}Changes widget settings. Send only the fields the user named.
| Argument | Type | Description |
|---|---|---|
| name | string | |
| active | boolean | Enable or disable the widget. |
| language | string | |
| position | string | |
| auto_open | boolean | |
| widget_id* | string | The widget id. Call call2me_list_widgets first if unknown. |
| voice_mode | string | |
| primary_color | string | |
| allowed_domains | array | |
| greeting_message | string | |
| auto_open_delay_ms | integer |
{
"type": "object",
"required": [
"agent_id",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Widget name."
},
"agent_id": {
"type": "string",
"description": "The assistant id. Call call2me_list_agents first if unknown."
},
"language": {
"type": "string",
"description": "Language code, e.g. en-US."
},
"position": {
"enum": [
"bottom-right",
"bottom-left"
],
"type": "string"
},
"auto_open": {
"type": "boolean"
},
"voice_mode": {
"type": "string",
"description": "chat or voice-enabled mode."
},
"primary_color": {
"type": "string",
"description": "Hex color, e.g. #6366f1."
},
"allowed_domains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Websites allowed to embed the widget."
},
"greeting_message": {
"type": "string",
"description": "First message shown."
},
"auto_open_delay_ms": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"widget_id"
],
"properties": {
"name": {
"type": "string"
},
"active": {
"type": "boolean",
"description": "Enable or disable the widget."
},
"language": {
"type": "string"
},
"position": {
"enum": [
"bottom-right",
"bottom-left"
],
"type": "string"
},
"auto_open": {
"type": "boolean"
},
"widget_id": {
"type": "string",
"description": "The widget id. Call call2me_list_widgets first if unknown."
},
"voice_mode": {
"type": "string"
},
"primary_color": {
"type": "string"
},
"allowed_domains": {
"type": "array",
"items": {
"type": "string"
}
},
"greeting_message": {
"type": "string"
},
"auto_open_delay_ms": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
}