snooze_occurrence
Temporarily pause a specific occurrence of an issue on Intruder MCP by providing a reason (e.g., accepted risk, false positive, mitigating controls) and optional details or duration.
Instructions
Snooze a specific occurrence of an issue.
Args:
issue_id: The ID of the issue
occurrence_id: The ID of the occurrence to snooze
reason: Reason for snoozing (required, must be 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 |
|---|---|---|---|
| details | No | ||
| duration | No | ||
| duration_type | No | ||
| issue_id | Yes | ||
| occurrence_id | Yes | ||
| reason | Yes |
Input Schema (JSON Schema)
{
"properties": {
"details": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Details"
},
"duration": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Duration"
},
"duration_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Duration Type"
},
"issue_id": {
"title": "Issue Id",
"type": "integer"
},
"occurrence_id": {
"title": "Occurrence Id",
"type": "integer"
},
"reason": {
"title": "Reason",
"type": "string"
}
},
"required": [
"issue_id",
"occurrence_id",
"reason"
],
"title": "snooze_occurrenceArguments",
"type": "object"
}
Implementation Reference
- intruder_mcp/server.py:282-301 (handler)The main MCP tool handler decorated with @mcp.tool(). It calls the api_client to snooze the occurrence and returns a message.@mcp.tool() async def snooze_occurrence(issue_id: int, occurrence_id: int, reason: str, details: Optional[str] = None, duration: Optional[int] = None, duration_type: Optional[str] = None) -> str: """ Snooze a specific occurrence of an issue. Args: issue_id: The ID of the issue occurrence_id: The ID of the occurrence to snooze reason: Reason for snoozing (required, must be 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_occurrence(issue_id, occurrence_id, reason=reason, details=details, duration=duration, duration_type=duration_type) return result.get("message", str(result))
- intruder_mcp/enums.py:274-278 (schema)Pydantic schema/model for the request data sent to the Intruder API for snoozing an occurrence.class SnoozeOccurrenceRequest(BaseModel): details: Optional[str] = None duration: Optional[int] = None duration_type: Optional[str] = None # Should match DurationTypeEnum if defined reason: OccurrencesSnoozeReasonEnum
- intruder_mcp/api_client.py:295-297 (helper)Helper method in the API client that constructs the request using the schema and makes the HTTP POST to the Intruder API endpoint.def snooze_occurrence(self, issue_id: int, occurrence_id: int, reason: OccurrencesSnoozeReasonEnum, details: Optional[str] = None, duration: Optional[int] = None, duration_type: Optional[str] = None) -> dict: data = SnoozeOccurrenceRequest(details=details, duration=duration, duration_type=duration_type, reason=reason) return self.client.post(f"{self.base_url}/issues/{issue_id}/occurrences/{occurrence_id}/snooze/", json=data.dict(exclude_none=True)).json()