Skip to main content
Glama

Africa's Talking MCP by usefulapi

Send SMS

africastalking_send_sms
Destructive

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.

Input Schema

NameRequiredDescriptionDefault
toYesRecipients in international format, e.g. +254711000000 (max 100).
confirmYesMust be true. Set it only after the user has explicitly approved this exact send (recipients, text/amount); it spends account credit.
messageYesThe SMS text (1-1600 characters; long texts are split into several billed parts).
sender_idNoApproved alphanumeric sender ID, shortcode or long-code number (e.g. +27... in South Africa); omit to use the account default.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well past the annotations (destructive, non-idempotent, open-world) by disclosing that real credit is spent, that messages reach real phones while the sandbox app only hits the simulator, that the call is never retried, and what the vendor returns including statusCode 101. This is exactly the behavioral context an agent needs before an irreversible spend.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences, front-loaded with the WRITE marker and the core action, then prerequisites, then return shape, ending with the endpoint. Nothing is redundant with the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly takes on the return contract (per-recipient status, statusCode 101, message ids, cost) and pairs it with the safety prerequisite and non-retry semantics. An agent has everything needed to call this safely and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (to, message, confirm, sender_id) are fully documented in structured data, setting the baseline at 3. The description reinforces the confirm gating and recipient cap but adds no new parameter-level detail such as format or defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb-resource pair ('send one text message') plus the scope limit (up to 100 phone numbers). The resource (SMS text) is inherently distinct from the send_airtime, send_mobile_data and make_voice_call siblings, so an agent can select it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the prerequisite for use: confirm=true only after the user approved the exact recipients and text. It also clarifies the sandbox-vs-live distinction. It stops short of naming when to use a sibling tool instead, so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.