Skip to main content
Glama
dcianciulli

DefectDojo MCP Server

by dcianciulli

create_risk_acceptance

Create a new risk acceptance record in DefectDojo to formally accept specific findings, specifying owner, decision, and optional expiration details.

Instructions

Create a new risk acceptance (low-level: prefer accept_risk, which enforces expiration).

Args: name: Risk acceptance name owner_id: Owner user ID accepted_findings: List of finding IDs to accept recommendation: Security recommendation code (A, V, M, F, T) recommendation_details: Details about the recommendation decision: Risk treatment decision code (A, V, M, F, T) decision_details: Details about the decision / compensating controls expiration_date: Expiration date (YYYY-MM-DD or ISO datetime; mandatory in accept_risk) accepted_by: Name/email of the person accepting the risk reactivate_expired: Reactivate findings when the acceptance expires (default True) restart_sla_expired: Restart SLA when the acceptance expires (default False)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
decisionNo
owner_idYes
accepted_byNo
recommendationNo
expiration_dateNo
decision_detailsNo
accepted_findingsYes
reactivate_expiredNo
restart_sla_expiredNo
recommendation_detailsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior3/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. It does disclose key traits beyond the schema: this is a low-level operation, accept_risk enforces expiration, and reactivate_expired/restart_sla_expired control what happens to findings when an acceptance expires. However, it omits permissions required, side effects on the accepted findings, failure modes, and reversibility.

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?

The purpose and alternative-tool guidance are front-loaded, and the remaining content is an efficient Args list where each line earns its place. The description is dense but appropriately sized for an 11-parameter tool with zero schema descriptions.

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

Completeness4/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. For a complex creation tool with 11 undocumented parameters and no annotations, the description covers purpose, alternative, and all parameters well. It still lacks behavioral coverage around permissions and side effects, which is the main remaining gap.

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

Parameters5/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 fully compensate. It documents all 11 parameters with meaningful semantics: what each field represents, valid recommendation/decision codes (A, V, M, F, T), expiration date format, default values for the boolean flags, and which field is mandatory in the recommended alternative.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb and resource: 'Create a new risk acceptance.' The parenthetical immediately distinguishes it from the sibling accept_risk by noting this tool is 'low-level' and that accept_risk enforces expiration, so an agent can route correctly without opening the schema.

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

Usage Guidelines4/5

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

The description explicitly says to prefer accept_risk because it enforces expiration, giving a clear condition for choosing the alternative. It does not mention the other sibling accept_risks_vulnerability, nor does it spell out precisely when this low-level tool should be used instead (e.g., only when bypassing automatic expiration is required).

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