Skip to main content

Cyberstrike is now open source! AI-powered penetration testing for security professionals. Star on GitHub

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.

> Search for tools that can scan for vulnerabilities

Search by Capability

> Find tools for network reconnaissance

Search Results

Found tools:
1. mcp-kali/nmap - Network scanning and discovery
2. mcp-kali/nuclei - Vulnerability scanning
3. mcp-kali/ffuf - Web fuzzing
4. mcp-burp/scan - Burp Suite scanning

Use Discovered Tool

> Use the nuclei tool to scan target.com

Lazy 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 tools

By Server

> Show tools from mcp-kali server

Tool Details

> Describe the mcp-kali/metasploit tool

Output:

Tool: mcp-kali/metasploit
Description: Metasploit Framework integration
Parameters:
- module: Module path (required)
- options: Module options (optional)
- payload: Payload selection (optional)
Examples:
- Search for exploit
- Run module
- Generate payload

Tool Registry

Built-in Tools

Always available:

ToolPurpose
ReadFile reading
WriteFile writing
EditFile editing
GlobPattern matching
GrepContent search
BashCommand execution

Lazy Tools

Loaded on demand:

ToolTrigger
BrowserWeb navigation requests
BrowserUIInteractive browser requests
MemoryStorage requests
LSPCode navigation requests

MCP Tools

Discovered via MCP:

ServerTools
mcp-kalinmap, nuclei, sqlmap, etc.
mcp-burpscan, spider, intruder
mcp-awsec2, s3, iam

Configuration

Enable Lazy Loading

~/.cyberstrike/config.json
{
"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

.cyberstrike/tools/custom-scanner.json
{
"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.com

Error Handling

Tool Not Found

Error: Tool not found: unknown-tool

Solutions:

  • Check tool name
  • Verify MCP server is running
  • Search for alternatives

Loading Failed

Error: Failed to load Browser tool

Solutions:

  • Check dependencies
  • Verify permissions
  • Review logs

MCP Connection Error

Error: Cannot connect to MCP server: mcp-kali

Solutions:

  • Start MCP server
  • Check connection settings
  • Verify authentication

Performance Considerations

Startup Time

ConfigurationStartup
All tools loaded~3s
Lazy loading enabled~0.5s
Minimal preload~0.3s

Memory Usage

ConfigurationMemory
All tools~500MB
Lazy loading~100MB
As neededVariable

Best Practices

  1. Enable lazy loading for faster startup
  2. Preload frequently used tools
  3. Disable unused tools
  4. Use tool aliases for convenience
  5. Cache search results

Debugging

List Loaded Tools

> Show currently loaded tools

Tool Status

> Show status of all tools

Output:

Tool Status:
- Read: loaded
- Write: loaded
- Bash: loaded
- Browser: lazy (not loaded)
- Memory: loaded
- mcp-kali/nmap: available
- mcp-kali/nuclei: available

Force Reload

> Reload the Browser tool

Tip

Use ToolSearch to discover capabilities you may not know about.