Skip to main content
Glama

Get commit gpg signature

gitlab_get_commit_gpg_signature
Read-onlyIdempotent

Retrieve the GPG signature of a GitLab commit to verify commit authenticity and inspect signing details.

Instructions

Get GPG signature of a commit.

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

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

Raises: ParameterError: If invalid parameters are provided.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "gitlab_get_commit_gpg_signature"
  }
}

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_idNo
target_urlNo
with_statsNo
author_nameNo
commit_hashNo
descriptionNo
pipeline_idNo
report_typeNo
author_emailNo
start_branchNo
start_projectNo
protected_branch_idsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changedv27.3.20
    • removedInput schema / properties / api_parameters
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": true,
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • removedInput schema / properties / author_email / anyOf
      Removed value: -[
      -  {
      -    "format": "email",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / author_email / title
      Added value: +"Author Email"
    • changedInput schema / properties / page / default
      Previous value: -1New value: +null
    • changedInput schema / properties / per_page / default
      Previous value: -100New value: +null
    • addedInput schema / properties / project_id / default
      Added value: +null
    • removedInput schema / properties / target_url / anyOf
      Removed value: -[
      -  {
      -    "format": "uri",
      -    "maxLength": 2083,
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / target_url / title
      Added value: +"Target Url"
    • removedInput schema / required
      Removed value: -[
      -  "project_id"
      -]
  2. First observedv27.3.13

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds useful context beyond that: it returns a wrapper around a CommitSignature model and raises ParameterError on invalid input. It does not say what happens when the commit has no signature (null vs. error), which is the key behavioral question for this tool.

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 purpose is front-loaded in one sentence, which is good, but the following Args/Returns/Raises boilerplate is largely vacuous — the kwargs line conveys no information and the Returns line only restates the output type. It is short but not dense with value.

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 39 undocumented parameters with zero required fields and no output schema, the description is far too thin. An agent cannot determine from it which parameters are mandatory, what a CommitSignature contains, or how unsigned commits are represented, so it is not sufficient to call the tool correctly.

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?

Schema description coverage is 0% across 39 parameters, and the description contributes nothing except '**kwargs: Additional parameters for the request.' Critically, it never identifies project_id and commit_hash as the parameters that must actually be supplied, even though they are the only meaningful ones; the remaining 37 look like auto-generated cross-tool leftovers.

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?

The first sentence names a specific verb and resource: 'Get GPG signature of a commit.' This clearly distinguishes it from siblings like gitlab_get_commit or gitlab_get_commit_statuses. It stops short of naming the identifying inputs (project and commit SHA), but the purpose itself 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?

There is no when-to-use guidance, no mention of alternatives such as gitlab_get_commit (which may already return signature data), and no prerequisites stated. The agent must infer on its own that this is the right tool for verifying commit signing.

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