Skip to main content
Glama

get_merge_request_comments

Retrieve all comments and discussions from a GitLab merge request, including inline suggestions, with pagination support for efficient review.

Instructions

Get all comments/discussions from a merge request, including suggestions.

Args: project_id: GitLab project ID mr_iid: Merge request IID page: Page number for pagination (default: 1) per_page: Number of results per page (default: 20, max: 100)

Returns: Formatted string with all comments, including note_id, discussion_id, suggestions, and pagination info

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
mr_iidYes
per_pageNo
project_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the return is a formatted string with specific fields (note_id, discussion_id, suggestions, pagination info). However, it does not mention side effects, authentication requirements, rate limits, or error behavior. The read-only nature is implied but not explicitly stated.

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 concise and well-structured: a one-sentence purpose, then Args, then Returns. It front-loads the main functionality and uses a clear bullet-like format for parameters, making it easy to parse and scan.

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?

The description covers core functionality, parameters, and return format, and the existence of an output schema further helps. However, it lacks usage guidance (when to use vs alternatives) and does not mention potential limitations like pagination behavior beyond defaults. Overall, it's fairly complete for a read operation.

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

Parameters5/5

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

The description includes an Args section that explains each parameter, including defaults and max for per_page, which goes beyond the schema's basic type and default. This adds significant value given the 0% schema coverage, making the parameters self-documenting.

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 tool retrieves all comments/discussions from a merge request, including suggestions. It uses a specific verb and resource, and it is distinct from siblings like get_merge_request or add_merge_request_comment. The scope is unambiguous.

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?

The description provides no guidance on when to use this tool versus alternatives. There are several comment-related siblings (add, update, reply, etc.) and other getters, but no mention of conditions, exclusions, or preferred scenarios. The agent must infer usage solely from the name and description.

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