get_scan_result
Retrieve a specific SQL injection scan result by providing its scan ID to review previous vulnerability findings.
Instructions
Retrieve a previous scan result by ID.
Args: scan_id: Scan ID from a previous scan
Returns: Scan result details
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes |
Implementation Reference
- src/sqli_mcp/server.py:465-478 (handler)The handler function that retrieves a previous scan result by ID from the in-memory scan_results dictionary. Registered as an MCP tool via @mcp.tool().
@mcp.tool() def get_scan_result(scan_id: str) -> dict: """ Retrieve a previous scan result by ID. Args: scan_id: Scan ID from a previous scan Returns: Scan result details """ if scan_id in scan_results: return scan_results[scan_id].model_dump() return {"error": f"Scan ID {scan_id} not found"} - src/sqli_mcp/server.py:465-465 (registration)Registration of get_scan_result as an MCP tool via @mcp.tool() decorator on the FastMCP instance.
@mcp.tool() - src/sqli_mcp/models.py:100-109 (schema)The ScanResult Pydantic model that defines the schema for scan results returned by get_scan_result.
class ScanResult(BaseModel): """Result of a SQL injection scan.""" scan_id: str = Field(..., description="Unique scan identifier") target_url: str = Field(..., description="Scanned URL") parameters_tested: list[str] = Field(default_factory=list, description="Parameters tested") payloads_tested: int = Field(default=0, description="Number of payloads tested") vulnerabilities: list[VulnerabilityFinding] = Field(default_factory=list, description="Found vulnerabilities") errors: list[str] = Field(default_factory=list, description="Errors during scan") duration_seconds: float = Field(default=0.0, description="Scan duration") - src/sqli_mcp/server.py:24-24 (helper)The in-memory dictionary that stores ScanResult objects, used by get_scan_result to look up results by scan_id.
scan_results: dict[str, ScanResult] = {}