Skip to main content
Glama
soil-dev
by soil-dev

list_thread_items

Read-onlyIdempotent

Retrieve structured items from a Loomio thread—comments, polls, stances, outcomes, and referenced users—by topic, discussion, or poll ID, with pagination for large threads.

Instructions

One thread as structured items: 1 call per 500 items by topic_id (+1 by discussion_id or poll_id; pass exactly one). Returns items[] in thread order plus the comments, polls, stances (votes), outcomes and users they reference. Paged by limit / offset under the max_total_chars budget (kinds reads the whole thread); next_offset says where to continue.

Input Schema

NameRequiredDescriptionDefault
kindsNoItem kinds to keep (e.g. new_comment, stance_created); 'other' = unlisted kinds.
limitNoItems after the kinds filter; default 200, max 1000.
offsetNoItems to skip. Default 0.
poll_idNoPoll id or short key (+1 call).
topic_idNoThread id (`topic_id` on any thread row, NOT `id`); no extra call.
strip_htmlNoPlain text instead of HTML bodies, reasons, outcomes; default true.
discussion_idNoDiscussion id or short key (+1 call); prefer `topic_id`.
body_max_charsNoChars per `body`; default 4000, 0 omits it, -1 = full.
max_total_charsNoReply budget in chars; default 120000, -1 = none. See next_offset.
include_reactionsNoAlso return emoji `reactions`. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.0.16
    • changedInput schema / properties / poll_id / description
      Previous value: -"Poll id or short key of a STANDALONE poll (+1 call)."New value: +"Poll id or short key (+1 call)."
  2. Addedv0.0.13

TDQS

A4/5.0
Behavior4/5

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

Even with annotations covering readOnly/idempotent safety, the description adds real behavioral context: the extra API call cost per 500 items for topic_id versus +1 for discussion/poll id, the `max_total_chars` reply budget, and default `strip_html` behavior. It doesn't disclose error behavior when multiple ids are passed, so it stops short of 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 purpose and return shape, then pagination. Dense with parenthetical clauses, but each earns its place; only the stacking of several asides makes it slightly harder to scan than ideal.

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 read tool with no output schema, the description covers return shape, ordering, paging semantics, and budget behavior. Gaps remain around item ordering guarantees and multi-id error handling, but nothing critical is missing for a correct call.

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 baseline is 3; the description earns above that by stating the otherwise-invisible constraint that exactly one id must be passed (schema marks zero required), plus the call-cost differential and the note that `kinds` ignores paging. This adds genuine meaning beyond the schema.

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?

States a specific verb+resource: returns 'one thread as structured items,' distinguishing it implicitly from the markdown-oriented sibling by emphasizing structured `items[]` plus referenced comments/polls/stances/users. It does not explicitly name an alternative sibling, which keeps it from a 5.

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?

Gives a concrete selection rule for the three id parameters ('pass exactly one', 'prefer topic_id') and explains pagination continuation via `next_offset`. It lacks explicit when-not guidance against siblings like get_thread_markdown or search_content, so not a 5.

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