Skip to main content
Glama
razvangirgiz

wazap-mcp

by razvangirgiz

List the phone's address book

list_contacts
Read-onlyIdempotent

Fetch WhatsApp account contacts page by page with saved names, phone numbers, chat IDs, and last direct message time and direction. Excludes private contacts and message text.

Instructions

The phone's address book on one account, a page at a time: saved name, phone (E.164), chat_id, contact_id, and when the last direct message was and its direction. No message words; #private people left out. address_book_synced false: not arrived yet.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNorecent: latest direct chat first, then the rest in address book orderrecent
cursorNonext from the previous page
account_idNoAccount id

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world, so the safety profile is covered. The description goes beyond them by disclosing filtering behavior ('No message words; #private people left out') and an edge case ('address_book_synced false: not arrived yet'), which materially inform result contents.

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?

Purpose and returned fields are front-loaded in the first sentence, with filtering and the sync caveat appended tersely. The fragmentary phrasing ('address_book_synced false: not arrived yet') is dense but earns its place as an edge-case note; no redundant sentences.

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?

With no output schema, the description usefully explains what each row contains and the privacy/status caveats, which is the key missing structured information. Minor gaps remain around account_id acquisition and ordering semantics, but the core call-and-interpret picture is complete.

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 coverage is 75%, with order and cursor carrying their own descriptions, so the schema does most of the work. The description only loosely reinforces account scoping ('one account') and pagination ('a page at a time') and adds no format or default detail for limit/order beyond the schema, so a baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (list) and resource (the phone's address book / contacts), and it enumerates the returned fields (name, phone, chat_id, contact_id, last DM time and direction), which makes the resource unambiguous. It does not explicitly name or contrast with siblings such as find_contact or list_chats, so it stops short of a 5.

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

Usage Guidelines3/5

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

'a page at a time' implies paginated browsing and 'on one account' implies account scoping, so usage is inferable. However, there is no explicit when-to-use / when-not-to-use guidance versus find_contact (lookup) or list_chats, leaving the agent to infer routing.

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