Skip to main content
Glama

Delete Merge Request

gitlab_graphql_ops_delete_merge_request
DestructiveIdempotent

Deletes a GitLab merge request through a typed GraphQL operation, using JSON parameters to identify the target request.

Instructions

Delete merge request (gitlab_graphql_ops). Run a typed GitLab GraphQL operation by name.

The GraphQL-native counterpart to the REST gitlab_ tools — prefer it for GraphQL-only capabilities (merge-request update/delete, pipeline retry/cancel, member add/update/delete) and rich nested reads. Parameters in params_json are passed as keyword arguments to the named operation; a few operations that take a single typed model (e.g. get_project) build it from those same kwargs automatically.

Input Schema

NameRequiredDescriptionDefault
params_jsonNoJSON string of parameters to pass to the action.{}

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv27.3.13

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description adds the dispatch mechanism (params become kwargs on a named operation, some ops build a typed model from them), which is useful behavioral context, but it never states what gets destroyed, whether the source branch is affected, or what the call returns — for an irreversible delete that is a notable omission.

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 action is front-loaded in the first clause, which is good, but the redundant parenthetical "(gitlab_graphql_ops)" and the long generic paragraph about REST counterparts and kwarg conventions dilute focus. Much of the text would read identically on every sibling ops tool rather than earning its place here.

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?

This is a destructive operation behind an opaque single JSON-blob parameter with no output schema. The description does not tell the agent which kwargs are required to identify the merge request, what the response contains, or what permissions are needed — the essential call-shaping information is missing.

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

Parameters3/5

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

Schema coverage is 100% and there is only one parameter, so baseline is 3. The description does add value by explaining that params_json entries are passed as keyword arguments to the named operation, but it never names the keys this particular operation needs (project path, MR iid), leaving the agent to discover them elsewhere.

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 sentence names a specific verb and resource ("Delete merge request"), so the core action is unambiguous. The rest of the text is family-level boilerplate about typed GraphQL operations rather than anything specific to merge-request deletion, and it never contrasts this with the many REST `gitlab_delete_*` siblings, so differentiation is only partial.

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

Usage Guidelines3/5

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

It does give a selection rule — prefer the GraphQL-native path for GraphQL-only capabilities, explicitly listing merge-request delete — which is real routing guidance. However it says nothing about prerequisites (permissions, ownership), nothing about MRs normally being closed rather than deleted, and no when-not-to-use condition, so the guidance stays at the family level.

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