Skip to main content
Glama

list_threads

Read-onlyIdempotent

Retrieve persistent peer threads for a project, including settled threads but excluding archived ones, sorted by ID for cursor-based pagination.

Instructions

List persistent peer threads in this project, including settled threads. Archived threads are excluded. Results sort by ID; pass nextBeforeThreadId to fetch the next page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
beforeThreadIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.3

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavior: sort order by ID, archived exclusion, settled inclusion, and cursor-based pagination. The only flaw is the cursor parameter being misnamed (nextBeforeThreadId).

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?

Two tight sentences, front-loaded with the resource and scope before the pagination detail. Minimal waste, though the settled/archived clauses slightly overlap in conveying filter behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with full annotation coverage and no output schema, this is adequate, but the 0% schema coverage leaves 'limit' undocumented and the cursor parameter is named inconsistently, so an agent lacks the precise syntax needed to page correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the parameters, and it only partially does. It explains the cursor's role but calls it 'nextBeforeThreadId' while the actual parameter is 'beforeThreadId', which could mislead an agent, and it says nothing about the limit parameter.

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 gives a clear verb ('List') and resource ('persistent peer threads in this project'), plus scope qualifiers (settled included, archived excluded). It is distinguishable from read_thread (single) and create_thread at a glance, though it doesn't explicitly name a sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance or routing to alternatives such as read_thread or wait_threads. The inclusion/exclusion notes describe scope, not usage conditions, so an agent must still infer when this tool is the right choice.

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