create_scan
Initiate a new scan on Intruder.IO, specifying target addresses and tags to assess network security vulnerabilities systematically.
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 |
|---|---|---|---|
| tag_names | No | ||
| target_addresses | No |
Implementation Reference
- intruder_mcp/server.py:144-155 (handler)MCP tool handler for 'create_scan'. Decorated with @mcp.tool() for registration. Calls the API client to create a scan and returns a formatted string with 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 used as input schema for the create_scan API request, matching the tool 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)Helper method in IntruderAPI client that sends POST request to the Intruder API to create a scan, used by the tool handler.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())
- intruder_mcp/enums.py:125-134 (schema)Pydantic model for the Scan response object returned by the API.class Scan(BaseModel): id: int status: ScanStatusField created_at: datetime target_addresses: Optional[List[str]] = None scan_type: ScanTypeEnum schedule_period: SchedulePeriodEnum start_time: Optional[datetime] = None completed_time: Optional[datetime] = None