Skip to main content
Glama

Delete user

gitlab_delete_user
DestructiveIdempotent

Deletes a GitLab user by ID or username, requiring explicit confirmation for this destructive action. Use it to remove accounts when deprovisioning or cleaning up GitLab access.

Instructions

Delete a user.

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

Input Schema

NameRequiredDescriptionDefault
dataNo
nameNo
pageNo
sortNo
sudoNo
adminNo
emailNo
activeNo
adminsNo
humansNo
blockedNo
confirmNoExplicitly confirm this destructive operation. Needed only when the client cannot answer a confirmation prompt.
user_idNo
externalNo
order_byNo
passwordNo
per_pageNo
providerNo
usernameNo
max_pagesNo
extern_uidNo
two_factorNo
total_pagesNo
created_afterNo
created_beforeNo
exclude_externalNo
exclude_internalNo
saml_provider_idNo
without_projectsNo
skips_confirmationNo
without_project_botsNo
with_custom_attributesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv27.3.20
    • removedInput schema / properties / api_parameters
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": true,
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • changedInput schema / properties / sudo / default
      Previous value: -falseNew value: +null
  2. Changed1 schema field changedv27.3.18
    • addedInput schema / properties / confirm
      Added value: +{
      +  "default": false,
      +  "description": "Explicitly confirm this destructive operation. Needed only when the client cannot answer a confirmation prompt.",
      +  "type": "boolean"
      +}
  3. First observedv27.3.13

TDQS

D1.6/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=true and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing on top of that: not what is destroyed (memberships, owned projects, contributions), not that it is irreversible, not the admin requirement.

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 single sentence is free of padding, but its brevity is under-specification rather than concision. There is nothing front-loaded because there is no content beyond the name.

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?

A destructive, high-blast-radius operation with 32 parameters, zero required fields, no output schema, and a confirmation escape hatch is left entirely undocumented. An agent cannot determine how to target the right user or how to handle confirmation from this description.

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 3% across 32 parameters, so the description carries the full burden and fails it entirely. It does not even identify user_id as the operand, nor explain what the pagination/filter parameters (page, per_page, sort, order_by, active, blocked, humans, external, etc.) are doing on a delete endpoint.

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?

"Delete a user." restates the tool name and title almost verbatim, adding no scope, no mention of which identifier selects the user, and no differentiation from siblings such as gitlab_update_user or gitlab_get_user. A verb+resource is present, but it is tautological rather than clarifying.

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?

There is no when-to-use guidance, no prerequisite or permission context (user deletion in GitLab normally requires admin), and no pointer to alternatives or to the confirmation workflow implied by the 'confirm' parameter.

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