list_scans
Retrieve and filter security scans from Intruder to monitor assessment progress, identify new service exposures, and track cloud configuration checks.
Instructions
List scans in the Intruder account with optional filters.
Args:
status: Filter by scan status (in_progress, completed, cancelled, cancelled_no_active_targets,
cancelled_no_valid_targets, analysing_results)
scan_type: Filter by scan type (assessment_schedule, new_service, cloudbot_new_target,
rapid_remediation, advisory, cloud_security)
The scan_type parameters mean:
- assessment_schedule: Scans that run on a regular schedule
- new_service: Scans that are triggered when a new service is exposed on a target
- cloudbot_new_target: Scans that are triggered when CloudBot discovers a new target in a connected cloud account
- rapid_remediation: Scans that a user can trigger to test if a specific issue has been remediated
- advisory: An issue created by the Intruder security team based on their manual work
- cloud_security: Scans of cloud accounts, checking the configuration of the resources in the cloud account
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | ||
| scan_type | No |
Implementation Reference
- intruder_mcp/server.py:62-83 (handler)The main handler function for the 'list_scans' MCP tool. It accepts optional status and scan_type parameters, calls the API helper to fetch all matching scans, formats them into a readable string list, and returns it. The docstring provides detailed schema information for inputs.@mcp.tool() async def list_scans(status: Optional[str] = None, scan_type: Optional[str] = None) -> str: """ List scans in the Intruder account with optional filters. Args: status: Filter by scan status (in_progress, completed, cancelled, cancelled_no_active_targets, cancelled_no_valid_targets, analysing_results) scan_type: Filter by scan type (assessment_schedule, new_service, cloudbot_new_target, rapid_remediation, advisory, cloud_security) The scan_type parameters mean: - assessment_schedule: Scans that run on a regular schedule - new_service: Scans that are triggered when a new service is exposed on a target - cloudbot_new_target: Scans that are triggered when CloudBot discovers a new target in a connected cloud account - rapid_remediation: Scans that a user can trigger to test if a specific issue has been remediated - advisory: An issue created by the Intruder security team based on their manual work - cloud_security: Scans of cloud accounts, checking the configuration of the resources in the cloud account """ scans = api.list_scans_all(status=status, scan_type=scan_type) formatted = [f"{scan.id} - {scan.scan_type} ({scan.status})" for scan in scans] return "\n".join(formatted)
- intruder_mcp/api_client.py:144-155 (helper)Supporting helper method in IntruderAPI class that paginates through all scans using the API, yielding ScanList objects filtered by scan_type, schedule_period, or status. Called by the tool handler.def list_scans_all(self, scan_type: Optional[str] = None, schedule_period: Optional[str] = None, status: Optional[str] = None) -> Generator[ScanList, None, None]: offset = 0 while True: response = self.list_scans(scan_type=scan_type, schedule_period=schedule_period, status=status, limit=100, offset=offset) for scan in response.results: yield scan if not response.next: break offset += len(response.results)
- intruder_mcp/enums.py:22-28 (schema)Pydantic enum defining valid scan_type values for input validation in list_scans tool and API calls.class ScanTypeEnum(str, Enum): ASSESSMENT_SCHEDULE = "assessment_schedule" NEW_SERVICE = "new_service" CLOUDBOT_NEW_TARGET = "cloudbot_new_target" RAPID_REMEDIATION = "rapid_remediation" ADVISORY = "advisory" CLOUD_SECURITY = "cloud_security"
- intruder_mcp/enums.py:14-20 (schema)Pydantic enum defining valid status values for input validation in list_scans tool and API calls.class ScanStatusField(str, Enum): IN_PROGRESS = "in_progress" COMPLETED = "completed" CANCELLED = "cancelled" CANCELLED_NO_ACTIVE_TARGETS = "cancelled_no_active_targets" CANCELLED_NO_VALID_TARGETS = "cancelled_no_valid_targets" ANALYSING_RESULTS = "analysing_results"
- intruder_mcp/server.py:62-62 (registration)The @mcp.tool() decorator registers the list_scans function as an MCP tool.@mcp.tool()