Skip to main content
Glama

Get commit diff

gitlab_get_commit_diff
Read-onlyIdempotent

Retrieve the diff for a specific GitLab commit to inspect code changes, including optional statistics and path filtering.

Instructions

Get the diff of a commit.

Args: **kwargs: Additional parameters for the request.

Returns: Response: A wrapper containing the original response and a list of Diff models.

Raises: ParameterError: If invalid parameters are provided.

Input Schema

NameRequiredDescriptionDefault
allNo
refNo
dataNo
lineNo
nameNo
noteNo
pageNo
pathNo
forceNo
sinceNo
stateNo
statsNo
untilNo
branchNo
actionsNo
contextNo
dry_runNo
messageNo
coverageNo
per_pageNo
ref_nameNo
user_idsNo
group_idsNo
line_typeNo
max_pagesNo
rule_typeNo
start_shaNo
project_idYes
target_urlNo
with_statsNo
author_nameNo
commit_hashNo
descriptionNo
pipeline_idNo
report_typeNo
author_emailNo
start_branchNo
start_projectNo
api_parametersNo
protected_branch_idsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv27.3.13

TDQS

D1.8/5.0
Behavior3/5

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

The tool is annotated with 'readOnlyHint: true' and 'destructiveHint: false', which already cover its behavioral safety. The description adds basic structure (Args/Returns/Raises), but adds no unique behavioral context that isn't covered by the schema or annotations.

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

Conciseness2/5

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

The description is fragmented into boilerplate (Args, Returns, Raises) rather than a concise functional summary. The use of 'Args: **kwargs: Additional parameters' is vague and redundant when a detailed schema is present.

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

Completeness1/5

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

The tool has a massive number of parameters (40). For an agent to select and invoke this correctly, it needs guidance on which of the numerous optional parameters are relevant for a typical 'get diff' operation, which is entirely missing.

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

Parameters1/5

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

The input schema defines 40 parameters, but the description explicitly states 'Args: **kwargs: Additional parameters for the request.' This provides virtually no semantic value regarding the meaning or usage of any of the numerous parameters listed in the schema. Given the 0% schema description coverage, this is extremely poor.

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

Purpose2/5

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

The description is a tautology: "Get the diff of a commit." While the title is helpful, the description does not specify which resource (like project or repo) the commit belongs to, making it poorly differentiated from other potential GitLab commit tools.

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

Usage Guidelines1/5

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

The description offers zero guidance on when or how to use the tool. There is no mention of required arguments (like commit ID) or any conditions under which this tool is preferred over others in the large GitLab ecosystem.

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