Skip to main content
Glama
razvangirgiz

wazap-mcp

by razvangirgiz

Set the linked WhatsApp profile picture

set_profile_picture
Destructive

Change the WhatsApp account's own profile photo from a local file path or public URL. Confirm first, since it updates instantly and is visible to all contacts.

Instructions

Set the linked WhatsApp account's own profile picture from a local path on the machine running wazap or from a public URL. Exactly one of file_path / url. JPEG, PNG or WebP only, at most 10 MB. DESTRUCTIVE and visible to every contact. Show the image and wait for a yes first. This call hits WhatsApp immediately; there is no draft.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoPublic http(s) URL to fetch and use as the photo
file_pathNoAbsolute path of a local JPEG, PNG or WebP
account_idNoRegistry account id (default, work, …). Omit to resolve from chat_id or message_id, or the default account.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.15.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, yet the description adds genuinely new context: the picture is 'visible to every contact', the call 'hits WhatsApp immediately', there is 'no draft', plus format and 10 MB size limits. That is real behavioral disclosure beyond the structured hints.

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?

Front-loaded with the core action, then constraints, then the safety workflow. Every sentence earns its place; no padding.

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?

No output schema exists, so the description carries return expectations on its own, and it does. Source alternation, format/size limits, visibility, immediacy and the confirmation requirement together make this callable and safe without further reference.

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. The description adds the 'Exactly one of file_path / url' mutual-exclusivity rule, which the schema (additionalProperties:false but no oneOf) does not encode, plus format/size constraints. That is added value beyond 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?

States a specific verb (set) and resource (the linked account's own profile picture), with the scope 'own' clarifying this is not editing someone else's picture. An agent can distinguish this from send_media or download_media 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 Guidelines4/5

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

Gives clear operating context: 'Show the image and wait for a yes first' and 'This call hits WhatsApp immediately; there is no draft.' It also states the source constraint. It stops short of naming an alternative tool for a different profile-photo scenario, but the when-to-use confirmation workflow is well specified.

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