Skip to main content
Glama
dcianciulli

DefectDojo MCP Server

by dcianciulli

update_engagement

Modify an existing DefectDojo engagement by updating its name, status, target dates, description, or tags.

Instructions

Update an existing engagement (partial update).

Args: engagement_id: The engagement ID name: New name status: New status (Not Started, In Progress, Completed) description: New description target_start: New target start date target_end: New target end date tags: Replace tags

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
tagsNo
statusNo
target_endNo
descriptionNo
target_startNo
engagement_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description should carry the full behavioral burden. It does disclose two useful traits: the update is partial (unmentioned fields are untouched) and tags are replaced rather than appended. However, it says nothing about permission requirements, whether status changes trigger side effects, or reversibility, which matters for a mutation tool with zero annotation coverage.

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?

One front-loaded sentence plus a compact Args list; nothing is padded. The per-parameter lines are terse, though a few (e.g. 'New name') are near-tautological rather than adding real information.

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, and the parameter surface is fully covered. What is missing is the operational context an agent needs before mutating an engagement: permissions, side effects of a status change, and how this tool relates to close_engagement.

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

Parameters4/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: every one of the 7 parameters is described, including the status enum values (Not Started, In Progress, Completed) and the replace-not-append semantics of tags. It falls short of a 5 only because date formats for target_start/target_end are left unspecified.

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 ('Update') and resource ('engagement') and adds the meaningful qualifier 'partial update', so the agent knows supplied fields alone are changed. It does not distinguish itself from close_engagement, which also mutates an engagement, but the core purpose is unambiguous.

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?

No guidance on when to reach for this tool versus close_engagement (which also changes engagement state) or update_organization/update_product. There are no prerequisites, no 'use this when...' framing, and no routing to alternatives despite a crowded sibling set.

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