Skip to main content
Glama

Send a free-form WhatsApp text message

send_whatsapp_message
Destructive

Send a free-form WhatsApp text message

Free-form text is restricted to Meta's 24-hour customer-service window (the customer must have messaged the agent within the last 24 hours). Outside the window, use POST /v1/whatsapp/templates instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesE.164 international phone number — leading `+`, country code, then 7–15 digits. No spaces, dashes, or parens.
fromYesE.164 international phone number — leading `+`, country code, then 7–15 digits. No spaces, dashes, or parens.
textYes
agent_idYesID of the Mojeeb agent to send from.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true), so the bar is lower. The description adds a genuinely important behavioral constraint the annotations do not convey: the message will be rejected outside Meta's 24-hour customer-service window.

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?

Two sentences, zero filler, with the restriction and the fallback route front-loaded rather than buried.

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?

No output schema exists, and the description need not explain return values. It covers the critical eligibility constraint and the fallback, though it says nothing about delivery failure/status checking, which get_whatsapp_message_status would help with.

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 75%, close to the high-coverage baseline, and the schema already documents E.164 formatting, the UUID agent_id, and the 1–4096 char body limit. The description contributes no additional parameter meaning, so baseline 3 applies.

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 a free-form WhatsApp text message') and immediately scopes it against the templated alternative. An agent can distinguish it from send_whatsapp_template and send_conversation_message from the description alone.

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?

Gives an explicit condition for use (customer messaged within the last 24 hours) and explicitly steers outside the window to the templates route. Minor deduction: it names the HTTP path `POST /v1/whatsapp/templates` rather than the sibling tool `send_whatsapp_template`, so the agent must infer the mapping.

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.

Resources