Skip to main content
Glama

Hn Get Thread

hn_get_thread
Read-only

Get an item and its comment tree as a threaded discussion, with child comments resolved recursively. Use depth 0 for an item-only lookup.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
depthNoHow many levels of replies to resolve. 0 = just the item, no comments. 1 = direct replies only. Popular stories often have more top-level comments than maxComments — to see nesting, raise maxComments together with depth, or call again with a specific comment's itemId to drill into a subtree.
itemIdYesID of the story, comment, or poll to fetch the thread for.
maxCommentsNoMaximum total comments to include across all depth levels. Highest-ranked top-level comments resolve first; replies fill in only after the level above is exhausted.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
capNoThe maxComments cap that was applied.
itemNoThe root item (story, comment, or poll).
errorNoPresent when the call failed. Absent on success.
shownNoNumber of comments returned.
noticeNoTruncation context: counts of deleted/dead comments dropped during traversal, or pagination hint when totalLoaded < totalAvailable. Absent when no comments were dropped and all available comments were loaded.
commentsNoFlat comment list ordered breadth-first by rank: highest-ranked top-level comments first, then their replies. Use depth/parentId to reconstruct nesting.
truncatedNoTrue when the comment list was capped by maxComments.
totalLoadedNoNumber of comments actually fetched and included.
totalAvailableNoTotal comment count from the root item. If totalLoaded < totalAvailable, raise maxComments (and depth, if you want nested replies) and call again.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds valuable behavioral context: it discloses that child comments are 'resolved recursively' and explains the effect of depth on the lookup. This goes beyond the annotation without contradicting it, though it doesn't mention details like rate limits or response format.

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?

The description is two sentences with zero waste. The core purpose is stated first, followed by a single actionable pointer. Every word earns its place, and it is immediately scannable.

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

Completeness5/5

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

Given that an output schema exists (so return values are documented elsewhere), the description fully covers what an agent needs to call the tool correctly: the resource type, recursive behavior, and the key depth parameter guidance. The schema handles parameter details, and annotations handle safety. Nothing critical is missing.

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% — all three parameters (depth, itemId, maxComments) have detailed descriptions in the schema. The tool description does not add extra parameter semantics; the only addition ('Use depth 0') is a usage guideline rather than parameter meaning. Per the rubric, baseline 3 is appropriate when the schema handles the parameter documentation.

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?

The description clearly states the verb 'Get', the resource 'item and its comment tree as a threaded discussion', and highlights the recursive resolution behavior. It distinguishes this from siblings (hn_get_stories, hn_get_user, hn_search_content) which target different resources, so an agent can easily tell them apart.

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 provides a concrete usage hint ('Use depth 0 for an item-only lookup') that guides when to adjust depth. It does not explicitly name alternatives or state when not to use this tool, but the purpose is so distinct from siblings that the context is clear. Slightly more explicit exclusion would push it to 5.

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.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a clearly distinct resource: feed stories, threaded items, user profiles, and content search. No overlap exists; an agent can easily select the appropriate tool for a given intent.

Naming Consistency5/5

All tools follow a uniform `hn_` prefix with a consistent verb_noun pattern (`get_stories`, `get_thread`, `get_user`, `search_content`). The naming is intuitive and predictable.

Tool Count5/5

Four tools is well-scoped for a Hacker News read-only server, covering core data access patterns without redundancy. Each tool earns its place, and the count is neither too thin nor bloated.

Completeness4/5

The surface covers fetching stories, retrieving item trees, viewing user profiles, and searching content. Minor gaps exist (e.g., no direct way to list a user's comments, no explicit single-item fetch beyond depth-0 thread), but agents can work around them using the thread tool.