Africa's Talking MCP by usefulapi

io.usefulapi/africas-talking

Read Africa's Talking balance, incoming SMS, transactions; send SMS, airtime, data and voice calls.

Yes, your AI can use this right now.Answered a live MCP handshake in 229 ms with no sign-in needed and exposes 10 tools.
Is this your server? Claim the listing. Verified adds a vendor-confirmed mark on this page and matching app pages.
Claim with Verified — $49/moWant it in front of people comparing Email & Messaging tools? Feature it — $149/mo

Connect it

Settings → Connectors → Add custom connector
URL: https://africas-talking.usefulapi.io/mcp

10 tools, pulled live

Pulled straight from the server with tools/list on 2026-10-27.
africastalking_get_balanceread-only

The Africa's Talking app balance (SMS/airtime wallet), e.g. {"balance": "KES 1250.0000"}. The sandbox app has no balance. GET /version1/user.

africastalking_fetch_messagesread-only

Fetch incoming SMS received on your shortcodes/numbers, oldest first, in batches (default 25 per call). Pass last_received_id (0 for the first call, then `next_last_received_id` from the previous reply) to move through them; `has_more` stays true while a call returns messages, so keep calling until `count` is 0. Optional shortcode and keyword filters. GET /version1/messaging.

africastalking_send_smscan modify

WRITE: send one text message to up to 100 phone numbers. Spends account credit and delivers to real phones (the sandbox app only reaches the simulator). Needs confirm=true after the user approved the recipients and text. Returns the vendor's per-recipient status (statusCode 101 = sent), message ids and cost. Never retried. POST /version1/messaging.

africastalking_send_airtimecan modify

WRITE: top up mobile airtime for up to 25 phone numbers. Spends account credit immediately and cannot be reversed. Needs confirm=true after the user approved each number and amount. Amounts are in the given ISO currency (e.g. KES, UGX, TZS). Pass an idempotency_key to make a retry safe. Returns per-number status and requestId (use africastalking_find_airtime_transaction to follow up). POST /versio

africastalking_find_airtime_transactionread-only

Look up an airtime transaction by its transaction id (the requestId / ATPid_... from a send reply): status, amount, destination and discount. GET /query/transaction/find.

africastalking_send_mobile_datacan modify

WRITE: send mobile data bundles to up to 25 phone numbers from your Africa's Talking data wallet. Spends wallet credit and cannot be reversed. Needs confirm=true after the user approved each number and bundle. product_name is your data product (created in the Africa's Talking dashboard). Pass an idempotency_key to make a retry safe. Returns per-number status and transactionId (see africastalking_f

africastalking_find_mobile_data_transactionread-only

Look up a mobile data transaction by its transactionId (from a send reply): status, product, destination and cost. GET bundles /query/transaction/find.

africastalking_get_mobile_data_wallet_balanceread-only

The balance of the mobile data wallet, e.g. {"status": "Success", "balance": "KES 500.0000"}. GET bundles /query/wallet/balance.

africastalking_make_voice_callcan modify

WRITE: place an outbound voice call from one of your Africa's Talking numbers to up to 10 phone numbers. The call is billed and rings real phones; what is said is decided by the voice callback URL configured for the number in the dashboard. Needs confirm=true after the user approved the numbers. Live apps only (the sandbox has no voice service). Returns a per-number queue status. POST voice /call.

africastalking_get_voice_queue_statusread-only

Number of outbound calls currently queued on each of your voice numbers. Live apps only. POST voice /queueStatus (a read: nothing is changed).

Alternatives in Email & Messaging

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”