Skip to main content
Glama
dcianciulli

DefectDojo MCP Server

by dcianciulli

update_finding

Modify an existing DefectDojo finding's severity, description, mitigation, or status to keep vulnerability records accurate.

Instructions

Update an existing finding (partial update).

Args: finding_id: The finding ID title: New title severity: New severity description: New description mitigation: New mitigation text impact: New impact text active: Set active status verified: Set verified status is_mitigated: Set mitigated status tags: Replace tags

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNo
titleNo
activeNo
impactNo
severityNo
verifiedNo
finding_idYes
mitigationNo
descriptionNo
is_mitigatedNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. '(partial update)' usefully implies that only supplied fields are modified and the rest are left untouched, but it says nothing about required permissions, whether changes are reversible, whether clearing a field is possible, or what the response contains.

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?

Purpose is correctly front-loaded in one sentence, and the following Args block is compact. But the Args list largely duplicates the schema property titles, so several lines do not earn their place.

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?

An output schema exists, so return values need not be explained. The description names every parameter, but for a 10-parameter mutation with zero annotations and zero schema descriptions it should say more about side effects, permissions, and how partial updates interact with existing values.

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, and it does list all ten parameters. However most entries are tautological restatements ('title: New title', 'severity: New severity'), with only 'Replace tags' (replacement vs. append) and 'Set active/verified/mitigated status' adding genuine meaning.

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?

States a specific verb+resource ('Update an existing finding') and adds the meaningful qualifier '(partial update)'. It is distinguishable from create_finding/get_finding/delete_finding by the verb alone, but it never names or routes away from overlapping siblings like verify_finding, close_finding, or accept_risk.

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 and no mention of alternatives. An agent cannot tell from this text when to call update_finding versus verify_finding, close_finding, reopen_finding, or accept_risk, all of which touch the same finding entity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.