Skip to main content
Glama

WhatsApp Connect

whatsapp_connect
Destructive

Link WhatsApp to Local MCP by showing a QR code right here in the chat — no Terminal needed. Call this, then on your phone open WhatsApp → Settings → Linked Devices → Link a Device, and scan the QR shown. After you scan, WhatsApp tools (whatsapp_list_chats, whatsapp_read_messages, …) start working. Local MCP can link more than one WhatsApp account: add_account: true (with an optional label) links ANOTHER account with its own QR, scanned from that account's phone; account re-links one listed by whatsapp_list_accounts. Without arguments it links the default account. If that account is already linked, it just reports that. Links like any WhatsApp Web device; WhatsApp may restrict accounts that misuse it.

Input Schema

NameRequiredDescriptionDefault
labelNoWith add_account: the name for the new account (default "WhatsApp 2", …). Unique on this Mac.
accountNoWhich linked WhatsApp account to use: its label or id from whatsapp_list_accounts. Leave it out to use the default account.
confirmNoIgnored; kept for older clients.
add_accountNoLink an ADDITIONAL WhatsApp account (its own QR, scanned from that account's phone). The accounts already linked stay as they are.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true to show the QR. Without it the call returns a preview and does nothing."New value: +"Ignored; kept for older clients."
  2. Changed1 schema field changed
    • addedInput schema / properties / confirm
      Added value: +{
      +  "description": "Must be true to show the QR. Without it the call returns a preview and does nothing.",
      +  "type": "boolean"
      +}
  3. Changed3 schema fields 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"
      +}
    • addedInput schema / properties / add_account
      Added value: +{
      +  "description": "Link an ADDITIONAL WhatsApp account (its own QR, scanned from that account's phone). The accounts already linked stay as they are.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / label
      Added value: +{
      +  "description": "With add_account: the name for the new account (default \"WhatsApp 2\", …). Unique on this Mac.",
      +  "type": "string"
      +}
  4. Added
  5. Removed
  6. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already disclose that this is non-read-only, open-world, and potentially destructive. The description adds substantial context beyond that: the QR workflow, enabling of WhatsApp tools after scanning, multi-account behavior, and the fact that an already-linked default account just reports its state. It does not fully spell out the destructive implication of re-linking an existing account, so it falls short of complete behavioral disclosure.

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 description is front-loaded with the core action and QR-scanning steps, then moves to multi-account details and caveats. It is longer than a minimal description, but the length is mostly justified by the setup workflow and account-selection semantics.

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?

Given the output schema, annotations, and fully described input schema, the description covers the essential setup workflow and account-selection behavior. The remaining gap is that it does not explicitly clarify what is destructive about re-linking an existing account, despite the destructiveHint annotation.

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 field descriptions already define label, account, confirm, and add_account. The tool description still adds useful meaning by explaining how add_account and label combine, how account should reference a value from whatsapp_list_accounts, and what happens with no arguments.

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 and resource: link WhatsApp to Local MCP via a QR code shown in chat. It also clearly distinguishes setup from later WhatsApp usage by naming sibling tools such as whatsapp_list_chats and whatsapp_read_messages that become available afterward.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit call sequencing: call this tool, then scan the QR from WhatsApp's Linked Devices screen. It also explains the main argument paths: omit arguments for the default account, use add_account for an additional account, or use account for an account listed by whatsapp_list_accounts.

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