API GuidesSMS API
MCP Server
Configure the Notify Africa Bulk SMS MCP server for agent-accessible SMS tools.
The Bulk SMS MCP server wraps the SMS Developer API for MCP-compatible agents.
Package
@notifyafrica/bulk-sms-mcp-serverInstall it globally:
npm install -g @notifyafrica/bulk-sms-mcp-serveror:
pnpm add -g @notifyafrica/bulk-sms-mcp-serverEnvironment
export NOTIFY_API_KEY="ntfy_your_api_key"
export NOTIFY_BULK_SMS_API_BASE_URL="https://api.notify.africa/api/v1"NOTIFY_BULK_SMS_API_BASE_URL defaults to https://api.notify.africa/api/v1. The API key must include the BULK_SMS service grant.
MCP Client Config
{
"mcpServers": {
"notify-bulk-sms": {
"command": "notify-bulk-sms-mcp-server",
"env": {
"NOTIFY_API_KEY": "ntfy_your_api_key",
"NOTIFY_BULK_SMS_API_BASE_URL": "https://api.notify.africa/api/v1"
}
}
}
}Tools
| Tool | Purpose |
|---|---|
notify_sms_send_message | Send one SMS |
notify_sms_send_bulk | Send multiple SMS messages, each with its own content |
notify_sms_send_batch | Send the same SMS content to many phone numbers |
notify_sms_get_message_status | Fetch one message's delivery status |
notify_sms_send_message
| Input | Type | Required | Notes |
|---|---|---|---|
sender_id | string | Yes | Approved sender ID UUID, sender name, or legacy sender ID |
recipient | string | Yes | E.164 phone number, for example +255700000001 |
content | string | Yes | SMS text, 1-918 characters |
scheduled_at | ISO date-time | No | Optional scheduled send time |
response_format | markdown or json | No | Defaults to markdown |
notify_sms_send_bulk
| Input | Type | Required | Notes |
|---|---|---|---|
sender_id | string | Yes | Approved sender ID UUID, sender name, or legacy sender ID |
messages | object[] | Yes | 1-5000 recipient-specific messages |
messages[].recipient | string | Yes | E.164 phone number |
messages[].content | string | Yes | SMS text, 1-918 characters |
scheduled_at | ISO date-time | No | Optional scheduled send time for the batch |
response_format | markdown or json | No | Defaults to markdown |
notify_sms_send_batch
| Input | Type | Required | Notes |
|---|---|---|---|
sender_id | string | Yes | Approved sender ID UUID, sender name, or legacy sender ID |
phone_numbers | string[] | Yes | 1-5000 E.164 recipient phone numbers |
message | string | Yes | Shared SMS text, 1-918 characters |
scheduled_at | ISO date-time | No | Optional scheduled send time |
response_format | markdown or json | No | Defaults to markdown |
notify_sms_get_message_status
| Input | Type | Required | Notes |
|---|---|---|---|
message_id | string | Yes | Message ID returned by a previous send request |
response_format | markdown or json | No | Defaults to markdown |
Example Tool Input
{
"sender_id": "Notify",
"phone_numbers": ["+255700000001", "+255700000002"],
"message": "Hello from Notify Africa",
"response_format": "json"
}