MCP Server
The Sendexa MCP server exposes all messaging channels as tools that AI assistants can call directly — no custom integration required.
MCP-Native
Implements the Model Context Protocol spec — works out of the box with Claude Desktop, Cursor, and any MCP-compatible host.
All Channels
Exposes SMS, OTP, WhatsApp, Email, and Voice as callable tools so AI agents can trigger real messages.
Secure
Use your dashboard Base64 API token (SENDEXA_API_TOKEN). It stays in env vars and is never exposed to the model.
Self-Hosted
Run it locally or deploy it alongside your app. No Sendexa infra required beyond your API credentials.
What is MCP?
SENDEXA_API_TOKEN=your_dashboard_base64_token npx -y @sendexa/mcp
Add the Sendexa server to your MCP host config file.
{"mcpServers": {"sendexa": {"command": "npx","args": ["-y", "@sendexa/mcp"],"env": {"SENDEXA_API_TOKEN": "your_dashboard_base64_token"}}}}
Config file location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Use the same Base64 token as Authorization: Basic <token> in the REST API. Optional: set SENDEXA_API_URL for self-hosted / staging API bases.
Once connected, the AI assistant can discover and call these tools automatically.
| Tool | Channel | Description |
|---|---|---|
| send_sms | SMS | Send a single SMS to a phone number. |
| send_bulk_sms | SMS | Send the same message to multiple recipients. |
| get_sms_status | SMS | Retrieve the delivery status of a sent SMS. |
| get_sms_balance | SMS | Check SMS wallet / credit balance. |
| list_sender_ids | SMS | List approved sender IDs for this account. |
| request_otp | OTP | Generate and send a one-time password. |
| verify_otp | OTP | Verify a PIN against an open OTP session. |
| send_whatsapp | Send a WhatsApp text, image, or template message. | |
| send_email | Send a transactional or template email. | |
| make_call | Voice | Initiate an outbound voice call. |
| tts_call | Voice | Make a call that reads text aloud (TTS). |
| get_call_status | Voice | Look up status of an outbound call. |
Once configured, you can ask your AI assistant naturally: