Skip to main content
Glama

search_threads

Read-onlyIdempotent

Find or list chat threads/conversations — by topic, participant, unread/unanswered status, or recency. Omit query to list threads by filter. For message content use search.messages; for files use search.files. since filters by recency and pairs with only_unread / only_unanswered. Each thread names the LINE it speaks from (account: id, channel, name, phone) and whether the owner ever really wrote there (has_real_outgoing; imported history does not count). The same person can appear once per connected number — pick the thread by account, not by title, before you messages.send.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum threads to return.
queryNoTopic/keyword to search threads for. OMIT to list threads by filter.
sinceNoISO date (YYYY-MM-DD). Only threads with any message activity since this date (recency filter, not 'unanswered'). OMIT to skip.
offsetNoNumber of threads to skip (for pagination, default: 0)
only_unreadNoLimit to threads with unread messages. OMIT to include read threads.
in_workspaceNoRun this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.
only_unansweredNoLimit to threads where the last message is incoming (you haven't replied). Covers 'threads I haven't replied to'. OMIT to include answered threads too.
participant_nameNoFilter to threads with this participant/contact. OMIT to include everyone (do NOT pass an empty string).
include_last_messagesNoWith only_unanswered: inline the most recent N messages (0-2) per thread so one call is enough to draft replies. Text truncated to 150 chars; full body via messages.read_history.
only_unread_on_platformNoLimit to threads unread in the account's own app on the platform (the member's LinkedIn, ...), as far as the channel reports it; only_unread is unread in this inbox. OMIT to skip this filter.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / only_unread_on_platform
      Added value: +{
      +  "description": "Limit to threads unread in the account's own app on the platform (the member's LinkedIn, ...), as far as the channel reports it; only_unread is unread in this inbox. OMIT to skip this filter.",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / in_workspace
      Added value: +{
      +  "description": "Run this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.",
      +  "type": "integer"
      +}
  3. Added
  4. Removed
  5. Changed1 schema field changed
    • addedInput schema / properties / offset
      Added value: +{
      +  "description": "Number of threads to skip (for pagination, default: 0)",
      +  "minimum": 0,
      +  "type": "integer"
      +}
  6. Changed1 schema field changed
    • addedInput schema / properties / include_last_messages
      Added value: +{
      +  "description": "With only_unanswered: inline the most recent N messages (0-2) per thread so one call is enough to draft replies. Text truncated to 150 chars; full body via messages.read_history.",
      +  "maximum": 2,
      +  "minimum": 0,
      +  "type": "integer"
      +}
  7. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's added value is domain semantics: each result identifies the LINE it speaks from via `account`, and `has_real_outgoing` distinguishes genuine owner replies from imported history. It stops short of describing pagination behavior or the result set shape beyond those hints, which keeps it off a 5.

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 verb and facets, then alternatives, then caveats; nearly every sentence carries information. It runs a bit long and drifts into prescriptive advice about messages.send and `account` selection that is useful but sits late in the block.

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?

For a 10-parameter, zero-required search tool with no output schema, the description covers mode selection, sibling routing, filter interactions, and identity/dedup semantics. What it leaves out — limit/offset behavior and the overall result shape — is minor and largely recoverable from the schema.

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 per-dimension baseline is 3. The description does add cross-parameter meaning the schema cannot express — `since` pairs with only_unread/only_unanswered, and `query` omission switches to filter-listing mode — but most individual parameters are left to their schema text.

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 (find or list chat threads) plus the exact facets it searches: topic, participant, unread/unanswered status, recency. It also explicitly disclaims the message-content and file domains by naming search.messages and search.files, so the agent can separate it from siblings 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?

Gives an explicit mode switch ("Omit `query` to list threads by filter"), names two sibling alternatives and when to prefer them, and adds a downstream chaining rule (pick the thread by `account`, not title, before messages.send). This is close to a complete routing instruction.

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.