Skip to main content
Glama
wuapidev

wuapi MCP server

Official
by wuapidev

List contacts

list_contacts
Read-onlyIdempotent

Fetch an account's saved WhatsApp contacts from its synced address book. Search by name, username, or number and paginate results.

Instructions

An account's address book as its phone synced it to wuapi, ordered by saved name: each contact's id, number, savedName, WhatsApp profile name, and the username and picture id seen so far. Only contacts the phone saved (or that have a business name); people the account just chatted with are in list_chats. Read from what wuapi stored, so about and deviceCount are not here: lookup_contacts asks WhatsApp for those. Search names, usernames and numbers with q.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNoSearch the saved name, profile name, business name, username or number. Results come best match first.
limitNoPage size, 1 to 100. Default 20.
cursorNo`nextCursor` from the previous page, to get the next one.
accountIdYesThe wuapi account id of the linked number to act as (from list_accounts).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare the safe read profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds real context: results are ordered by saved name and come from stored wuapi data rather than a live lookup, which explains staleness and the absence of `about`/`deviceCount`.

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-loaded with the core identity, then the return fields, then the sibling routing. Dense but every clause carries information; only minor cost is a somewhat crammed middle colon-list, so not a 5.

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?

No output schema exists, and the description adequately describes the result shape and ordering. Pagination is handled by cursor/nextCursor in the schema. Good coverage for a list tool, though it stops short of stating default/max page behavior explicitly.

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 description coverage is 100%, so the schema already documents q, limit, cursor and accountId thoroughly (the schema's `q` description is actually broader than the summary in the prose). The description adds no new parameter syntax or format detail, so 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 resource (the account's address book synced to wuapi) and its ordering, and enumerates the returned fields (id, number, savedName, profile name, username, picture id). It explicitly distinguishes itself from list_chats and lookup_contacts, so an agent can identify it without opening a 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?

Names two alternatives and the exact conditions that select them: chatted-with people live in list_chats, and `about`/`deviceCount` require lookup_contacts which asks WhatsApp live. Includes the when-not ('only contacts the phone saved') and the search entry point via `q`.

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