select_tools
Selects optimal security testing tools based on target domain, IP, or URL and scan objectives like comprehensive, fast, stealth, or targeted assessments.
Instructions
AI-powered tool selection based on target profile.
Args: target: Target domain, IP, or URL objective: Scan objective (comprehensive, fast, stealth, targeted)
Returns: Optimized tool selection with recommendations
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| objective | No | comprehensive | |
| target | Yes |
Implementation Reference
- src/mcp_server/app.py:1513-1535 (handler)The handler function for the MCP tool 'select_tools'. It accepts target and objective parameters, logs the action, sends a POST request to the REST API intelligence endpoint for tool selection, and returns the result.def select_tools(target: str, objective: str = "comprehensive") -> dict[str, Any]: """AI-powered tool selection based on target profile. Args: target: Target domain, IP, or URL objective: Scan objective (comprehensive, fast, stealth, targeted) Returns: Optimized tool selection with recommendations """ data = {"target": target, "objective": objective} logger.info( f"🔧 Selecting optimal tools for {target} with {objective} objective" ) result = api_client.safe_post("api/intelligence/select-tools", data) if result.get("success"): logger.info(f"✅ Tool selection completed for {target}") else: logger.error(f"❌ Tool selection failed for {target}") return result
- src/mcp_server/app.py:1513-1513 (registration)The @mcp.tool() decorator registers the select_tools function as an MCP tool.def select_tools(target: str, objective: str = "comprehensive") -> dict[str, Any]:
- src/mcp_server/app.py:1515-1523 (schema)The docstring defines the input schema (parameters: target (str), objective (str, default='comprehensive')) and output (dict[str, Any]) for the tool.Args: target: Target domain, IP, or URL objective: Scan objective (comprehensive, fast, stealth, targeted) Returns: Optimized tool selection with recommendations """ data = {"target": target, "objective": objective}