Skip to main content
Glama

D7 Networks MCP by usefulapi

Send an SMS (spends credits)

d7_send_sms
Destructive

WRITE (sends real text messages and spends credits): send ONE text message to 1-10 recipients (never a list or campaign). Each recipient costs the per-country price for every message part (about 160 GSM characters or 70 unicode characters per part; see d7_get_sms_pricing), taken from the D7 credit balance, and a sent SMS cannot be recalled. Free trial accounts may only use D7's demo sender id; other sender ids must be registered with D7. Send only messages the recipients expect, as unsolicited SMS violates D7's terms. Returns a request_id for d7_get_message_status. D7 REST: POST /messages/v1/send.

Input Schema

NameRequiredDescriptionDefault
tagNoYour own reference string, stored with the request.
contentYesThe message text, at most 640 characters.
originatorYesSender id shown on the phone: up to 11 letters/digits (alphanumeric) or a registered number. Must be allowed for the account.
recipientsYes1 to 10 phone numbers, each in international format with the country code, for example +971501234567.
data_codingNotext = GSM 03.38 characters only, unicode = Arabic/Chinese/emoji etc., auto (default) = D7 decides from the content.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already cover destructive/non-idempotent/write semantics, yet the description still adds substantial context the annotations cannot: credit spend drawn from the D7 balance, per-country per-message-part pricing, no recall after send, trial-account sender-id restrictions, and terms-of-service consequences for unsolicited SMS.

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?

Front-loads the WRITE/cost warning, then layers scope, pricing model, irreversibility, account constraints, compliance, and return value in tight clauses. Dense but no filler sentences; every clause carries operational information.

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, and the description compensates by naming the returned request_id and the sibling tool that consumes it. Combined with the cost, sender-id, and compliance caveats, an agent has everything needed to invoke this correctly and 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 100%, so the baseline is 3, but the description goes beyond the schema by explaining the cost consequences of recipients and the ~160 GSM / 70 unicode character part segmentation behind content and data_coding. It adds meaning about parameter impact rather than merely restating field definitions.

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?

States a specific verb and resource ('send ONE text message') and immediately bounds the scope ('1-10 recipients, never a list or campaign'), which separates it cleanly from any bulk/campaign sibling. The REST endpoint (POST /messages/v1/send) confirms the operation unambiguously.

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

Usage Guidelines5/5

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

Gives explicit when-to-use ('send ONE text message to 1-10 recipients'), a when-not ('never a list or campaign'), and routes to siblings by name: d7_get_sms_pricing for cost and d7_get_message_status for the returned request_id. It also states the compliance condition for when sending is permitted.

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.