Skip to main content
Glama

WhatsApp Sync

whatsapp_sync
Destructive

Starts WhatsApp pulling the latest messages, groups and contacts into the local store and returns right away — it does NOT wait for the sync to finish (#1453: a first sync after linking can legitimately take minutes, and waiting for it used to get the sync itself killed by the local timeout). Call whatsapp_diagnose to see whether a sync is still running or when the last one finished. The other read tools also kick off a sync in the BACKGROUND, so the FIRST read after new activity may be stale — re-run it in a few seconds.

Input Schema

NameRequiredDescriptionDefault
accountNoWhich linked WhatsApp account to use: its label or id from whatsapp_list_accounts. Leave it out to use the default account.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / account
      Added value: +{
      +  "description": "Which linked WhatsApp account to use: its label or id from whatsapp_list_accounts. Leave it out to use the default account.",
      +  "type": "string"
      +}
  2. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already flag readOnly=false, destructive=true and openWorld=true; the description adds substantial beyond that: the call is fire-and-forget, a first sync can take minutes, and a timeout used to kill the sync (issue #1453). The one gap is that it never reconciles destructiveHint=true — an agent could reasonably wonder whether a 'sync into the local store' can destroy local data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The key fact — it returns right away and does not wait — is front-loaded, and the parenthetical justification for why is useful. The issue-reference parenthetical is slightly long for the value it adds, but every sentence still carries 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?

An output schema exists, so return values need no explanation, and the description covers the non-obvious part an agent actually needs: the async race and the staleness of subsequent reads. Nothing needed to invoke it correctly 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?

There is only one optional parameter and schema coverage is 100%, so the schema already explains the account label/id lookup and the default fallback. The description adds nothing about the account argument, so the 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: starts a WhatsApp sync of messages, groups and contacts into the local store. It also distinguishes itself from the read tools by explaining that it returns immediately and that reads themselves trigger background syncs, so an agent can tell the difference between whatsapp_sync, whatsapp_read_messages and whatsapp_diagnose.

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 explicit routing to whatsapp_diagnose for sync status, and warns that the first read after new activity may be stale so it should be re-run. It's clear when to call it (after new activity / to refresh) and what not to expect (no completion wait), but it never says when NOT to call it, e.g. that plain reading does not require an explicit sync.

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