Skip to main content
Glama

List chats

list_chats
Read-only

Lists the user's chats across their connected networks, pinned first, then the most recent, a page at a time; email chats (network email) newest first. Filters by unread messages or by chat name. Leaves archived chats out.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_chats"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoChats per page.
queryNoPart of a chat's name, matched ignoring case. Exact matches come first.
cursorNonext_cursor from the page before. Without it, the first page.
unreadNotrue: only chats with unread messages. false: only chats without.
networkNoOnly this network's chats, such as whatsapp. Email is left out unless this is email.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint, so the description must carry the rest, and it does: it discloses result ordering (pinned, then recency, with email chats newest first), pagination page-by-page behavior, and that archived chats are omitted by default. It does not cover cursor lifetime, page-size ceiling effects on ordering, or rate limits, which keeps it out of the top band.

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?

A single dense sentence that is front-loaded with the core action, then layers ordering, then filtering, then the archived exclusion. Every clause carries information not present elsewhere, and nothing is redundant padding.

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 must explain what comes back, and it does so at the list level: ordered, paged results with an explicit default exclusion. It stops short of describing the fields in each chat row, which an agent may still need to guess, but the pagination contract is implied by the cursor parameter documentation.

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 would be 3, but the description adds meaning beyond the schema by tying the network value "email" to a different ordering rule (newest first), which the parameter docs do not state. The unread and query filters are described only at the level the schema already covers, so the gain is modest but real.

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 and resource ("Lists the user's chats across their connected networks") plus the scope boundary that separates it from siblings: it enumerates chats rather than searching messages or reading a single chat. The ordering rules (pinned first, then most recent; email newest first) and the archived exclusion further pin down what the tool actually returns.

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?

The description makes the use case clear by describing the two supported filter modes (unread, chat name) and the default browse behavior, so an agent knows this is for enumerating the inbox. It does not explicitly name alternatives such as search_messages for text lookup or catch_up for unread triage, so routing still requires a small inference.

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