Skip to main content
Glama
dcianciulli

DefectDojo MCP Server

by dcianciulli

create_finding

Create a new vulnerability finding in DefectDojo by supplying a title, severity level, and test ID to log security issues against a specific test.

Instructions

Create a new finding.

Args: title: Finding title severity: Severity level (Critical, High, Medium, Low, Info) test_id: ID of the test this finding belongs to description: Detailed description mitigation: Recommended mitigation impact: Impact description steps_to_reproduce: Steps to reproduce references: External references cwe: CWE identifier number active: Whether finding is active (default True) verified: Whether finding is verified (default False) numerical_severity: Numeric severity (S0-S4) line: Source code line number file_path: Source file path component_name: Affected component component_version: Component version static_finding: Is static analysis finding dynamic_finding: Is dynamic analysis finding tags: List of tags

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cweNo
lineNo
tagsNo
titleYes
activeNo
impactNo
test_idYes
severityYes
verifiedNo
file_pathNo
mitigationNo
referencesNo
descriptionNo
component_nameNo
static_findingNo
dynamic_findingNo
component_versionNo
numerical_severityNo
steps_to_reproduceNo

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, and it largely falls short. It confirms the mutation ('Create') but says nothing about permissions required, whether the call is idempotent, what happens on duplicate titles, or any rate/side-effect considerations; the only behavioral hints (active defaults True, verified defaults False) are already present as schema defaults.

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 one-line purpose is front-loaded correctly, but the body is a raw Args dump rather than curated guidance. Most lines add no information beyond the parameter name, so the block is longer than its informational value warrants.

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?

With 19 parameters, no annotations, and an output schema (so return values need not be explained), the description should at least cover invocation context and key parameter semantics. It nominally touches every parameter, which is the minimum, but leaves the agent without usage context or relationship to sibling finding tools.

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% across 19 parameters, so the description must compensate, and it only partially does. It usefully supplies the severity vocabulary (Critical, High, Medium, Low, Info) and the numerical_severity scale (S0-S4), which the schema lacks as enums, but most other entries are bare restatements of the property name ('component_name: Affected component', 'cwe: CWE identifier number').

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 'Create a new finding' gives a specific verb and resource, so the operation is immediately identifiable. However, it offers no differentiation from the many sibling tools that also act on findings (update_finding, get_finding, list_findings, delete_finding), so an agent gets no help routing between them beyond the verb.

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 says nothing about when to use this tool versus update_finding, import_scan, or the various close_finding_* tools. There is no statement of prerequisites, such as the fact that test_id must reference an existing test, nor any exclusion guidance.

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