Skip to main content
Glama

Twilio Make Call

twilio_make_call
Read-onlyIdempotent

Initiate a phone call via Twilio. Requires a TwiML URL or application SID to control call behavior.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesDestination phone number in E.164 format
urlYesTwiML URL that controls what happens when the call connects
fromYesTwilio phone number to call from in E.164 format
_authTokenYesTwilio Auth Token
_accountSidYesTwilio Account SID

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoDestination phone number
sidNoCall SID
uriNoAPI URI for this call
fromNoCaller phone number
priceNoCall cost
statusNoCall status (queued, ringing, in-progress, completed, etc.)
durationNoCall duration in seconds
end_timeNoISO 8601 end timestamp
directionNoCall direction (outbound)
price_unitNoCurrency unit
account_sidNoAccount SID
date_createdNoISO 8601 creation timestamp
date_updatedNoISO 8601 update timestamp

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "account_sid": {
      +      "description": "Account SID",
      +      "type": "string"
      +    },
      +    "date_created": {
      +      "description": "ISO 8601 creation timestamp",
      +      "type": "string"
      +    },
      +    "date_updated": {
      +      "description": "ISO 8601 update timestamp",
      +      "type": "string"
      +    },
      +    "direction": {
      +      "description": "Call direction (outbound)",
      +      "type": "string"
      +    },
      +    "duration": {
      +      "description": "Call duration in seconds",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "end_time": {
      +      "description": "ISO 8601 end timestamp",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "from": {
      +      "description": "Caller phone number",
      +      "type": "string"
      +    },
      +    "price": {
      +      "description": "Call cost",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "price_unit": {
      +      "description": "Currency unit",
      +      "type": "string"
      +    },
      +    "sid": {
      +      "description": "Call SID",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "Call status (queued, ringing, in-progress, completed, etc.)",
      +      "type": "string"
      +    },
      +    "to": {
      +      "description": "Destination phone number",
      +      "type": "string"
      +    },
      +    "uri": {
      +      "description": "API URI for this call",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "_accountSid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      +    "_authToken": "your-twilio-auth-token",
      +    "from": "+15559876543",
      +    "to": "+15551234567",
      +    "url": "https://example.com/twiml/greeting"
      +  }
      +]
  3. First observed

TDQS

C2.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description contradicts the annotation readOnlyHint=true by stating it initiates a call (a mutation). It does not disclose side effects like cost or API call consequences. This is a serious inconsistency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. First sentence states the action, second adds a critical requirement. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema, the description omits crucial behavioral context like authentication setup, error handling, or cost implications. The mismatch between description and schema (application SID) makes it incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description introduces 'application SID' as an alternative not present in the schema, potentially confusing agents. It adds minimal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Initiate a phone call via Twilio' and distinguishes it from sibling tools like twilio_send_sms and twilio_list_calls. It mentions a key requirement (TwiML URL/application SID), providing specific context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies when to use (making a call) but does not explicitly compare with alternatives. The requirement is stated, but no guidance on when not to use or prerequisites beyond the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.