Skip to main content
Glama
sebastienfi

mcp-twilio-sms

by sebastienfi

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TWILIO_AUTH_TOKENYesTwilio Auth Token from Twilio Console
TWILIO_ACCOUNT_SIDYesTwilio Account SID from Twilio Console
TWILIO_PHONE_NUMBERYesTwilio phone number in E.164 format, e.g. +1234567890

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
send_smsA

Send an SMS text message via Twilio.

WORKFLOW:

  1. Call send_sms(to="+33612345678", body="Your message here")

  2. Get back a message_sid and status

  3. Optionally call get_sms_status(message_sid=...) later to confirm delivery

PARAMETERS:

  • to: Recipient phone number in E.164 format ("+33612345678" for France, "+15551234567" for US). Must include country code with + prefix.

  • body: The text message content. Max 1600 characters (messages over 160 characters are split into segments and billed per segment).

  • from_number: Override the sender phone number. Default: TWILIO_PHONE_NUMBER env var. Must be a Twilio number you own.

RETURNS:

  • message_sid: Unique identifier for tracking this message

  • status: Initial status (typically "queued")

  • to/from: The phone numbers used

  • segments: Number of message segments (billing units)

TIPS:

  • Keep messages under 160 characters for 1 segment (cheapest)

  • Unicode characters (accents, emojis) reduce the limit to 70 chars/segment

  • Use get_sms_status() to verify delivery if needed

Args: to: Recipient phone number in E.164 format (e.g. "+33612345678") body: The text message content (max 1600 characters) from_number: Sender phone number override (default: TWILIO_PHONE_NUMBER env var)

get_sms_statusA

Check the delivery status of a sent SMS.

USAGE:

  • Call after send_sms() to verify delivery

  • Delivery confirmation may take a few seconds

STATUS VALUES:

  • queued: Message is queued for sending

  • sending: Message is being sent

  • sent: Message was sent to carrier

  • delivered: Carrier confirmed delivery to recipient

  • failed: Message could not be sent

  • undelivered: Carrier could not deliver the message

Args: message_sid: The message SID returned by send_sms (e.g. "SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.6/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: send_sms sends a message, get_sms_status checks delivery status. There is no overlap or ambiguity; the workflow explicitly links them.

Naming Consistency5/5

Both tools use a consistent verb_noun snake_case pattern (send_sms, get_sms_status). The naming is predictable and easy to understand.

Tool Count4/5

Two tools cover the core send-and-verify workflow, which is focused and appropriate for a minimal SMS server. It is slightly under the typical 3-15 range but each tool earns its place without redundancy.

Completeness4/5

The surface covers sending an SMS and checking its status, which are the essential operations. Minor gaps exist (e.g., listing sent messages or retrieving full message details), but agents can work around them for the stated purpose.

Maintenance

ActivityStale
ResponsivenessNo issues