Skip to main content
Glama

whatsapp_numbers_write

Destructive

Manage a connected WhatsApp number. To CONNECT a new number use create_channel_connect_link (the user must log in with Meta). Confirm with the user before remove. Actions: remove — disconnect the number from the agent (the AI stops answering it) | reassign — move the number to another agent of the workspace Needs: newAgentId. | update_display_name — request a new display name on the WhatsApp business profile Needs: displayName. | set_voice_calling — turn inbound WhatsApp voice calling on or off for the number Needs: enabled.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>",
      "agentId": "<agentId>",
      "phoneId": "<phoneId>"
    },
    "name": "whatsapp_numbers_write"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNocompact (default) = light mode: long text is cut and bulky blobs are replaced by a size marker. full = complete API response.
actionYes
agentIdYes
enabledNoFor set_voice_calling.
phoneIdYesMeta WhatsApp phone number ID (from get_agent_channels), not the phone number.
newAgentIdNoFor reassign: the agent that should answer this number.
displayNameNoFor update_display_name: new WhatsApp display name (Meta reviews it).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, and the description adds real context beyond that: remove stops the AI answering, display names go through Meta review, reassign moves the number to another agent. Missing auth/permission notes and any failure modes, so not a 5.

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?

Front-loads the resource and the routing hint before the action table; every clause carries information. The pipe-delimited action list is dense but readable, though a slightly tighter format would read better.

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 7-parameter, annotation-covered, no-output-schema mutation tool, the definition covers routing, destructive confirmation, and per-action needs. Only the purpose of agentId (vs newAgentId) and mode usage are left implicit.

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 71%, and the description supplies per-action parameter semantics for newAgentId, displayName, and enabled that go beyond the schema by tying each to its action. agentId and mode are left to the schema, which is acceptable given the partial coverage.

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 'Manage a connected WhatsApp number' and then enumerates the four concrete actions (remove, reassign, update_display_name, set_voice_calling) with their effects. An agent can distinguish this from whatsapp_numbers_read (read) and create_channel_connect_link (connect) without opening any schema.

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?

Explicitly routes connection work to create_channel_connect_link and notes the Meta login requirement, adds a precondition ('Confirm with the user before remove'), and points to get_agent_channels for phoneId. Alternatives and when-not conditions are stated, not inferred.

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