Skip to main content
Glama
razvangirgiz

wazap-mcp

by razvangirgiz

Draft a forwarded WhatsApp message

forward_message

Draft a forward of an existing message to another chat, show a preview, and send only after user confirmation.

Instructions

Draft a forward of an existing message to another chat. Does not send. The recipient will see it marked as forwarded. Show the preview; after the user says yes, call confirm_send.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
account_idNoRegistry account id (default, work, …). Omit to resolve from chat_id or message_id, or the default account.
message_idYesMessage id from read_messages / search_messages / get_message, e.g. "false_4072...@s.whatsapp.net_3EB0..."
to_chat_idYesDestination chat

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.15.0
    • addedInput schema / properties / account_id
      Added value: +{
      +  "description": "Registry account id (default, work, …). Omit to resolve from chat_id or message_id, or the default account.",
      +  "minLength": 1,
      +  "type": "string"
      +}
  2. First observedv0.9.3

TDQS

A4.2/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, non-idempotent, openWorld). The description adds genuinely new behavioral context: nothing is transmitted until confirmed, the recipient sees the message marked as forwarded, and a preview is surfaced. That goes beyond what the structured fields convey.

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 with zero filler; the critical constraint ('Does not send') and the next-step routing are front-loaded and unambiguous.

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 3-parameter drafting tool with no output schema, the description covers the key concerns: no transmission occurs, the preview should be shown, and the confirmation path is named. It stops short of describing what the draft object returns, but nothing needed for correct invocation is missing.

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 100%, so message_id, to_chat_id and account_id are already fully documented inline. The description mentions 'existing message' and 'another chat' but adds no format, resolution fallback, or constraint detail beyond the schema, so the baseline of 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?

Specific verb ('Draft a forward') plus a specific resource ('an existing message to another chat'), with immediate disambiguation from sending tools via 'Does not send.' An agent can distinguish it from send_message/confirm_send 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?

The description clearly scopes the operation ('Does not send') and routes the agent to the follow-up tool and its trigger ('after the user says yes, call confirm_send'). It doesn't explicitly compare against alternatives like send_message for non-forward cases, but the workflow condition is stated plainly.

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