Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Twilio in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Let your AI work with Twilio: send and look up SMS and WhatsApp messages, review calls and phone numbers, check numbers with Lookup, send and check one-time codes with Verify, and keep an eye on usage, costs and balance.
Try asking
Example prompts for Twilio
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Twilio, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Twilio + ChatGPT
Let your AI work with Twilio: send and look up SMS and WhatsApp messages, review calls and phone numbers, check numbers with Lookup, send and check one-time codes with Verify, and keep an eye on usage, costs and balance.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
TWILIO_ACCOUNT_SID, TWILIO_API_KEY_SID, TWILIO_API_KEY_SECRET
Step 1 — Get credentials
- Sign in at console.twilio.com. The Account Info panel on the start page shows the Account SID (starts with
AC) and the Auth Token. - Recommended: create an API key instead of using the Auth Token. In the Console open Settings → Account settings → API keys & auth tokens (in the legacy Console Admin → Account management → API keys & tokens), click Create API key, choose the type Standard and copy the SID (starts with
SK) and the Secret: Twilio shows the secret only once. You can revoke a key on its own without changing the Auth Token. - Paste the Account SID into
TWILIO_ACCOUNT_SID. Then either put the key SID (SK...) intoTWILIO_API_KEY_SIDand its secret intoTWILIO_API_KEY_SECRET, or put the Account SID again (AC...) intoTWILIO_API_KEY_SIDand the Auth Token intoTWILIO_API_KEY_SECRET. - Install the connector and start with
twilio_list_phone_numbers: it lists the numbers you own, which are the senders the AI can use. A Standard API key may not read the account record itself, sotwilio_get_accountcan answer 401 or 403 with one; every other tool works.
Sending costs money and reaches real people: twilio_send_message and twilio_send_verification send a real message or code to a real person, and Twilio bills each one. The AI first states recipient, sender, channel and text and waits for your yes. The same goes for twilio_cancel_scheduled_message.
Switched off at install: twilio_delete_message, which deletes a message record and its text for good. Turn it on only if the AI should delete messages.
Trial accounts: a trial sends only to up to five verified numbers (error 21608 otherwise) and only within the country you signed up in. On a trial, an SMS sent through the API can only use one of Twilio's sample templates as its text (such as sms_2fa or sms_appointment_reminders); free text needs an upgraded account.
WhatsApp: put whatsapp: in front of both numbers (whatsapp:+4915112345678). For a first test use the WhatsApp Sandbox in the legacy Console: the person sends join <code> to the sandbox number, then you can message them from whatsapp:+14155238886 for three days. More than 24 hours after the person last wrote, WhatsApp only delivers approved templates, sent with content_sid (HX...) and content_variables (error 63016 otherwise).
Numbers: always in E.164, that is +, the country code and the number without spaces (+4915112345678). twilio_list_phone_numbers shows the numbers you can send from; twilio_list_messaging_services lists your Messaging Services, which you need for scheduled messages (schedule_type fixed with send_at).
Delivery status: a new message starts as queued. Ask the AI to check it later with twilio_get_message: failed or undelivered come with an error_code you can look up in Twilio's error list. twilio_list_messages and twilio_list_calls show the history, newest first.
Lookup: twilio_lookup_phone_number without fields is free and checks format and country. Every data package in fields (such as line_type_intelligence, sms_pumping_risk or caller_name) is billed per lookup, so the AI asks first.
Verify: create a Verify service once in the Console (Verify → Services → Create new); twilio_list_verify_services shows its VA... sid. twilio_send_verification sends the code by SMS, voice call, WhatsApp or email, and twilio_check_verification checks what the person typed (status approved when it is right). Each approved verification costs about 0.05 USD plus the channel fee.
Usage and cost: twilio_list_usage_records covers a date range, twilio_list_usage_records_by_period splits by day, month or year or uses a window like ThisMonth. The category totalprice is your total spend; twilio_get_balance shows the remaining balance.
Paging: lists return next_page_uri (null on the last page); for the next page the AI passes the page and page_token it contains.
Common errors: 401 or 20003 means a wrong SID or secret, or an API key used with an Account SID it does not belong to. 404 or 20404 means there is no such message, call, number or service on this account. 21211 is an invalid to number, 21606 a from number that is not a Twilio number of this account or cannot send SMS, 21610 a recipient who replied STOP. 429 or 20429 means too many requests: wait and try again.
The connector does not place calls, buy or configure numbers, or handle Conversations, Studio, Flex, Voice TwiML or webhooks.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in ChatGPT
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
ChatGPT connects to MCP servers as custom apps in developer mode, available on paid plans (not on Free). On Business and Enterprise workspaces an admin may have to allow it first.
- In ChatGPT, open Settings → Security and login and turn on Developer mode.
- Go to chatgpt.com/plugins and click +.
- Enter a name and a short description, e.g. Name:
Twilio. - Under Connection, enter the MCP server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDand create the connection. - When ChatGPT asks, sign in to AnythingMCP (OAuth) and allow access.
Available tools
| Tool | What it does |
|---|---|
twilio_get_account | Read the Twilio account the connector works with: friendly_name, status (active, suspended, closed), type (Trial or Full)… |
twilio_get_balance | Read the account balance and its currency |
twilio_list_messages | List SMS, MMS and WhatsApp messages of the account, newest first, with sid, from, to, body, status (queued, sending, sent, delivered… |
twilio_get_message | Read one message by its sid (SM... or MM...): status, error_code and error_message when it failed, price, segments, sender and recipient… |
twilio_send_message | Send an SMS, MMS or WhatsApp message |
twilio_cancel_scheduled_message | Cancel a message that was scheduled with schedule_type fixed and has not been sent yet; its status becomes canceled |
twilio_list_message_media | List the media (images, files) attached to an MMS or WhatsApp message, with each item's sid and content_type |
twilio_delete_message | Delete a message record from the account for good, including its body |
twilio_list_calls | List phone calls of the account, newest first, with sid, from, to, status, direction, duration (seconds), price, start_time and end_time |
twilio_get_call | Read one call by its sid (CA...): status, direction, from and to, duration, price, answered_by, parent_call_sid and the start and end times |
twilio_list_phone_numbers | List the phone numbers the account owns, with sid (PN...), phone_number, friendly_name, capabilities (voice, sms, mms, fax), the voice and… |
twilio_get_phone_number | Read one owned phone number by its sid (PN...): number, capabilities, webhooks, emergency address status and bundle |
twilio_list_messaging_services | List the Messaging Services of the account (Messaging API v1), with sid (MG...), friendly_name, use case and settings |
twilio_lookup_phone_number | Look up a phone number with Lookup v2 |
twilio_list_verify_services | List the Verify services of the account (sid VA..., friendly_name, code_length, enabled channels) |
twilio_send_verification | Send a one-time code through a Verify service by SMS, voice call, WhatsApp or email |
twilio_check_verification | Check the code a person received from twilio_send_verification |
twilio_get_verification | Read a verification by its sid (VE...): to, channel, status (pending, approved, canceled, max_attempts_reached, deleted, failed, expired)… |
twilio_list_usage_records | List usage and cost per category for a date range: category, description, count with count_unit, usage with usage_unit, price and price_unit |
twilio_list_usage_records_by_period | List usage and cost per category split into periods (one record per category and day, month or year), or for a fixed window: Today… |
Example prompts
- "Show me the SMS and WhatsApp messages we sent today and flag any that failed or were undelivered, with the error code."
- "How much did we spend on Twilio this month by category, and what is our remaining balance?"
- "Check whether +4915112345678 is a valid number and which country it belongs to."
- "Send an SMS from our Twilio number to +4915112345678 telling the customer that order 1042 has shipped and arrives tomorrow."
FAQ
Does the free ChatGPT plan work with custom MCP connectors? No. Custom MCP connections need developer mode, which is only on paid plans.
Next steps
Was this guide helpful?