Skip to main content
Glama

Africa's Talking MCP by usefulapi

Send mobile data bundle

africastalking_send_mobile_data
Destructive

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_find_mobile_data_transaction). POST bundles /mobile/data/request.

Input Schema

NameRequiredDescriptionDefault
confirmYesMust be true. Set it only after the user has explicitly approved this exact send (recipients, text/amount); it spends account credit.
recipientsYes
product_nameYesName of your mobile data product in the Africa's Talking dashboard.
idempotency_keyNoOptional unique key (8-100 chars) for this send; the same key makes Africa's Talking ignore a duplicate request.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing the financial consequence (spends wallet credit), irreversibility (cannot be reversed), a hard 25-recipient cap, the origin of product_name, and the shape of the return value. The retry guidance complements idempotentHint=false rather than contradicting it — the call itself is not idempotent, but a supplied key makes duplicates safe.

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?

Every sentence carries a distinct fact — write semantics, cost, confirm gate, product_name origin, idempotency, return shape, endpoint. The destructive/cost warning is front-loaded where an agent will see it first.

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?

No output schema exists, so the description explicitly states what comes back (per-number status and transactionId) and where to look it up. Combined with the cost, irreversibility, and confirmation requirements, an agent has everything needed to call this safely.

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

Parameters4/5

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

Schema coverage is already 75%, yet the description adds meaning: product_name must pre-exist in the Africa's Talking dashboard, confirm is a user-approval gate rather than a plain boolean, and the 25-number ceiling on recipients. It doesn't explain unit/validity enums, but those are self-describing.

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?

Specific verb and resource: "send mobile data bundles to up to 25 phone numbers from your Africa's Talking data wallet." The resource is clearly distinct from the sibling send_airtime and send_sms tools, so an agent can select it without opening a 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?

Explicit preconditions are given: confirm=true only after the user approved each number and bundle, and an idempotency_key for safe retries. It also routes to africastalking_find_mobile_data_transaction for the resulting transaction. It stops short of naming when to prefer send_airtime or send_sms instead, so no explicit alternatives clause.

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.