SendAPI MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for hosted HTTP server (default: 8080) | 8080 |
| SENDAPI_API_KEY | Yes | Your SendAPI API key (Bearer token) for stdio mode. | |
| SENDAPI_BASE_URL | No | Override base URL for self-hosted or staging (default: https://sendapi.co/v1) | https://sendapi.co/v1 |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| send_whatsappA | Send a WhatsApp message from a connected session to one recipient. Requires a session_id of an already-paired WhatsApp number (see list_whatsapp_sessions). |
| send_bulk_whatsappA | Send the same WhatsApp message to many recipients (max 500) from a connected session. High-impact: this contacts many people. Confirm the recipient list before calling. |
| send_smsA | Send a single SMS message to a phone number. |
| send_bulk_smsA | Send the same SMS to many recipients (max 500). High-impact: confirm the list before calling. |
| send_emailB | Send a single transactional email. Provide html or text (or a template_id with variables). |
| send_bulk_emailA | Send the same email to many recipients (max 500). High-impact: confirm the list before calling. |
| send_otpC | Send a one-time password (OTP) to a recipient over SMS, WhatsApp, or email. |
| check_otpA | Check a one-time password (OTP) the recipient entered against the code that was sent. |
| validate_phoneA | Validate and look up details (format, country, carrier) for a phone number. |
| get_email_statusA | Get delivery status and details for a previously sent email by its ID. |
| get_sms_statusA | Get delivery status and details for a previously sent SMS by its ID. |
| get_whatsapp_messageA | Get status and details for a WhatsApp message by its ID. |
| get_usageA | Get current account usage and remaining quota across channels. Useful to check limits before sending in bulk. |
| list_whatsapp_sessionsA | List connected WhatsApp sessions and their status. Use a session's id with send_whatsapp. |
| get_whatsapp_session_qrA | Get the QR code payload to pair a WhatsApp session by scanning it in the WhatsApp app. |
| list_sender_idsA | List configured SMS sender IDs and their approval status. |
| list_email_domainsA | List sending domains and their verification status. |
| list_email_templatesA | List saved email templates that can be used with send_email via template_id. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Each tool targets a distinct action on a specific channel (email, SMS, WhatsApp, OTP, phone validation, or usage). There is no ambiguity between single and bulk send tools, and check_otp is clearly separate from send_otp.
All tool names follow a consistent verb_noun pattern in snake_case, e.g., send_email, get_sms_status, list_whatsapp_sessions, validate_phone. No mixing of styles or vague verbs.
With 18 tools covering email, SMS, WhatsApp, OTP, phone validation, and usage, the count is well-scoped for a messaging API server. Each tool serves a clear purpose without unnecessary duplication.
The tool surface covers all core messaging operations: sending (single and bulk), status retrieval, OTP lifecycle, listing of resources (domains, templates, sender IDs, sessions), usage monitoring, and phone validation. No obvious gaps for the intended domain.