Skip to main content
Glama

Get project deploy tokens

gitlab_get_project_deploy_tokens
Read-onlyIdempotent

Retrieve deploy tokens for a GitLab project to audit, verify, or manage token access. Filter results by name, username, scopes, expiry, or pagination.

Instructions

Get deploy tokens for a specific project.

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

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

Raises: ParameterError: If invalid parameters are provided. MissingParameterError: If required parameters are missing.

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_project_deploy_tokens"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
pageNo
tokenNo
scopesNo
group_idNo
per_pageNo
usernameNo
max_pagesNo
expires_atNo
project_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv27.3.20
    • removedInput schema / properties / api_parameters
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": true,
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • changedInput schema / properties / page / default
      Previous value: -1New value: +null
    • changedInput schema / properties / per_page / default
      Previous value: -100New value: +null
  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=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured fields. Beyond that the description adds genuine value by naming the return shape (a response wrapper plus a list of DeployToken models) and the two failure modes (ParameterError, MissingParameterError), though it says nothing about pagination, which is notable given the page/per_page/max_pages parameters.

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 one substantive sentence is buried inside autogenerated docstring scaffolding ('Args: **kwargs', 'Returns:', 'Raises:'), and the kwargs line is pure noise since the schema fixes the allowable properties via additionalProperties=false. The useful return-type information is present but the wrapper text is largely filler.

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 with 10 undocumented parameters, no output schema and no required-parameter signals, the description is far too thin — an agent cannot tell whether project_id is effectively mandatory, how the filter parameters behave, or how pagination should be driven. The declared return models and error types are the only pieces of real context.

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?

With 10 parameters and 0% schema description coverage, the description must carry the documentation burden, yet it explains only one example (project_id). The eight other parameters — name, token, scopes, username, expires_at, page, per_page, max_pages — are left undefined in both schema and text, and the intent of the non-standard max_pages parameter is entirely opaque.

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 opening line gives a clear verb-plus-resource ('Get deploy tokens') and scopes it to 'a specific project', which separates it from the sibling set's group-wide and instance-wide variants (gitlab_get_group_deploy_tokens, gitlab_get_deploy_tokens). It never names those siblings explicitly, so the differentiation is implicit rather than spelled out.

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 implies when the tool applies (you want deploy tokens for a single project) but offers no explicit when-to-use/when-not guidance and no pointer to the three near-identical siblings. The '**kwargs: Additional parameters for the request (e.g., project_id)' line is boilerplate that does not help an agent decide between this tool and its alternatives.

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