list_issues
Identify and filter security issues in Intruder accounts by target addresses, tag names, snoozed status, or severity levels for focused vulnerability management.
Instructions
List issues in the Intruder account with optional filters.
Args:
target_addresses: Filter by a list of target addresses
tag_names: Filter by a list of tag names
snoozed: Filter by snoozed status (true or false)
severity: Filter by severity level (one of 'critical', 'high', 'medium', 'low')
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| severity | No | ||
| snoozed | No | ||
| tag_names | No | ||
| target_addresses | No |
Implementation Reference
- intruder_mcp/server.py:39-60 (handler)MCP tool handler implementing list_issues: fetches all issues using filters via API client and returns formatted string list.@mcp.tool() async def list_issues(target_addresses: Optional[List[str]] = None, tag_names: Optional[List[str]] = None, snoozed: Optional[bool] = None, severity: Optional[str] = None) -> str: """ List issues in the Intruder account with optional filters. Args: target_addresses: Filter by a list of target addresses tag_names: Filter by a list of tag names snoozed: Filter by snoozed status (true or false) severity: Filter by severity level (one of 'critical', 'high', 'medium', 'low') """ issues = api.list_issues_all( target_addresses=target_addresses, tag_names=tag_names, snoozed=snoozed, severity=severity ) formatted = [f"{issue.id} - {issue.title} ({issue.severity})" for issue in issues] return "\n".join(formatted)
- intruder_mcp/api_client.py:47-60 (helper)Helper function in API client that paginates and yields all issues matching the filters.def list_issues_all(self, severity: Optional[str] = None, snoozed: Optional[bool] = None, issue_ids: Optional[List[int]] = None, tag_names: Optional[List[str]] = None, target_addresses: Optional[List[str]] = None) -> Generator[Issue, None, None]: offset = 0 while True: response = self.list_issues(severity=severity, snoozed=snoozed, issue_ids=issue_ids, tag_names=tag_names, target_addresses=target_addresses, limit=100, offset=offset) for issue in response.results: yield issue if not response.next: break offset += len(response.results)
- intruder_mcp/enums.py:151-162 (schema)Pydantic model defining the structure of an Issue returned by the API.class Issue(BaseModel): id: int severity: str title: str description: str remediation: str snoozed: bool snooze_reason: Optional[str] = None snooze_until: Optional[date] = None occurrences: Optional[HttpUrl] = None exploit_likelihood: Union[ExploitLikelihoodEnum, None] cvss_score: Optional[float] = None
- intruder_mcp/enums.py:234-236 (schema)Pydantic model for paginated list of issues from the API.class PaginatedIssueList(PaginatedResponse): results: List[Issue]