Skip to main content
Glama

List issue comments

list_issue_comments
Read-only

List discussion comments on an issue or pull request, oldest first, with pagination and time-window filters to page through the full thread.

Instructions

List the discussion comments on an issue or pull request (owner/repo/index), oldest first. Each comment is {id, user, body, created_at, url}. Returns the whole thread with total unless you pass page/limit, which page through it here (limit defaults to 50), since the forge always sends every comment; since/before keep only comments updated in that window. Not included: the issue's own description (use get_issue), events such as label or assignee changes, and a pull request's inline code-review comments (list_pull_request_reviews gives the reviews). Bot comments are ordinary comments and are included.

Input Schema

NameRequiredDescriptionDefault
pageNo1-based page number, counted over the oldest-first thread.
repoYesRepository name.
indexYesIssue or pull-request number.
limitNoComments per page; defaults to 50 when only `page` is given.
ownerYesRepository owner.
sinceNoOnly comments updated at or after this time (RFC 3339, e.g. `2026-10-01T00:00:00Z`).
beforeNoOnly comments updated before this time (RFC 3339).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.27.0
    • addedInput schema / properties / before
      Added value: +{
      +  "default": null,
      +  "description": "Only comments updated before this time (RFC 3339).",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedInput schema / properties / limit / description
      Previous value: -"Results per page."New value: +"Comments per page; defaults to 50 when only `page` is given."
    • changedInput schema / properties / page / description
      Previous value: -"1-based page number."New value: +"1-based page number, counted over the oldest-first thread."
    • addedInput schema / properties / since
      Added value: +{
      +  "default": null,
      +  "description": "Only comments updated at or after this time (RFC 3339, e.g. `2026-10-01T00:00:00Z`).",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. First observedv0.22.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations declare readOnlyHint and openWorldHint, and the description adds real context beyond them: the forge always sends the full thread, pagination happens here with limit defaulting to 50, the return shape {id, user, body, created_at, url} plus `total`, and that bot comments are included. It stops short of stating rate-limit or auth behavior, but for a read-only list tool that is a minor gap.

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 purpose and ordering, then paging, then exclusions, then the bot caveat — a sensible order with no filler. The clause 'since/before keep only comments updated in that window' is spliced awkwardly into the paging sentence, which slightly hurts readability.

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?

There is no output schema, and the description compensates by naming the returned fields and the `total` count. Paging, filtering, ordering, and the scope boundaries are all covered, so an agent has everything needed to call it correctly.

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 the baseline is 3; the description still adds meaning the schema does not, notably the interplay between page and limit (limit defaults to 50 only when page is given) and that since/before filter on update time rather than creation. That is genuine added value over the field descriptions.

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 ('List the discussion comments on an issue or pull request') plus identifier format (owner/repo/index) and ordering (oldest first). It explicitly names what it is not (issue description, events, inline review comments), so an agent can separate it from get_issue and list_pull_request_reviews 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 explicit routing: use get_issue for the description, list_pull_request_reviews for reviews, and this tool for the comment thread. It also states when to pass page/limit and what since/before do, which is exactly the decision guidance an agent needs.

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