Skip to main content
Glama

Get project merge request

gitlab_get_project_merge_request
Read-onlyIdempotent

Retrieve details for a specific GitLab project merge request using its project ID and merge request IID.

Instructions

Get details of a specific merge request in a project.

Args: **kwargs: Additional parameters for the request (e.g., project_id, merge_request_iid).

Returns: Response: A wrapper containing the original response and a MergeRequest model.

Raises: MissingParameterError: If the project_id or merge_request_iid is missing. ParameterError: If invalid parameters are provided.

Input Schema

NameRequiredDescriptionDefault
wipNo
dataNo
pageNo
sortNo
viewNo
scopeNo
stateNo
titleYes
labelsNo
searchNo
squashNo
order_byNo
per_pageNo
author_idNo
max_pagesNo
milestoneNo
search_inNo
project_idNo
assignee_idNo
descriptionNo
environmentNo
reviewer_idNo
approver_idsNo
assignee_idsNo
milestone_idNo
reviewer_idsNo
created_afterNo
source_branchNo
target_branchNo
updated_afterNo
api_parametersNo
created_beforeNo
deployed_afterNo
search_excludeNo
updated_beforeNo
approved_by_idsNo
author_usernameNo
deployed_beforeNo
my_reaction_emojiNo
reviewer_usernameNo
target_project_idNo
allow_collaborationNo
with_labels_detailsNo
remove_source_branchNo
approvals_before_mergeNo
allow_maintainer_to_pushNo
with_merge_status_recheckNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv27.3.13

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile needs no restating. The description does contribute beyond that: it discloses the return wrapper shape (original response plus a MergeRequest model) and two error conditions. It does not cover auth requirements or pagination behavior for a 47-parameter surface.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the purpose in the first sentence, which is good. But it then spends its remaining budget on docstring boilerplate (Args/Returns/Raises headings) where the Args section conveys almost nothing ('**kwargs: Additional parameters for the request').

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

Completeness2/5

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

For a tool exposing 47 parameters with 0% schema description coverage and no output schema, the description is badly under-specified. It neither explains the wide filter/create-style parameter set nor resolves the discrepancy between the required 'title' field and the two identifiers it says are mandatory.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden and largely fails it. It names only project_id and merge_request_iid; the other 45 parameters (state, labels, author_id, scope, page, per_page, etc.) get zero meaning. Worse, it never mentions 'title', which the schema marks as the sole required field, leaving an agent with a genuine ambiguity about what must be passed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Get details of a specific merge request in a project.' The singular 'a specific merge request' implicitly distinguishes it from the plural list tool gitlab_get_project_merge_requests, but that sibling is never named or referenced.

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?

There is no guidance on when to use this versus the many sibling merge request tools (gitlab_get_project_merge_requests, gitlab_get_merge_requests, the GraphQL variants, approve/unapprove). The only usage signal is an indirect one: the Raises section implies project_id and merge_request_iid must be supplied.

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

Deploy Server

Other Tools