Skip to main content
Glama

RelayLink

Thread status

thread_status
Read-onlyIdempotent

Answer "did X respond?" and "what am I waiting on?" — threads awaiting the user's reply, threads awaiting others (with how many of the recipients have seen the latest package, or that a given one does not share read receipts), and idle threads (FYI packages that have been seen). Call whenever the user asks about waiting, pending items, whether someone replied, or mentions a contact by name.

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": "thread_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
tagNoNarrow to threads the user has tagged with this word — the user's own private label, from list_tags. Omit for every thread.
groupNoNarrow to one group's threads, by name — an owned group or a Shared group the user is on, from list_groups. Unrecognised narrows to nothing.
offsetNoSkip this many threads, most recent activity first (default 0). The reply says the offset of the next page.
contactEmailNoOptionally filter to threads with this contact's email.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/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 earns credit for going beyond them: it discloses the result taxonomy (three buckets) and the nuance that per-recipient seen counts may be unavailable because a recipient doesn't share read receipts. That is real output-shape information an agent would otherwise have to discover. It does not address pagination behavior or result ordering, which the schema mentions but the description does not.

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?

The purpose is front-loaded in the first clause and the activation guidance lands at the end without redundancy. The middle bucket enumeration is a dense triple-clause run-on that takes a second pass to parse, but every clause carries information (including the read-receipt caveat) rather than filler.

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 four optional filters, no output schema, and a read-only profile, the description supplies what's most needed: what the three result categories mean and what the 'seen' signal can and cannot tell you. Remaining gaps — pagination flow and exact returned fields — are partly covered by the offset parameter text and are low-risk for a read-only tool with zero required arguments.

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 all four parameters are already documented inline (tag, group, offset, contactEmail) with useful detail such as 'Unrecognised narrows to nothing.' The description adds no parameter guidance of its own; 'mentions a contact by name' loosely gestures at contactEmail but could mislead, since name matching isn't the parameter's semantics. 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?

The description frames the tool as answering two concrete questions ('did X respond?', 'what am I waiting on?') and enumerates the exact buckets returned: awaiting user reply, awaiting others (with seen counts), and idle/FYI threads. That's a specific query purpose, not a restatement of the name. It never names the closest siblings (list_threads, get_thread, thread_ledger), so the differentiation is implicit rather than explicit.

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?

Explicit trigger language — 'Call whenever the user asks about waiting, pending items, whether someone replied, or mentions a contact by name' — gives an agent clear activation conditions tied to user phrasing. There are no when-not conditions and no routing to alternatives such as list_threads or thread_ledger for raw enumeration.

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