create_scan
Initiate security scans on target addresses or tagged assets to identify vulnerabilities and assess network security posture.
Instructions
Create a new scan.
Args:
target_addresses: List of target addresses to scan
tag_names: List of tag names to scan targets with these tags
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| target_addresses | No | ||
| tag_names | No |
Implementation Reference
- intruder_mcp/server.py:144-155 (handler)The FastMCP tool handler for 'create_scan', which invokes the IntruderAPI to create a scan and returns a confirmation message with the scan ID and type.@mcp.tool() async def create_scan(target_addresses: Optional[List[str]] = None, tag_names: Optional[List[str]] = None) -> str: """ Create a new scan. Args: target_addresses: List of target addresses to scan tag_names: List of tag names to scan targets with these tags """ scan = api.create_scan(target_addresses=target_addresses, tag_names=tag_names) return f"Created scan {scan.id} ({scan.scan_type})"
- intruder_mcp/enums.py:142-145 (schema)Pydantic model defining the input schema (ScanRequest) for the create_scan API request, used in the helper to validate and serialize parameters.class ScanRequest(BaseModel): target_addresses: Optional[List[str]] = None tag_names: Optional[List[str]] = Field(None, min_items=1)
- intruder_mcp/api_client.py:180-183 (helper)The IntruderAPI.create_scan helper method that uses ScanRequest to POST to the Intruder API's /scans/ endpoint to create the scan.def create_scan(self, target_addresses: Optional[List[str]] = None, tag_names: Optional[List[str]] = None) -> Scan: data = ScanRequest(target_addresses=target_addresses, tag_names=tag_names) return Scan(**self.client.post(f"{self.base_url}/scans/", json=data.dict(exclude_none=True)).json())