Complete reference for all 139 MCP tools available in Zebbern-MCP.
| Category | Tools | Description |
|---|---|---|
| Command Execution | 2 | Direct command execution |
| Reconnaissance | 13 | Network and host discovery |
| Web Application | 9 | Web vulnerability scanning |
| API Security | 12 | API testing and fuzzing |
| Credential Attacks | 3 | Password cracking and brute-force |
| SSH Security | 1 | SSH configuration auditing |
| Active Directory | 10 | AD enumeration and attacks |
| Exploitation | 11 | Exploit discovery and execution |
| Metasploit | 6 | Metasploit framework control |
| Reverse Shells | 11 | Shell listeners and management |
| SSH Sessions | 8 | Remote SSH session control |
| Payloads | 5 | Payload generation |
| Pivoting | 14 | Network tunneling and pivoting |
| Evidence | 6 | Artifact collection |
| Database | 14 | Targets, findings, credentials |
| Sessions | 6 | Session save/restore |
| JavaScript Analysis | 5 | JS file analysis |
| System | 3 | Health and network info |
Execute any command on the Kali system.
kali_exec(command: str) -> Dict| Parameter | Type | Required | Description |
|---|---|---|---|
command |
str | Yes | Command to execute |
Example:
> Execute: whoami && id
Response:
{
"success": true,
"output": "root\nuid=0(root) gid=0(root) groups=0(root)"
}Execute command with real-time streaming output.
kali_exec_streaming(command: str) -> Dict!!! tip "Use for Long-Running Commands" Use this for commands that take a long time (nmap, nikto, etc.) to see output as it happens.
Run nmap port and service scans.
tools_nmap(
target: str,
scan_type: str = "-sV",
ports: str = "",
additional_args: str = ""
) -> Dict| Parameter | Type | Default | Description |
|---|---|---|---|
target |
str | Required | IP, hostname, or CIDR range |
scan_type |
str | -sV |
Scan type flags |
ports |
str | All | Port specification (e.g., "80,443" or "1-1000") |
additional_args |
str | None | Extra nmap arguments |
Common Scan Types:
| Flag | Description |
|---|---|
-sV |
Version detection |
-sS |
SYN stealth scan |
-sU |
UDP scan |
-A |
Aggressive (OS, version, script, traceroute) |
-sC |
Default scripts |
Example:
> Scan 192.168.1.1 for common ports with version detection
Discover subdomains using multiple sources.
tools_subfinder(
target: str,
additional_args: str = ""
) -> DictExample:
> Find subdomains for example.com
Probe HTTP endpoints for live hosts.
tools_httpx(
target: str,
additional_args: str = ""
) -> DictExample:
> Probe which subdomains are alive: sub1.example.com, sub2.example.com
Find related domains and subdomains.
tools_assetfinder(
domain: str,
additional_args: str = ""
) -> DictFetch historical URLs from Wayback Machine.
tools_waybackurls(
domain: str,
additional_args: str = ""
) -> DictDNS reconnaissance and zone transfer attempts.
tools_fierce(
domain: str,
additional_args: str = ""
) -> DictWindows/Samba enumeration.
tools_enum4linux(
target: str,
additional_args: str = "-a"
) -> DictDetect web technologies (CMS, frameworks, servers).
fingerprint_url(
url: str,
deep_scan: bool = False
) -> DictResponse includes:
- Server software
- CMS (WordPress, Drupal, etc.)
- JavaScript frameworks
- WAF detection
Get Kali system network configuration.
get_network_info() -> DictWeb server vulnerability scanner.
tools_nikto(
target: str,
additional_args: str = ""
) -> DictExample:
> Scan https://example.com with nikto
Directory and file brute-forcing.
tools_gobuster(
url: str,
mode: str = "dir",
wordlist: str = "/usr/share/wordlists/dirb/common.txt",
additional_args: str = ""
) -> Dict| Mode | Description |
|---|---|
dir |
Directory enumeration |
dns |
DNS subdomain brute-force |
vhost |
Virtual host discovery |
Alternative directory scanner.
tools_dirb(
url: str,
wordlist: str = "/usr/share/wordlists/dirb/common.txt",
additional_args: str = ""
) -> DictFast web fuzzer.
tools_ffuf(
url: str,
wordlist: str = "/usr/share/wordlists/dirb/common.txt",
additional_args: str = ""
) -> Dict!!! tip "FUZZ Keyword"
Use FUZZ in the URL where you want to inject: http://example.com/FUZZ
SQL injection detection and exploitation.
tools_sqlmap(
url: str,
data: str = "",
additional_args: str = ""
) -> Dict| Parameter | Description |
|---|---|
url |
Target URL with parameters |
data |
POST data |
additional_args |
Extra flags (--dbs, --tables, etc.) |
Example:
> Test http://example.com/page?id=1 for SQL injection
WordPress vulnerability scanner.
tools_wpscan(
url: str,
additional_args: str = ""
) -> DictTemplate-based vulnerability scanner.
tools_nuclei(
target: str,
templates: str = "",
severity: str = "",
additional_args: str = ""
) -> Dict| Parameter | Example |
|---|---|
severity |
critical,high,medium |
templates |
cves/, exposed-panels/ |
Bypass 403/401 responses.
tools_byp4xx(
url: str,
method: str = "GET",
additional_args: str = ""
) -> DictSubdomain takeover detection.
tools_subzy(
target: str,
additional_args: str = ""
) -> DictHidden parameter discovery.
tools_arjun(
url: str,
method: str = "GET",
additional_args: str = ""
) -> DictComprehensive API security scan.
api_full_scan(
target: str,
openapi_spec: str = "",
wordlist: str = "",
auth_header: str = ""
) -> DictRuns: Arjun, FFUF, Nuclei, Kiterunner, rate limit testing.
Fuzz API based on OpenAPI specification.
api_fuzz_openapi(
spec_url: str,
additional_args: str = ""
) -> DictDiscover API endpoints with Kiterunner.
api_kiterunner_scan(
target: str,
wordlist: str = "",
assetnote: bool = True,
content_types: str = "json",
max_connection_per_host: int = 3,
additional_args: str = ""
) -> DictAnalyze JWT token structure.
api_jwt_analyze(token: str) -> DictReturns:
- Header (algorithm, type)
- Payload (claims)
- Signature status
- Known vulnerabilities
Attempt to crack JWT secret.
api_jwt_crack(
token: str,
wordlist: str = "/usr/share/wordlists/rockyou.txt",
max_attempts: int = 10000
) -> DictGraphQL schema introspection.
api_graphql_introspect(
url: str,
additional_args: str = ""
) -> DictTest API rate limiting.
api_test_rate_limit(
url: str,
requests_count: int = 100,
delay_ms: int = 0
) -> DictRun Postman collection with Newman.
api_newman_run(
collection: str,
environment: str = "",
iterations: int = 1
) -> DictNetwork service brute-forcer.
tools_hydra(
target: str,
service: str,
username: str = "",
username_list: str = "",
password: str = "",
password_list: str = "",
additional_args: str = ""
) -> Dict| Service | Examples |
|---|---|
ssh |
SSH login |
ftp |
FTP login |
http-post-form |
Web forms |
smb |
Windows shares |
rdp |
Remote desktop |
Password hash cracker.
tools_john(
hash_file: str,
wordlist: str = "/usr/share/wordlists/rockyou.txt",
format: str = "",
additional_args: str = ""
) -> DictGPU-accelerated hash cracking.
tools_hashcat(
hash_file: str,
hash_type: int,
wordlist: str = "",
additional_args: str = ""
) -> DictSSH server configuration auditor.
tools_ssh_audit(
target: str,
port: int = 22,
additional_args: str = ""
) -> DictChecks:
- Key exchange algorithms
- Encryption algorithms
- MAC algorithms
- Host key types
- Known vulnerabilities
AS-REP Roasting attack.
ad_asreproast(
domain: str,
dc_ip: str,
username: str = "",
password: str = "",
additional_args: str = ""
) -> DictKerberoasting attack.
ad_kerberoast(
domain: str,
dc_ip: str,
username: str,
password: str,
additional_args: str = ""
) -> DictLDAP enumeration.
ad_ldap_enum(
dc_ip: str,
domain: str,
username: str = "",
password: str = "",
query_type: str = "users"
) -> Dict| query_type | Description |
|---|---|
users |
Domain users |
groups |
Domain groups |
computers |
Domain computers |
spns |
Service Principal Names |
Collect BloodHound data.
ad_bloodhound_collect(
domain: str,
dc_ip: str,
username: str,
password: str,
collection_method: str = "All"
) -> DictPassword spraying attack.
ad_password_spray(
domain: str,
dc_ip: str,
user_list: str,
password: str,
additional_args: str = ""
) -> DictDump secrets from domain controller.
ad_secrets_dump(
dc_ip: str,
domain: str,
username: str,
password: str,
additional_args: str = ""
) -> DictCheck AD tools availability.
ad_tools_status() -> DictSearch Exploit-DB.
tools_searchsploit(
query: str,
additional_args: str = ""
) -> DictExample:
> Search for Apache 2.4 exploits
Run Metasploit module.
tools_metasploit(
module: str,
options: Dict = {}
) -> DictGet exploit suggestions for a service.
exploit_suggest_for_service(
service: str,
version: str = ""
) -> DictAnalyze nmap output and suggest exploits.
exploit_analyze_nmap(
nmap_output: str
) -> DictCopy exploit to working directory.
exploit_copy(
exploit_id: str,
destination: str = ""
) -> DictShodan CLI for host lookup.
tools_shodan(
query: str,
operation: str = "search",
additional_args: str = ""
) -> DictCreate persistent msfconsole session.
msf_session_create() -> DictExecute command in Metasploit session.
msf_session_execute(
session_id: str,
command: str
) -> DictList active Metasploit sessions.
msf_session_list() -> DictDestroy Metasploit session.
msf_session_destroy(session_id: str) -> DictDestroy all Metasploit sessions.
msf_session_destroy_all() -> DictStart netcat/pwncat listener.
shell_start_listener(
port: int,
listener_type: str = "nc",
additional_args: str = ""
) -> DictStop a listener.
shell_stop_listener(listener_id: str) -> DictList all active listeners.
shell_list_listeners() -> DictGet active shell sessions.
shell_get_active() -> DictSend command to shell session.
shell_interact(
shell_id: str,
command: str
) -> DictGenerate reverse shell one-liner.
shell_generate_payload(
shell_type: str,
lhost: str,
lport: int
) -> Dict| shell_type | Description |
|---|---|
bash |
Bash reverse shell |
python |
Python reverse shell |
php |
PHP reverse shell |
powershell |
PowerShell reverse shell |
nc |
Netcat reverse shell |
Establish SSH connection.
ssh_connect(
host: str,
username: str,
password: str = "",
key_path: str = "",
port: int = 22
) -> DictClose SSH session.
ssh_disconnect(session_id: str) -> DictExecute command over SSH.
ssh_execute(
session_id: str,
command: str
) -> DictUpload file via SFTP.
ssh_upload(
session_id: str,
local_path: str,
remote_path: str
) -> DictDownload file via SFTP.
ssh_download(
session_id: str,
remote_path: str,
local_path: str
) -> DictList active SSH sessions.
ssh_list_sessions() -> DictCreate SSH port forward tunnel.
ssh_tunnel_create(
session_id: str,
local_port: int,
remote_host: str,
remote_port: int
) -> DictGenerate msfvenom payload.
payload_generate(
payload_type: str,
lhost: str,
lport: int,
format: str = "elf",
encoder: str = "",
additional_args: str = ""
) -> DictList available payload templates.
payload_list_templates() -> DictHost payload on HTTP server.
payload_host(
payload_path: str,
port: int = 8080
) -> DictStop payload hosting server.
payload_stop_hosting(server_id: str) -> DictStart Chisel server for pivoting.
pivot_chisel_start(
port: int,
additional_args: str = ""
) -> DictStart Ligolo-ng proxy.
pivot_ligolo_start(
port: int,
additional_args: str = ""
) -> DictCreate socat port forward.
pivot_socat_forward(
listen_port: int,
target_host: str,
target_port: int
) -> DictRegister a pivot point.
pivot_add_pivot(
name: str,
host: str,
internal_network: str,
notes: str = ""
) -> DictList registered pivots.
pivot_list_pivots() -> DictGenerate proxychains config.
pivot_generate_proxychains(
proxies: List[Dict],
chain_type: str = "strict"
) -> DictList active tunnels.
tunnel_list() -> DictStop a tunnel.
tunnel_stop(tunnel_id: str) -> DictStop all tunnels.
tunnel_stop_all() -> DictTake screenshot of web page.
evidence_screenshot(
url: str,
full_page: bool = True,
wait_time: int = 3
) -> DictAdd note to evidence.
evidence_add_note(
title: str,
content: str,
tags: List[str] = []
) -> DictSave command output as evidence.
evidence_add_output(
title: str,
output: str,
command: str = ""
) -> DictList all evidence items.
evidence_list() -> DictGet specific evidence item.
evidence_get(evidence_id: str) -> DictDelete evidence item.
evidence_delete(evidence_id: str) -> DictAdd target to database.
db_add_target(
name: str,
host: str,
notes: str = ""
) -> DictList all targets.
db_list_targets() -> DictGet target details.
db_get_target(target_id: int) -> DictAdd security finding.
db_add_finding(
target_id: int,
title: str,
severity: str,
description: str,
remediation: str = ""
) -> Dict| severity | Description |
|---|---|
critical |
Immediate action required |
high |
Significant risk |
medium |
Moderate risk |
low |
Minor issue |
info |
Informational |
List findings with optional filters.
db_list_findings(
target_id: int = None,
severity: str = None
) -> DictStore discovered credential.
db_add_credential(
service: str,
username: str,
password: str = "",
hash: str = "",
notes: str = ""
) -> DictList stored credentials.
db_list_credentials() -> DictGet scan history for target.
db_get_scan_history(target_id: int) -> DictExport database to JSON.
db_export() -> DictSave current session state.
session_save(name: str) -> DictLoad saved session.
session_load(name: str) -> DictList saved sessions.
session_list() -> DictDelete saved session.
session_delete(name: str) -> DictClear current session state.
session_clear() -> DictDiscover JavaScript files on target.
js_discover(
url: str,
depth: int = 2,
use_tools: bool = True
) -> DictAnalyze JavaScript file for secrets.
js_analyze(js_url: str) -> DictFinds:
- API keys
- Hardcoded credentials
- Endpoints
- Sensitive data
Analyze multiple JS files.
js_analyze_batch(js_urls: List[str]) -> DictList JS analysis reports.
js_list_reports() -> DictGet specific JS report.
js_get_report(report_id: str) -> DictGet API server health status.
get_health() -> DictGet Kali network configuration.
get_network_info() -> DictDownload file from Kali.
kali_download(
remote_file: str,
mode: str = "content"
) -> DictUpload file to Kali.
kali_upload(
content: str,
remote_path: str,
is_base64: bool = False
) -> Dict