Skip to main content
Glama
wuapidev

wuapi MCP server

Official
by wuapidev

Delete a message

delete_message
DestructiveIdempotent

Remove a sent WhatsApp message from all recipients or only linked devices, or cancel a queued message before it sends. Requires confirmation because deletion is permanent.

Instructions

Delete an outbound message for everyone (or only on the linked devices with forEveryone: false). A message still queued is cancelled instead and never sent. This cannot be undone.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmYesMust be true. Deleting a message cannot be undone. Only set it after the user asked for this or agreed to it.
messageIdYesA wuapi message id (from list_messages, a send tool, or a webhook).
forEveryoneNoDefault true: delete it for every participant.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=true, so the description's job is lighter. It adds important context beyond the annotations: deletion cannot be undone, queued messages are cancelled rather than sent, and forEveryone=false restricts deletion to linked devices. No contradiction exists.

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?

Three short sentences deliver the essential information without filler. The main action and scope are front-loaded, followed by the queued-message nuance and the irreversible warning. Every sentence earns its place.

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 simple destructive tool with three parameters and no output schema, the description covers the key behavioral edge cases: queued messages, device scope, and irreversibility. It does not mention return values or potential errors, but those are not critical for invoking this tool given the schema and annotations.

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 adds value by explaining that forEveryone=false means 'only on the linked devices' — a semantic nuance not present in the schema. Other parameters (messageId, confirm) are already fully documented in the schema.

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?

The description states a specific verb ('Delete'), the resource ('an outbound message'), and the scope ('for everyone' or 'only on linked devices'), making it immediately clear what the tool does. It also distinguishes itself from the sibling cancel_message by clarifying that queued messages are cancelled instead of sent, which helps an agent tell them apart.

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?

The description provides clear context for when deletion is appropriate, including the forEveryone modifier and the queued-message cancellation behavior. It does not explicitly name alternatives or say 'use cancel_message when...', but the behavioral distinction is strong enough that an agent can infer the right choice.

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