Skip to main content
Glama
MCP GitHub CrunchTools

MCP GitHub CrunchTools

by crunchtools

List Pull Request Comments Tool

list_pull_request_comments_tool
Read-only

List all comments on a GitHub pull request by combining conversation, diff review, and submitted review comments in one oldest-first feed.

Instructions

List everything said on a GitHub pull request, in one list.

Combines the PR's conversation comments (kind "issue_comment"), comments on the diff (kind "review_comment", with path, line, review_id and in_reply_to_id) and submitted reviews (kind "review", with state), oldest first. Every item carries kind, id, author, created_at, body and html_url.

Each kind is capped at 300 items; truncated and truncated_kinds say when newer items were left out.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "repo": "<repo>",
      "pull_number": "<pull_number>"
    },
    "name": "list_pull_request_comments_tool"
  }
}

Input Schema

NameRequiredDescriptionDefault
repoYesRepository name
ownerNoRepository owner (defaults to GITHUB_DEFAULT_ORG if unset)
pull_numberYesPull request number

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.3.2
    • addedInput schema / properties / pull_number / minimum
      Added value: +1
  2. Addedv1.2.0

TDQS

A4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, and the description goes well beyond that: it discloses per-kind ordering (oldest first), a hard cap of 300 items per kind, and the truncated/truncated_kinds fields that signal omissions. It does not cover auth/rate-limit behavior, but the truncation semantics are exactly the kind of operational detail annotations cannot express.

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?

Front-loaded with the one-line summary, then a compact paragraph on what is merged and the item shape, then a short note on truncation. No sentence is filler and the ordering follows what an agent needs first.

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?

An output schema exists, so return values needn't be restated, and the description still names the kinds and truncation signals the agent will see. The only gap is routing guidance versus the diff/review-specific siblings, which is a usage concern rather than a completeness one.

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% for all three parameters (repo, owner, pull_number), so the schema already carries the parameter documentation. The description adds nothing about parameter meaning or format, which is acceptable but is the baseline rather than added value.

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 (list) and resource (comments on a GitHub pull request) and immediately clarifies scope: it aggregates conversation comments, diff comments, and submitted reviews into one list. That aggregation distinguishes it from siblings like get_pull_request_diff_tool and reply_to_review_comment_tool without the agent needing to open any schema.

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

Usage Guidelines3/5

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

The description implies when it is useful (you want all comment activity on a PR in one call), but it never states when to prefer it over alternatives such as get_pull_request_diff_tool or get_pull_request_tool, nor any exclusions or prerequisites. Usage is inferable but not guided.

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