Skip to main content
Glama

Sakari MCP by usefulapi

Send text message

sakari_send_message
Destructive

WRITE: SEND REAL TEXT MESSAGES that cost account balance and cannot be recalled. Recipients: phone numbers (international format), existing contact ids, or conversation ids (max 100 in total). Only text people who opted in; Sakari enforces TCPA/CTIA rules and the sender is responsible. Confirm the recipients and the text with the user first. Placeholders like {{firstName}} are filled per contact. POST /v1/accounts/{accountId}/messages.

Input Schema

NameRequiredDescriptionDefault
textYesMessage text (the Sakari 'template').
typeNoSMS (default) or MMS.
media_urlsNoPublic media URLs to attach (MMS).
to_numbersNoRecipient phone numbers in international format.
contact_idsNoExisting Sakari contact ids.
confirm_sendYesMust be true: you confirm the user approved these recipients and this text, and that the texts go out now.
conversation_idsNoExisting conversation ids to reply into.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing cost against account balance, irreversibility ('cannot be recalled'), TCPA/CTIA compliance enforcement and sender liability, the aggregate 100-recipient cap, and per-contact placeholder substitution. These are consequences an agent cannot infer from destructiveHint/idempotentHint alone.

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?

Everything critical is front-loaded in the first clause (write, real messages, cost, irreversible); no filler sentences, and the trailing POST path is a compact scoping detail. Reasonably dense but each sentence carries a distinct constraint.

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

Completeness4/5

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

For a 7-param destructive mutation with no output schema, the description covers cost, reversibility, consent, confirmation, and recipient limits. It does not say what comes back (message ids/status) or how partial failures behave, which would help an agent verify a send.

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 baseline 3 applies, but the description adds two things the schema does not: the 100 cap is a total across all recipient arrays (schema caps each at 100 individually), and {{firstName}}-style placeholders are resolved per contact. Recipient identifier types are restated rather than newly explained.

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 ('SEND REAL TEXT MESSAGES') and resource, and the 'WRITE:' prefix immediately distinguishes it from the read-oriented siblings (get_message, list_messages). The endpoint and channel types (SMS/MMS via media) make the scope unambiguous.

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 about when-and-how: only text opted-in people, confirm recipients and text with the user first, and the recipient identifier options are enumerated. It lacks a named alternative ('to draft or preview, use X') but the conditions for correct use are clear.

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.