Skip to main content
Glama
intruder-io

intruder-mcp

Official

snooze_occurrence

Temporarily postpone a specific security issue occurrence in Intruder.IO by specifying a reason like false positive, accepted risk, or mitigating controls, with optional duration and details.

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

TableJSON Schema
NameRequiredDescriptionDefault
issue_idYes
occurrence_idYes
reasonYes
detailsNo
durationNo
duration_typeNo

Implementation Reference

  • The MCP tool handler for 'snooze_occurrence', decorated with @mcp.tool() for automatic registration. It calls the IntruderAPI to snooze a specific occurrence and returns the result 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))
  • Pydantic schema models (OccurrencesSnoozeReasonEnum and SnoozeOccurrenceRequest) defining the input validation for snoozing occurrences, used by the API client.
    class OccurrencesSnoozeReasonEnum(str, Enum):
        ACCEPT_RISK = "ACCEPT_RISK"
        FALSE_POSITIVE = "FALSE_POSITIVE"
        MITIGATING_CONTROLS = "MITIGATING_CONTROLS"
    
    class SnoozeIssueRequest(BaseModel):
        details: Optional[str] = None
        duration: Optional[int] = None
        duration_type: Optional[str] = None  # Should match DurationTypeEnum if defined
        reason: IssueSnoozeReasonEnum
    
    class SnoozeOccurrenceRequest(BaseModel):
        details: Optional[str] = None
        duration: Optional[int] = None
        duration_type: Optional[str] = None  # Should match DurationTypeEnum if defined
        reason: OccurrencesSnoozeReasonEnum 
  • IntruderAPI helper method that constructs the request using the schema and performs the HTTP POST to the Intruder API endpoint for snoozing an occurrence.
    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() 

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/intruder-io/intruder-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server