Skip to main content
Glama

Dismiss Vulnerability

gitlab_dismiss_vulnerability

Dismiss a GitLab project vulnerability with a required reason and optional comment to record why it is not actionable.

Instructions

Dismiss a vulnerability of project_id with a reason (acceptable_risk, false_positive, used_in_tests, mitigating_control, not_applicable) and an optional comment. Ultimate.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "vulnerability_id": "<vulnerability_id>",
      "reason": "<reason>"
    },
    "name": "gitlab_dismiss_vulnerability"
  }
}

Input Schema

NameRequiredDescriptionDefault
reasonYes
commentNo
project_idNo
vulnerability_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.7.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the description carries a lighter burden. It adds the 'Ultimate' tier requirement, which annotations do not express, but says nothing about whether a dismissal can be reversed, whether a comment is mandatory for certain reasons, or what state the vulnerability ends up in.

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

Conciseness4/5

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

A single compact sentence with the action front-loaded and no filler. The bare 'Ultimate.' fragment is terse to the point of being cryptic, though its meaning is recoverable.

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

Completeness3/5

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

For a four-parameter mutation with no output schema and zero schema documentation, the description is minimally adequate: it identifies the action, the required choice, and the edition gate. It omits outcome and reversibility details an agent would want before changing vulnerability state.

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 description coverage is 0%, so the description must compensate. It enumerates the reason choices and flags comment as optional, but those values are already in the schema's enum, and it never explains vulnerability_id or that project_id is nullable and not required.

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 description names a specific verb (dismiss) and resource (vulnerability) and anchors it to project_id, so the action is unmistakable. It does not differentiate from the sibling gitlab_confirm_vulnerability, which is a nearby state-changing action on the same resource.

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?

Usage is only implied by the verb; there is no explicit when-to-dismiss versus when-to-confirm guidance and no stated prerequisites beyond the 'Ultimate' edition note. The edition constraint is genuinely useful context, but the agent is left to infer the decision criteria.

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