Skip to main content
Glama

get_merge_request

Fetch merge request details by providing GitLab project ID and merge request IID. Returns a formatted summary of the merge request for review.

Instructions

Fetch merge request details.

Args: project_id: GitLab project ID mr_iid: Merge request IID (internal ID shown in GitLab UI as !123)

Returns: Formatted string with MR details

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mr_iidYes
project_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.6/5.0
Behavior2/5

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

There are no annotations to disclose side effects, permissions, or rate limits, so the description carries the full burden. It only says 'Fetch merge request details' and mentions a formatted string return, but does not state that the operation is read-only, whether authentication is required, or any potential error conditions. The simple nature of a GET suggests no side effects, but this is not explicitly disclosed.

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-organized into Args and Returns sections. It provides the essential information in a scannable format without unnecessary verbosity. Every sentence contributes to understanding the tool's function, parameters, and output.

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 the core context needed to use the tool: it states what it does, explains both parameters, and indicates the return type (formatted string). It does not mention edge cases or error handling, but for a simple get operation with clear parameters, this is sufficient. The presence of related sibling tools in the environment is not referenced, but the self-contained description is adequate.

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?

The description explicitly explains each parameter: 'project_id: GitLab project ID' and 'mr_iid: Merge request IID (internal ID shown in GitLab UI as !123)'. This adds meaningful context beyond the bare schema, which only specifies integer types. It makes the purpose of each parameter clear, though it does not elaborate on format constraints beyond the schema type.

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 'Fetch' and the resource 'merge request details', which distinguishes it from sibling tools like list_merge_requests (lists multiple MRs) and get_merge_request_diffs (fetches only diffs). The tool name and description align perfectly with the expected behavior of retrieving a single merge request.

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 explicit guidance on when to use this tool versus alternatives such as list_merge_requests, get_merge_request_comments, or get_merge_request_diffs. It does not state when not to use it or what scenarios call for other tools, leaving the agent to infer the appropriate usage from context.

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