Twilio MCP Server for Cloudflare Workers
46 tools available in the Twilio MCP server. Each tool can be called by AI assistants to perform specific actions.
twilio_get_accountGet details of the current Twilio account.
Args:
Returns: Account details including status, type, and friendly name.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
}
}
}twilio_update_accountUpdate the current Twilio account settings.
Args:
Returns: The updated account object.
{
"type": "object",
"properties": {
"status": {
"enum": [
"active",
"suspended",
"closed"
],
"type": "string",
"description": "Account status"
},
"friendlyName": {
"type": "string",
"description": "New account name"
}
}
}twilio_list_subaccountsList all subaccounts under the main account.
Args:
Returns: List of subaccounts with their details.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
}
}
}twilio_create_subaccountCreate a new subaccount under the main account.
Subaccounts allow you to segment usage, phone numbers, and billing.
Args:
Returns: The created subaccount object with its own SID and auth token.
{
"type": "object",
"required": [
"friendlyName"
],
"properties": {
"friendlyName": {
"type": "string",
"description": "Subaccount name"
}
}
}twilio_make_callMake an outbound phone call via Twilio.
Args:
Note: Either 'url' or 'twiml' must be provided.
Returns: The created call object with SID and status.
{
"type": "object",
"required": [
"to",
"from"
],
"properties": {
"to": {
"type": "string",
"description": "Destination phone number in E.164 format"
},
"url": {
"type": "string",
"description": "TwiML URL for call instructions"
},
"from": {
"type": "string",
"description": "Your Twilio phone number"
},
"twiml": {
"type": "string",
"description": "Inline TwiML"
},
"record": {
"type": "boolean",
"description": "Record the call"
},
"timeout": {
"type": "integer",
"maximum": 600,
"minimum": 1,
"description": "Seconds to wait for answer"
},
"statusCallback": {
"type": "string",
"description": "Status webhook URL"
}
}
}twilio_list_callsList voice calls from your Twilio account.
Args:
Returns: Paginated list of calls.
{
"type": "object",
"properties": {
"to": {
"type": "string",
"description": "Filter by destination number"
},
"from": {
"type": "string",
"description": "Filter by caller number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 1000,
"minimum": 1,
"description": "Number of calls"
},
"startTimeAfter": {
"type": "string",
"description": "Filter calls after date"
},
"startTimeBefore": {
"type": "string",
"description": "Filter calls before date"
}
}
}twilio_get_callGet details of a specific call by SID.
Args:
Returns: The call object with all details.
{
"type": "object",
"required": [
"callSid"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"callSid": {
"type": "string",
"description": "Call SID"
}
}
}twilio_update_callModify an in-progress call or cancel a queued call.
Args:
Returns: The updated call object.
{
"type": "object",
"required": [
"callSid"
],
"properties": {
"url": {
"type": "string",
"description": "New TwiML URL"
},
"twiml": {
"type": "string",
"description": "New inline TwiML"
},
"status": {
"enum": [
"canceled",
"completed"
],
"type": "string",
"description": "End the call"
},
"callSid": {
"type": "string",
"description": "Call SID to modify"
}
}
}twilio_list_conversationsList all conversations in your account.
Args:
Returns: List of conversations with their details.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
}
}
}twilio_create_conversationCreate a new conversation.
Args:
Returns: The created conversation object.
{
"type": "object",
"properties": {
"state": {
"enum": [
"active",
"inactive",
"closed"
],
"type": "string",
"description": "Initial state"
},
"uniqueName": {
"type": "string",
"description": "Unique identifier"
},
"friendlyName": {
"type": "string",
"description": "Descriptive name"
},
"messagingServiceSid": {
"type": "string",
"description": "Messaging Service SID"
}
}
}twilio_get_conversationGet details of a specific conversation.
Args:
Returns: The conversation object with all details.
{
"type": "object",
"required": [
"conversationSid"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"conversationSid": {
"type": "string",
"description": "Conversation SID"
}
}
}twilio_update_conversationUpdate a conversation.
Args:
Returns: The updated conversation object.
{
"type": "object",
"required": [
"conversationSid"
],
"properties": {
"state": {
"enum": [
"active",
"inactive",
"closed"
],
"type": "string",
"description": "New state"
},
"uniqueName": {
"type": "string",
"description": "New unique name"
},
"friendlyName": {
"type": "string",
"description": "New name"
},
"conversationSid": {
"type": "string",
"description": "Conversation SID"
}
}
}twilio_delete_conversationDelete a conversation.
WARNING: This will delete all messages and participants.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"conversationSid"
],
"properties": {
"conversationSid": {
"type": "string",
"description": "Conversation SID"
}
}
}twilio_list_conversation_participantsList participants in a conversation.
Args:
Returns: List of participants in the conversation.
{
"type": "object",
"required": [
"conversationSid"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"conversationSid": {
"type": "string",
"description": "Conversation SID"
}
}
}twilio_redact_messageRedact the body of a message (set to empty for compliance).
Args:
Returns: The updated message with redacted body.
{
"type": "object",
"required": [
"messageSid"
],
"properties": {
"messageSid": {
"type": "string",
"description": "Message SID to redact"
}
}
}twilio_add_conversation_participantAdd a participant to a conversation.
Args:
For SMS participants, provide both messagingBindingAddress and messagingBindingProxyAddress. For chat participants, provide identity.
Returns: The created participant object.
{
"type": "object",
"required": [
"conversationSid"
],
"properties": {
"identity": {
"type": "string",
"description": "Chat user identity"
},
"conversationSid": {
"type": "string",
"description": "Conversation SID"
},
"messagingBindingAddress": {
"type": "string",
"description": "SMS participant phone"
},
"messagingBindingProxyAddress": {
"type": "string",
"description": "Twilio proxy phone"
}
}
}twilio_remove_conversation_participantRemove a participant from a conversation.
Args:
Returns: Confirmation of removal.
{
"type": "object",
"required": [
"conversationSid",
"participantSid"
],
"properties": {
"participantSid": {
"type": "string",
"description": "Participant SID"
},
"conversationSid": {
"type": "string",
"description": "Conversation SID"
}
}
}twilio_list_conversation_messagesList messages in a conversation.
Args:
Returns: List of messages in the conversation.
{
"type": "object",
"required": [
"conversationSid"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"conversationSid": {
"type": "string",
"description": "Conversation SID"
}
}
}twilio_send_conversation_messageSend a message to a conversation.
Args:
Returns: The created message object.
{
"type": "object",
"required": [
"conversationSid",
"body"
],
"properties": {
"body": {
"type": "string",
"description": "Message text"
},
"author": {
"type": "string",
"description": "Author identity"
},
"conversationSid": {
"type": "string",
"description": "Conversation SID"
}
}
}twilio_lookupLook up information about a phone number.
Args:
Note: Some fields incur additional charges. Basic validation is free.
Returns: Phone number details with requested intelligence data.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"countryCode": {
"type": "string",
"description": "Country code for national format"
},
"phoneNumber": {
"type": "string",
"description": "Phone number to lookup"
}
}
}twilio_validate_phone_numberValidate a phone number format (free operation).
Args:
Returns: Validation result with E.164 and national format.
{
"type": "object",
"required": [
"phoneNumber"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"countryCode": {
"type": "string",
"description": "Country code"
},
"phoneNumber": {
"type": "string",
"description": "Phone number to validate"
}
}
}twilio_get_line_typeGet line type and carrier information for a phone number.
Args:
Returns: Line type (mobile, landline, VoIP, etc.) and carrier details.
{
"type": "object",
"required": [
"phoneNumber"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"phoneNumber": {
"type": "string",
"description": "Phone number to lookup"
}
}
}twilio_check_sms_pumping_riskCheck if a phone number has SMS pumping fraud risk.
Args:
Returns: SMS pumping risk score and carrier risk category.
{
"type": "object",
"required": [
"phoneNumber"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"phoneNumber": {
"type": "string",
"description": "Phone number to check"
}
}
}twilio_send_smsSend an SMS or MMS message via Twilio.
Args:
Returns: The created message object with SID and status.
{
"type": "object",
"required": [
"to"
],
"properties": {
"to": {
"type": "string",
"description": "Destination phone number in E.164 format"
},
"body": {
"type": "string",
"description": "Message text"
},
"from": {
"type": "string",
"description": "Your Twilio phone number"
},
"mediaUrl": {
"type": "array",
"items": {
"type": "string"
},
"description": "Media URLs for MMS"
},
"statusCallback": {
"type": "string",
"description": "Webhook URL for status updates"
},
"messagingServiceSid": {
"type": "string",
"description": "Messaging Service SID"
}
}
}twilio_list_messagesList SMS/MMS messages from your Twilio account.
Args:
Returns: Paginated list of messages.
{
"type": "object",
"properties": {
"to": {
"type": "string",
"description": "Filter by destination number"
},
"from": {
"type": "string",
"description": "Filter by sender number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"dateSent": {
"type": "string",
"description": "Filter by date sent (YYYY-MM-DD)"
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 1000,
"minimum": 1,
"description": "Number of messages"
}
}
}twilio_get_messageGet details of a specific message by SID.
Args:
Returns: The message object with all details.
{
"type": "object",
"required": [
"messageSid"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"messageSid": {
"type": "string",
"description": "Message SID"
}
}
}twilio_delete_messageDelete a message from your account.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"messageSid"
],
"properties": {
"messageSid": {
"type": "string",
"description": "Message SID to delete"
}
}
}twilio_list_phone_numbersList all phone numbers in your Twilio account.
Args:
Returns: List of your Twilio phone numbers with capabilities and configuration.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
}
}
}twilio_get_phone_numberGet details of a specific phone number by SID.
Args:
Returns: The phone number object with all configuration details.
{
"type": "object",
"required": [
"phoneNumberSid"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"phoneNumberSid": {
"type": "string",
"description": "Phone number SID"
}
}
}twilio_search_phone_numbersSearch for available phone numbers to purchase.
Args:
Returns: List of available phone numbers matching criteria.
{
"type": "object",
"required": [
"countryCode",
"type"
],
"properties": {
"type": {
"enum": [
"Local",
"TollFree",
"Mobile"
],
"type": "string",
"description": "Number type"
},
"areaCode": {
"type": "string",
"description": "Area code filter"
},
"contains": {
"type": "string",
"description": "Pattern to match"
},
"inRegion": {
"type": "string",
"description": "State/region"
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 1000,
"minimum": 1,
"description": "Number of results"
},
"mmsEnabled": {
"type": "boolean",
"description": "MMS capability"
},
"nearNumber": {
"type": "string",
"description": "Find numbers near this number"
},
"smsEnabled": {
"type": "boolean",
"description": "SMS capability"
},
"countryCode": {
"type": "string",
"description": "ISO country code (e.g., US)"
},
"inPostalCode": {
"type": "string",
"description": "Postal code"
},
"voiceEnabled": {
"type": "boolean",
"description": "Voice capability"
}
}
}twilio_purchase_phone_numberPurchase a phone number for your account.
Args:
Returns: The purchased phone number object.
{
"type": "object",
"required": [
"phoneNumber"
],
"properties": {
"smsUrl": {
"type": "string",
"description": "TwiML URL for SMS"
},
"voiceUrl": {
"type": "string",
"description": "TwiML URL for calls"
},
"phoneNumber": {
"type": "string",
"description": "Phone number in E.164 format"
},
"friendlyName": {
"type": "string",
"description": "Descriptive name"
},
"statusCallback": {
"type": "string",
"description": "Status webhook URL"
}
}
}twilio_update_phone_numberUpdate configuration for a phone number.
Args:
Returns: The updated phone number object.
{
"type": "object",
"required": [
"phoneNumberSid"
],
"properties": {
"smsUrl": {
"type": "string",
"description": "TwiML URL for SMS"
},
"voiceUrl": {
"type": "string",
"description": "TwiML URL for calls"
},
"friendlyName": {
"type": "string",
"description": "New descriptive name"
},
"phoneNumberSid": {
"type": "string",
"description": "Phone number SID to update"
},
"smsFallbackUrl": {
"type": "string",
"description": "Fallback SMS URL"
},
"statusCallback": {
"type": "string",
"description": "Status webhook URL"
},
"voiceFallbackUrl": {
"type": "string",
"description": "Fallback TwiML URL"
}
}
}twilio_release_phone_numberRelease (delete) a phone number from your account.
WARNING: This action cannot be undone. The number will be released back to the pool.
Args:
Returns: Confirmation of release.
{
"type": "object",
"required": [
"phoneNumberSid"
],
"properties": {
"phoneNumberSid": {
"type": "string",
"description": "Phone number SID to release"
}
}
}twilio_list_recordingsList voice recordings from your account.
Args:
Returns: Paginated list of recordings.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"callSid": {
"type": "string",
"description": "Filter by call SID"
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 1000,
"minimum": 1,
"description": "Number of recordings"
},
"conferenceSid": {
"type": "string",
"description": "Filter by conference SID"
},
"dateCreatedAfter": {
"type": "string",
"description": "Filter after date"
},
"dateCreatedBefore": {
"type": "string",
"description": "Filter before date"
}
}
}twilio_get_recordingGet details of a specific recording.
Args:
Returns: The recording object with details and media URL.
{
"type": "object",
"required": [
"recordingSid"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"recordingSid": {
"type": "string",
"description": "Recording SID"
}
}
}twilio_delete_recordingDelete a recording from your account.
WARNING: This action cannot be undone.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"recordingSid"
],
"properties": {
"recordingSid": {
"type": "string",
"description": "Recording SID to delete"
}
}
}twilio_list_usage_recordsGet usage records for your Twilio account.
Args:
Returns: Usage records with counts, usage amounts, and prices.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"endDate": {
"type": "string",
"description": "End date (YYYY-MM-DD)"
},
"category": {
"type": "string",
"description": "Usage category filter"
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 1000,
"minimum": 1,
"description": "Number of records"
},
"startDate": {
"type": "string",
"description": "Start date (YYYY-MM-DD)"
},
"includeSubaccounts": {
"type": "boolean",
"description": "Include subaccount usage"
}
}
}twilio_get_sms_usageGet SMS usage records for your account.
Args:
Returns: SMS usage with count and pricing.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"endDate": {
"type": "string",
"description": "End date (YYYY-MM-DD)"
},
"startDate": {
"type": "string",
"description": "Start date (YYYY-MM-DD)"
}
}
}twilio_get_voice_usageGet voice call usage records for your account.
Args:
Returns: Voice usage with minutes and pricing.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"endDate": {
"type": "string",
"description": "End date (YYYY-MM-DD)"
},
"startDate": {
"type": "string",
"description": "Start date (YYYY-MM-DD)"
}
}
}twilio_get_total_usageGet total usage and costs for your account.
Args:
Returns: Total usage across all categories with pricing.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"endDate": {
"type": "string",
"description": "End date (YYYY-MM-DD)"
},
"startDate": {
"type": "string",
"description": "Start date (YYYY-MM-DD)"
},
"includeSubaccounts": {
"type": "boolean",
"description": "Include subaccounts"
}
}
}twilio_send_verificationSend a verification code to a phone number or email.
Args:
Returns: The verification object with SID and status.
{
"type": "object",
"required": [
"serviceSid",
"to",
"channel"
],
"properties": {
"to": {
"type": "string",
"description": "Phone number or email"
},
"locale": {
"type": "string",
"description": "Locale for message"
},
"channel": {
"enum": [
"sms",
"call",
"email",
"whatsapp"
],
"type": "string",
"description": "Delivery channel"
},
"customCode": {
"type": "string",
"description": "Custom verification code"
},
"serviceSid": {
"type": "string",
"description": "Verify Service SID"
}
}
}twilio_check_verificationCheck a verification code submitted by a user.
Args:
Returns: Verification check result with valid/invalid status.
{
"type": "object",
"required": [
"serviceSid",
"to",
"code"
],
"properties": {
"to": {
"type": "string",
"description": "Phone number or email"
},
"code": {
"type": "string",
"description": "Verification code"
},
"serviceSid": {
"type": "string",
"description": "Verify Service SID"
}
}
}twilio_list_verify_servicesList all Verify Services in your account.
Args:
Returns: List of Verify Services with configurations.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
}
}
}twilio_create_verify_serviceCreate a new Verify Service.
Args:
Returns: The created Verify Service object.
{
"type": "object",
"required": [
"friendlyName"
],
"properties": {
"codeLength": {
"type": "integer",
"maximum": 10,
"minimum": 4,
"description": "Code length"
},
"friendlyName": {
"type": "string",
"description": "Service name"
},
"lookupEnabled": {
"type": "boolean",
"description": "Enable lookup"
},
"customCodeEnabled": {
"type": "boolean",
"description": "Allow custom codes"
},
"skipSmsToLandlines": {
"type": "boolean",
"description": "Skip SMS to landlines"
}
}
}twilio_get_verify_serviceGet details of a Verify Service.
Args:
Returns: The Verify Service object with configuration.
{
"type": "object",
"required": [
"serviceSid"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"serviceSid": {
"type": "string",
"description": "Verify Service SID"
}
}
}twilio_delete_verify_serviceDelete a Verify Service.
WARNING: This will delete all verification data for this service.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"serviceSid"
],
"properties": {
"serviceSid": {
"type": "string",
"description": "Verify Service SID"
}
}
}