snooze_issue
Snooze an issue and all its current and future occurrences by selecting a reason: risk acceptance, false positive, or mitigating controls.
Instructions
Snooze an issue and all its current and future occurrences.
Args:
issue_id: The ID of the issue to snooze
reason: Reason for snoozing (required, must one of ACCEPT_RISK, FALSE_POSITIVE, MITIGATING_CONTROLS)
details: Optional details for the snooze
duration: Optional duration for the snooze (in seconds)
duration_type: Optional duration type (e.g., 'days', 'hours')
The reasons mean:
- ACCEPT_RISK - Risk accepted for the issue and all of its occurrences
- FALSE_POSITIVE - False positive - issue and all occurrences have been verified as not exploitable
- MITIGATING_CONTROLS - Mitigating controls are in place
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issue_id | Yes | ||
| reason | Yes | ||
| details | No | ||
| duration | No | ||
| duration_type | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- intruder_mcp/server.py:268-286 (handler)MCP tool handler that snoozes an issue via the Intruder API. Decorated with @mcp.tool() and registered as the 'snooze_issue' tool.
@mcp.tool() async def snooze_issue(issue_id: int, reason: str, details: Optional[str] = None, duration: Optional[int] = None, duration_type: Optional[str] = None) -> str: """ Snooze an issue and all its current and future occurrences. Args: issue_id: The ID of the issue to snooze reason: Reason for snoozing (required, must one of ACCEPT_RISK, FALSE_POSITIVE, MITIGATING_CONTROLS) details: Optional details for the snooze duration: Optional duration for the snooze (in seconds) duration_type: Optional duration type (e.g., 'days', 'hours') The reasons mean: - ACCEPT_RISK - Risk accepted for the issue and all of its occurrences - FALSE_POSITIVE - False positive - issue and all occurrences have been verified as not exploitable - MITIGATING_CONTROLS - Mitigating controls are in place """ result = api.snooze_issue(issue_id, reason=reason, details=details, duration=duration, duration_type=duration_type) return result.get("message", str(result)) - intruder_mcp/server.py:268-286 (registration)Registration of the snooze_issue tool via the @mcp.tool() decorator on line 268. The FastMCP instance is 'mcp', created on line 20.
@mcp.tool() async def snooze_issue(issue_id: int, reason: str, details: Optional[str] = None, duration: Optional[int] = None, duration_type: Optional[str] = None) -> str: """ Snooze an issue and all its current and future occurrences. Args: issue_id: The ID of the issue to snooze reason: Reason for snoozing (required, must one of ACCEPT_RISK, FALSE_POSITIVE, MITIGATING_CONTROLS) details: Optional details for the snooze duration: Optional duration for the snooze (in seconds) duration_type: Optional duration type (e.g., 'days', 'hours') The reasons mean: - ACCEPT_RISK - Risk accepted for the issue and all of its occurrences - FALSE_POSITIVE - False positive - issue and all occurrences have been verified as not exploitable - MITIGATING_CONTROLS - Mitigating controls are in place """ result = api.snooze_issue(issue_id, reason=reason, details=details, duration=duration, duration_type=duration_type) return result.get("message", str(result)) - intruder_mcp/api_client.py:325-327 (helper)API client method that sends a POST request to /issues/{issue_id}/snooze/ using the SnoozeIssueRequest model and returns the JSON response.
def snooze_issue(self, issue_id: int, reason: IssueSnoozeReasonEnum, details: Optional[str] = None, duration: Optional[int] = None, duration_type: Optional[str] = None) -> dict: data = SnoozeIssueRequest(details=details, duration=duration, duration_type=duration_type, reason=reason) return self.client.post(f"{self.base_url}/issues/{issue_id}/snooze/", json=data.dict(exclude_none=True)).json() - intruder_mcp/enums.py:318-322 (schema)Pydantic model for the snooze issue request body with details, duration, duration_type, and reason (IssueSnoozeReasonEnum).
class SnoozeIssueRequest(BaseModel): details: Optional[str] = None duration: Optional[int] = None duration_type: Optional[str] = None # Should match DurationTypeEnum if defined reason: IssueSnoozeReasonEnum - intruder_mcp/enums.py:264-267 (schema)Enum defining the valid reasons for snoozing an issue: ACCEPT_RISK, FALSE_POSITIVE, MITIGATING_CONTROLS.
class IssueSnoozeReasonEnum(str, Enum): ACCEPT_RISK = "ACCEPT_RISK" FALSE_POSITIVE = "FALSE_POSITIVE" MITIGATING_CONTROLS = "MITIGATING_CONTROLS"