Twilio MCP server
Send an authorized SMS and inspect delivery state with Arc0’s early-access Twilio tools. Messages and line-type lookups can incur charges, and a queued message is not proof of delivery. Access is gated: request enablement for your organization before connecting.
Working with Twilio
Before sending an SMS, use twilio.list_incoming_phone_numbers to select a number the account already owns with the required capability. This action does not buy a number or alter its configuration. Confirm that the recipient has consented and that the message text and sender are correct before calling twilio.send_sms.
The send operation is paid and can be billed by segment. Its response may describe a queued message, which does not establish delivery. Keep the returned message SID and use twilio.get_message to inspect delivery status, segment count, error code, and billed price when available. The read output omits message text and recipient numbers.
If the send response is lost, twilio.list_messages can inspect recent structural delivery records using exact sender and recipient filters. Resolve the outcome before another send to avoid duplicate messages and charges. twilio.lookup_phone_number provides validation and line-type intelligence for a supplied consenting subject’s number. It can cost money even when the response times out, so a retry is another potential charge rather than a harmless read.
Official MCP reference: Twilio documentation.
Agent workflows for Twilio.
Choose an owned sender
Use twilio.list_incoming_phone_numbers to identify an SMS-capable number already in the account.
Send a consented message
Use twilio.send_sms with a reviewed sender, recipient, and text; charges can apply per segment.
Check delivery status
Use twilio.get_message for a known message SID to inspect status, segment count, error code, and price.
Validate a supplied number
Use twilio.lookup_phone_number for a consenting subject’s number and paid line-type information.
5 Twilio actions, graded by risk.
These actions come from the Arc0 registry. Your identity, provider permissions and Arc0 policies determine which actions can run.
read
4Look things up, subject to your permissions.
- twilio.get_messageGet message status
Use when a message SID is known and you need delivery status, segment count, error code or billed price. Message text and recipient numbers are omitted. A queued response does not confirm delivery.
- twilio.list_messagesList messages
Use when finding message SIDs or checking recent delivery outcomes before resending. Filter by exact sender and recipient; returns one bounded page of structural delivery data without message text. Follow the returned token for another page.
- twilio.list_incoming_phone_numbersList owned phone numbers
Use when choosing an owned SMS-capable sender. Connect with Auth Token or Main API key; Standard keys are unsupported. Returns one bounded page of owned numbers and capabilities. A phone_number filter narrows the list; this action does not buy, release or reconfigure numbers.
- twilio.lookup_phone_numberLook up phone line type
Use when a consenting subject needs phone validation and paid line-type intelligence. Queries only the supplied number; returns structural data without names or locations. A timed-out request may still be charged; retrying may spend again.
write
1Create and change things. Allow, or ask the user first.
- twilio.send_smsSend SMS
Use when authorized to send a paid SMS from your Twilio number to the consenting recipient in to. Do not use for unsolicited outreach or opted-out recipients. Charged per segment; no documented idempotency key. Read message history before retrying an unknown outcome.
destructive
0Delete, cancel or archive. Ask first, or deny outright.
- No destructive actions.
Control access to Twilio.
After early access is enabled, connect the intended Twilio account, authorize your AI client and set policies for its tools.
Provider permissions and Arc0 policy both apply. Allow reads, require approval for selected writes, or deny destructive actions. The audit log records execution decisions.
Configure policies and approvalsExample policy choices
- Read actions: allow where authorized
- twilio.send_sms: require approval
Arc0 MCP endpoint: https://api.arc0.ai/mcp
How Twilio connects.
Connect Twilio using Account SID and auth token. OAuth grants the provider scopes shown during consent; API keys and other credentials retain the permissions configured at the provider. Arc0 stores credentials in its encrypted vault and does not pass them to the model. Disconnect to remove access through Arc0; revoke a key at the provider to invalidate it there. Token refresh and provider-side revocation depend on the authentication lane and provider.
The connection serves authorized calls through Arc0 MCP and REST. How Arc0 handles credentials →
- AUTH
- Account SID and auth token
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use Twilio with your AI client.
Request access to Twilio first. An Arc0 administrator must enable it for your organization before these actions appear. Then authorize your AI client separately. It only receives tools and accounts allowed for that identity.
Twilio with Claude
Claude Desktop + Claude Code
- In Claude Desktop, add Arc0 through the remote MCP settings and use OAuth. Follow the generic remote-client steps if your account’s interface differs.
- For Claude Code, run the command below. Open /mcp, select Arc0, and authenticate in your browser. Select your workspace and review access.
- Check the connection with claude mcp get arc0.
claude mcp add --transport http --scope user arc0 https://api.arc0.ai/mcpFull MCP setup and troubleshootingTwilio with ChatGPT
ChatGPT on the web
- Open Plugins in ChatGPT, select the plus button, then Add custom MCP server.
- Name it Arc0, enter the server URL below, and choose OAuth. Use dynamic client registration if asked; no Arc0 API key is needed.
- Review the notice and select Create as a plugin. Complete Arc0 sign-in, workspace selection and consent, then install and select the plugin in your conversation. Labels and access vary by account; managed workspaces may require administrator approval.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingTwilio with OpenAI Codex
Codex app + CLI
- Run the registration command below. The app and CLI share ~/.codex/config.toml.
- Complete browser OAuth, choose your Arc0 workspace, and review access. If authentication does not start, run codex mcp login arc0.
- Check codex mcp list, then open a new Codex chat. Inspect an existing arc0 entry before changing it.
codex mcp add arc0 --url https://api.arc0.ai/mcpFull MCP setup and troubleshootingTwilio with Cursor
Remote MCP setup
- Add Arc0 in your client’s remote MCP settings using the server URL below.
- Choose OAuth, sign in to Arc0, select the intended workspace and review access.
- Confirm the server is connected and start with an allowed read. These are generic remote-MCP steps; consult your client’s settings for its current interface.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingTwilio with VS Code
Remote MCP setup
- Add a remote HTTP MCP server named Arc0 using the URL below.
- Use OAuth and finish Arc0 sign-in, workspace selection and consent.
- Confirm discovery succeeds before requesting a read. These are generic remote-MCP steps; client UI and availability may differ.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingTwilio with Any MCP client
Streamable HTTP
- Use a client that supports remote MCP over Streamable HTTP. Add the server URL below and choose OAuth.
- For a client without OAuth, use a self-bound API key with execute permission in the X-API-Key header. Store it in secret storage or an environment variable, outside source control. Never send both an API key and an OAuth bearer token.
- Use the MCP clients guide for the SDK transport example and Embedded identity for business-managed end users.
https://api.arc0.ai/mcpFull MCP setup and troubleshootingAfter setup, ask your agent to find an allowed read action, load its schema, and execute it on the intended account. Check Activity for the receipt. A connected MCP client alone does not confirm a successful provider call.
More communication apps.
Twilio and Arc0, answered.
Is there an official Twilio MCP server, and how does Arc0 differ?
Twilio documents an official MCP server for API-specification and documentation lookup; that service does not execute account API calls. Arc0’s tools execute the selected messaging and lookup operations with your account credentials.
Which permissions does Arc0 need for Twilio?
Basic authentication accepts Account SID with Auth Token, or a Main API Key SID with its secret, alongside configured Account SID. Standard and Restricted keys are unsupported in this version. There are no OAuth scopes; the credential’s account privileges apply.
Does this work with Claude, ChatGPT, Codex and Cursor?
Yes, through Arc0 MCP when your Claude, ChatGPT, Codex, or Cursor client supports remote MCP and your account permits it. Connect the app in Arc0 and configure your client using the Arc0 setup guide. Early-access approval and app permissions still apply.
How are credentials stored, refreshed and revoked?
Arc0 stores the credential encrypted and does not refresh it. Disconnect removes local access. Rotate the Auth Token or revoke the Main API key in Twilio to invalidate it for other callers.
What happens with rate limits or errors?
Twilio enforces API and messaging limits and charges for supported paid operations. Arc0 reports failures and throttling. A timed-out SMS or lookup may still have run or been charged; inspect message history before resending, and do not infer delivery from queued status.
What is the availability of these Twilio tools?
These tools are in early access and require access to the app in Arc0. The action list describes the current implementation, not general availability.
Request Twilio access.
Twilio MCP server: 5 actions including send sms, get message status, list messages. Request early access through Arc0.
Free to build · MCP + REST · Audit log on every plan
Twilio and its logo are trademarks of their respective owners. Arc0 is not affiliated with or endorsed by Twilio.