Skip to main content
Glama

List chats

list_chats

Lists visible WhatsApp chats and groups across connected accounts, newest first, so agents can find conversations awaiting replies or containing new messages.

Instructions

List the chats (people and groups) agents can see (everything except what the account holder ignored), across all connected accounts, most recent first (the same person can appear once per account). awaiting says who owes the next message: "you" when the last word was theirs. new counts the messages and reactions from the other side since the chat was last read (read_inbox or load_history mark it read; listing doesn't). Set awaiting_reply to get just the conversations waiting on you, only_new for just the ones with something new.

Input Schema

NameRequiredDescriptionDefault
channelNoOnly this channel, e.g. "whatsapp". Omit for every connected channel.
only_newNoOnly chats with new messages or reactions since they were last read.
connection_idNoOnly this account: a connection id from list_connections, or its number (e.g. "+65 9136 3557").
awaiting_replyNoOnly chats whose last message came from the other side.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses exclusion of ignored chats, multi-account duplication, ordering, and the side-effect profile (listing does not mark chats read; read_inbox and load_history do). It omits pagination/result-limit behavior, which matters for an unfiltered list across all accounts.

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?

Scope, ordering and exclusions are front-loaded, then derived-field semantics, then the filter flags. It is dense but each clause carries information; the parenthetical about read state is slightly buried mid-sentence rather than with the other behavioral notes.

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 the returned `awaiting` and `new` fields and their read-state dependency, which an agent could not get elsewhere. It lacks any statement about result volume, pagination, or truncation for a cross-account listing, which is the main remaining gap.

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 100%, so the schema already documents all four parameters; the description mostly restates them. The only added nuance is clarifying that 'you' means the other side had the last word for the awaiting field, which is marginal over the schema's own wording.

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 ('List the chats (people and groups)') and immediately defines scope: everything the agent can see except what the account holder ignored, across all connected accounts, most recent first. It even discloses that a person may appear once per account, which distinguishes this from history/inbox reads.

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?

It gives explicit filtering guidance ('Set awaiting_reply to get just the conversations waiting on you, only_new for just the ones with something new') and distinguishes itself from read_inbox/load_history by noting that listing does not mark chats read. It stops short of naming those siblings as alternatives to use when the goal is to mark-read, but the implication is clear.

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