Install
openclaw skills install @theindianappguy/epictextingLet your AI agent send text messages from your own Twilio number: one SMS or a personalised bulk text to up to 50 people, with delivery status.
openclaw skills install @theindianappguy/epictextingYour agent sends the text. EpicTexting sends SMS from your own Twilio number: one message or a personalised bulk text, with delivery status and replies.
EpicTexting runs as a hosted MCP server: https://www.epictexting.app/api/mcp/mcp (Streamable HTTP, OAuth sign-in, no API key).
If you already see EpicTexting tools (get_account_status, get_message_status …, possibly prefixed like mcp__epictexting__…), skip this.
Otherwise tell the user the one command for their agent, then ask them to sign in when the browser opens:
| Agent | Connect |
|---|---|
| Claude Code | claude mcp add --transport http epictexting https://www.epictexting.app/api/mcp/mcp then /mcp → epictexting → Authenticate |
| Codex | codex mcp add epictexting --url https://www.epictexting.app/api/mcp/mcp then codex mcp login epictexting |
| Gemini CLI | gemini mcp add -t http epictexting https://www.epictexting.app/api/mcp/mcp then /mcp auth epictexting |
| OpenClaw | openclaw mcp add epictexting --url https://www.epictexting.app/api/mcp/mcp --transport streamable-http then openclaw mcp login epictexting |
| Hermes | hermes mcp add epictexting --url https://www.epictexting.app/api/mcp/mcp --auth oauth then hermes mcp login epictexting |
| Cursor / Claude.ai / ChatGPT | add a custom MCP connector with the URL above |
A free account works to start: https://www.epictexting.app/?ref=agent-skill
| Tool | What it does | Kind |
|---|---|---|
get_account_status | Twilio connected?, default sender, plan, SMS left this month | read-only |
list_sender_numbers | Twilio numbers you can send from | read-only |
send_sms | Send one SMS | sends / acts |
send_bulk_sms | Send the same SMS to up to 50 people, personalised with {name} | sends / acts |
list_recent_messages | Recent sent and received SMS | read-only |
get_message_status | Delivery status of one message by SID | read-only |
{name} filled in for one example), and for bulk sends the count of SMS. Wait for a clear yes. One send per yes.+15551234567, +919876543210).connect_url, Twilio isn't connected: give the user that link and stop. If it has upgrade_url, the monthly limit is reached: share it.get_account_status first. If it returns connect_url, share it and stop.{name} for personalisation in send_bulk_sms.send_sms (one) or send_bulk_sms (≤50).get_message_status with the returned SID, or list_recent_messages for replies.| Result | Do this |
|---|---|
| 401 / "sign in" / auth error | The MCP isn't authorised: run the connect step for the user's agent again. |
connect_url / upgrade_url in a result | Give the user that link; don't retry. |
| Tool refuses the request | Explain the reason it gave; don't rephrase to get around it. |