Dynamic Tool Loading
Cyberstrike supports dynamic tool loading through the ToolSearch tool and MCP integration, enabling access to specialized capabilities on demand.
📊 DIAGRAM: tool-loading.mmd
Dynamic tool loading architecture
Overview
Dynamic tool loading provides:
- On-demand tool discovery
- MCP server integration
- Lazy initialization
- Reduced memory footprint
- Extended capabilities
ToolSearch
The ToolSearch tool discovers available tools across MCP servers.
Basic Search
> Search for tools that can scan for vulnerabilitiesSearch by Capability
> Find tools for network reconnaissanceSearch Results
Found tools:1. mcp-kali/nmap - Network scanning and discovery2. mcp-kali/nuclei - Vulnerability scanning3. mcp-kali/ffuf - Web fuzzing4. mcp-burp/scan - Burp Suite scanningUse Discovered Tool
> Use the nuclei tool to scan target.comLazy Loading
Tools are loaded on first use:
Initial State
Available tools:- Read (loaded)- Write (loaded)- Bash (loaded)- Browser (lazy)- Memory (lazy)- MCP tools (lazy)After Use
> Launch the browser
[Loading Browser tool...][Browser ready]Benefits
- Faster startup
- Lower memory usage
- Tools loaded as needed
- Graceful degradation
MCP Tool Discovery
List MCP Tools
> Show all available MCP toolsBy Server
> Show tools from mcp-kali serverTool Details
> Describe the mcp-kali/metasploit toolOutput:
Tool: mcp-kali/metasploitDescription: Metasploit Framework integrationParameters: - module: Module path (required) - options: Module options (optional) - payload: Payload selection (optional)Examples: - Search for exploit - Run module - Generate payloadTool Registry
Built-in Tools
Always available:
| Tool | Purpose |
|---|---|
| Read | File reading |
| Write | File writing |
| Edit | File editing |
| Glob | Pattern matching |
| Grep | Content search |
| Bash | Command execution |
Lazy Tools
Loaded on demand:
| Tool | Trigger |
|---|---|
| Browser | Web navigation requests |
| BrowserUI | Interactive browser requests |
| Memory | Storage requests |
| LSP | Code navigation requests |
MCP Tools
Discovered via MCP:
| Server | Tools |
|---|---|
| mcp-kali | nmap, nuclei, sqlmap, etc. |
| mcp-burp | scan, spider, intruder |
| mcp-aws | ec2, s3, iam |
Configuration
Enable Lazy Loading
{ "tools": { "lazyLoad": true, "preload": ["Read", "Write", "Bash"] }}Tool Aliases
{ "tools": { "aliases": { "scan": "mcp-kali/nmap", "fuzz": "mcp-kali/ffuf", "exploit": "mcp-kali/metasploit" } }}Disable Tools
{ "tools": { "disabled": ["BrowserUI", "mcp-kali/metasploit"] }}Search Optimization
Caching
Tool search results are cached:
{ "tools": { "searchCache": { "enabled": true, "ttl": 3600 } }}Prefetch
Prefetch commonly used tools:
{ "tools": { "prefetch": ["Browser", "Memory"] }}Custom Tool Registration
Register Tool
{ "name": "custom-scanner", "description": "Custom vulnerability scanner", "command": "./scripts/scanner.sh", "parameters": { "target": { "type": "string", "required": true }, "profile": { "type": "string", "default": "standard" } }}Use Custom Tool
> Use custom-scanner to scan target.comError Handling
Tool Not Found
Error: Tool not found: unknown-toolSolutions:
- Check tool name
- Verify MCP server is running
- Search for alternatives
Loading Failed
Error: Failed to load Browser toolSolutions:
- Check dependencies
- Verify permissions
- Review logs
MCP Connection Error
Error: Cannot connect to MCP server: mcp-kaliSolutions:
- Start MCP server
- Check connection settings
- Verify authentication
Performance Considerations
Startup Time
| Configuration | Startup |
|---|---|
| All tools loaded | ~3s |
| Lazy loading enabled | ~0.5s |
| Minimal preload | ~0.3s |
Memory Usage
| Configuration | Memory |
|---|---|
| All tools | ~500MB |
| Lazy loading | ~100MB |
| As needed | Variable |
Best Practices
- Enable lazy loading for faster startup
- Preload frequently used tools
- Disable unused tools
- Use tool aliases for convenience
- Cache search results
Debugging
List Loaded Tools
> Show currently loaded toolsTool Status
> Show status of all toolsOutput:
Tool Status:- Read: loaded- Write: loaded- Bash: loaded- Browser: lazy (not loaded)- Memory: loaded- mcp-kali/nmap: available- mcp-kali/nuclei: availableForce Reload
> Reload the Browser toolTip
Use ToolSearch to discover capabilities you may not know about.
Related Documentation
- Tools Overview - All tools
- MCP Integration - MCP servers
- Configuration - Tool settings