Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
nmap_host_discoveryA

Ping scan to discover live hosts (-sn). Fast, no port scan. targets: IPs, ranges, or CIDR (e.g. '192.168.1.0/24', '10.0.0.1-10')

nmap_port_scanA

Port scan returning job_id (async by default) or blocking until complete. targets: IPs/ranges/hostnames (space-separated for multiple) ports: '1-65535', '22,80,443', or 'top100' scan_type: 'auto' (sS if root else sT), 'sS' (SYN/root only), 'sT' (TCP connect), 'sU' (UDP), 'sA' (ACK) timing: T0-T5 (T4=fast, T3=normal, T2=polite) wait: if True, blocks until scan completes and returns full output

nmap_service_detectionB

Detect service versions on open ports (-sV). version_intensity: 0 (light) to 9 (try all probes)

nmap_os_detectionB

OS detection scan (-O). Automatically uses sudo if not root. targets: IPs/ranges/hostnames

nmap_vuln_scanA

NSE vulnerability script scan. scripts: NSE script categories — 'vuln', 'safe', 'vuln and safe', 'exploit', or specific scripts like 'smb-vuln-ms17-010'

nmap_aggressive_scanB

Aggressive scan (-A): OS + version + default scripts + traceroute. targets: IPs/ranges/hostnames

nmap_xml_scanA

Port scan with XML output — returns fully structured host/port/service data. Unlike nmap_port_scan (raw text), this parses XML into structured dicts so findings, services, and OS guesses are immediately usable without regex. targets: IPs/ranges/hostnames (space-separated) ports: '1-65535', '22,80,443', or 'top100' scan_type: 'auto' (sS if root else sT), 'sS', 'sT' timing: T0-T5 service_detection: include -sV service version probing (default True) Returns: structured dict with hosts[], each containing ports[], services, os[]

whois_lookupA

WHOIS lookup for a domain or IP address. target: domain (e.g. 'example.com') or IP address

dig_lookupA

DNS lookup using dig. domain: target domain (e.g. 'example.com') record_type: A, AAAA, MX, NS, TXT, CNAME, SOA, ANY dns_server: optional DNS server to query (e.g. '8.8.8.8') short: return short output only

dig_zone_transferA

Attempt DNS zone transfer (AXFR). domain: target domain nameserver: nameserver to request transfer from

subfinder_enumerateA

Passive subdomain enumeration using subfinder. domain: target domain (e.g. 'example.com') all_sources: use all available sources (slower but thorough) threads: concurrent goroutines for resolving (default 10) output_json: return JSONL output for structured parsing

theharvester_searchA

OSINT gathering using theHarvester (emails, subdomains, IPs, URLs). domain: target domain or company name source: comma-separated data sources. Defaults to sources that work without API keys. Full list: google, bing, linkedin, github, dnsdumpster, crtsh, hackertarget, otx, rapiddns, shodan (needs key), sublist3r, threatminer, urlscan, duckduckgo Use 'all' only if you have API keys configured. limit: max search results (default 500) dns_resolve: perform DNS resolution on discovered subdomains

amass_enumA

In-depth subdomain enumeration using OWASP Amass. domain: target domain (e.g. 'example.com') passive: passive-only mode (no active probing) — safer, faster brute_force: enable brute-force subdomain discovery (slow) timeout_mins: max runtime in minutes (default 5)

nikto_scanA

Web server vulnerability scan using Nikto. target: host or URL (e.g. 'example.com' or 'http://example.com') port: target port (default 80; use 443 with ssl=True) ssl: force SSL/HTTPS max_time: nikto's internal max scan time e.g. '10m', '20m', '1h' timeout: server-side timeout in seconds (default 600 = 10 min)

gobuster_dirA

Directory and file brute-force using Gobuster. url: target URL (e.g. 'http://example.com') wordlist: path to wordlist (auto-selects common.txt from dirb/seclists if empty) extensions: file extensions to search e.g. 'php,html,txt' threads: concurrent threads (default 10) exclude_codes: HTTP codes to hide (default '404'), use '' to show all follow_redirect: follow 3xx redirects

gobuster_dnsB

DNS subdomain brute-force using Gobuster. domain: target domain (e.g. 'example.com') wordlist: path to wordlist (auto-selects subdomains list from seclists if empty) show_ips: show IP addresses of found subdomains

gobuster_vhostC

Virtual host discovery using Gobuster. url: base URL (e.g. 'http://example.com') wordlist: path to wordlist (auto-selects if empty) append_domain: append base domain to each vhost word

enum4linux_scanA

Full SMB/NetBIOS enumeration using enum4linux (-a covers all). Enumerates: users, shares, groups, password policy, OS info, printers. target: IP address of Windows/Samba host username: optional username for authenticated scan password: optional password for authenticated scan

smbclient_list_sharesA

List SMB shares on a target host using smbclient. target: IP or hostname username: SMB username (leave empty for anonymous) password: SMB password (leave empty for anonymous) port: SMB port (default 445)

ffuf_fuzzA

Fast web fuzzer using ffuf. Place FUZZ keyword in URL, headers, or POST data. url: target URL with FUZZ keyword (e.g. 'http://example.com/FUZZ') wordlist: path to wordlist (auto-selects common.txt if empty) keyword: fuzzing placeholder (default FUZZ) match_codes: show responses matching these HTTP codes filter_codes: hide responses with these HTTP codes threads: concurrent threads (default 40) data: POST data — setting this switches to POST automatically method: HTTP method GET/POST/PUT/DELETE/PATCH headers: extra header e.g. 'Authorization: Bearer ' auto_calibrate: auto-filter similar responses to reduce noise (-ac)

fast_port_scanA

Fast port scan using masscan (discovery) + nmap (service detection). Much faster than nmap alone for large ranges — masscan at 5000 pps finds all open ports, then nmap does targeted -sV only on those ports. target: IP, CIDR range (e.g. '192.168.1.0/24'), or hostname ports: port range (default all ports '0-65535') rate: masscan packets per second — higher = faster but more noisy (default 5000) Use 1000 for stealth, 10000+ for speed on local networks service_detection: run nmap -sV on discovered ports (default True) Returns: open ports with services, much faster than full nmap scan NOTE: masscan requires root/sudo for raw sockets

searchsploit_searchA

Search Exploit-DB local database using searchsploit. query: search terms (e.g. 'apache 2.4', 'wordpress 5.0', 'ssh') exact: exact & order match on title (stricter) title_only: search only exploit titles cve: search by CVE ID (e.g. '2021-44228') — overrides query exclude: exclude results matching this pattern (pipe-separated: 'dos|PoC') Returns results immediately (local DB search).

searchsploit_get_pathA

Get the full filesystem path to an exploit by its EDB-ID. edb_id: Exploit-DB ID number (e.g. '39446')

nuclei_scanB

Vulnerability scanning using Nuclei templates. target: URL or IP to scan (e.g. 'http://example.com') templates: comma-separated template paths or categories e.g. 'cves/', 'vulnerabilities/', 'cves/2021/CVE-2021-44228.yaml' severity: filter by severity — info,low,medium,high,critical (comma-separated) tags: filter by tags e.g. 'cve,rce,sqli' rate_limit: max HTTP requests per second (default 150) concurrency: concurrent template execution (default 25) auto_scan: automatic scan using wappalyzer technology detection (-as)

nuclei_update_templatesB

Update Nuclei templates to the latest version.

wpscan_scanA

WordPress vulnerability scanner using WPScan. url: WordPress site URL (e.g. 'http://example.com') enumerate: what to enumerate — comma-separated: vp=vulnerable plugins, vt=vulnerable themes, u=users, p=all plugins, t=all themes, tt=timthumbs, cb=config backups, dbe=db exports, m=media api_token: WPScan API token for vulnerability data (get free at wpscan.com) detection_mode: mixed (default), passive, aggressive random_user_agent: randomize user agent per request disable_tls_checks: disable SSL certificate verification throttle_ms: milliseconds between requests (0 = no throttle)

cve_to_exploitA

Given a service name/version, find matching exploits in searchsploit and Metasploit. Closes the gap between 'found a version' and 'here is the exploit to run'. service: service name e.g. 'Apache', 'OpenSSH', 'nginx', 'vsftpd', 'Samba' version: version string e.g. '2.4.49', '3.0.28', '1.24.0' banner: raw service banner (alternative to service+version — auto-parsed) os_type: 'linux' or 'windows' (filters exploits) Returns: matching searchsploit exploits + Metasploit modules + suggested commands

scan_and_exploit_chainA

Full chain: port scan → service detection → CVE lookup for each service. One call that returns all exploits for all services on a target. target: IP or hostname ports: port range to scan Returns: for each open port, the service version + matching exploits

sqlmap_scanA

Automated SQL injection detection and exploitation using sqlmap. url: target URL with parameter (e.g. 'http://site.com/page.php?id=1') data: POST data string (e.g. 'user=foo&pass=bar') level: test level 1-5 (higher = more tests, slower) risk: risk level 1-3 (higher = more aggressive, may alter data) dbms: force DBMS type e.g. 'mysql', 'postgresql', 'mssql', 'oracle' technique: SQL injection techniques — B=Boolean, E=Error, U=Union, S=Stacked, T=Time, Q=Inline (default all: BEUSTQ) enumerate_dbs: enumerate databases (--dbs) enumerate_tables: enumerate tables (--tables) dump: dump table data — use with database and table params database: target database name (-D) table: target table name (-T) cookie: HTTP cookie header value random_agent: use random User-Agent NOTE: Always runs non-interactively (--batch).

hydra_bruteforceA

Password brute-force attack using Hydra. target: IP or hostname to attack service: protocol — ssh, ftp, http-get, http-post-form, smb, mysql, mssql, rdp, telnet, pop3, imap, smtp, vnc username: single username to test userlist: path to username list file (overrides username) e.g. /usr/share/seclists/Usernames/top-usernames-shortlist.txt password: single password to test passlist: path to password list file (overrides password) e.g. /usr/share/wordlists/rockyou.txt port: target port (0 = use service default) tasks: parallel connections per target (default 16) stop_on_first: stop after first valid credential found (-f)

msf_searchA

Search Metasploit modules by keyword using a resource file (faster than -x). query: search term e.g. 'ms17-010', 'eternalblue', 'type:exploit platform:windows' Returns immediately (non-interactive).

msf_run_moduleA

Run a Metasploit module non-interactively via resource file. module: full module path e.g. 'exploit/windows/smb/ms17_010_eternalblue' or 'auxiliary/scanner/smb/smb_ms17_010' options: dict of module options — RHOSTS is required and must be in scope. e.g. {"RHOSTS": "192.168.1.1", "LHOST": "192.168.1.10", "LPORT": "4444"} payload: payload e.g. 'windows/x64/meterpreter/reverse_tcp' NOTE: Non-interactive only — sessions are auto-killed after execution.

msfvenom_generateA

Generate a payload using msfvenom. Saved to ~/kali-mcp/artifacts/ (chmod 600). payload: e.g. 'linux/x64/meterpreter/reverse_tcp' lhost: listener IP address lport: listener port format: elf, exe, raw, php, py, rb, sh, dll, jar, war filename: output filename (auto-generated if empty)

nc_port_checkA

Check if ports are open/closed on a host. Uses ncat (nmap-suite) if available, falls back to netcat. host: IP or hostname ports: comma/space-separated ports e.g. '80', '22,80,443' Returns immediately.

nc_banner_grabA

Grab a service banner from host:port using a raw async socket. Sends a newline (or custom data) to trigger a server response. host: IP or hostname port: target port timeout: seconds to wait for response (default 10) send_data: data to send to trigger banner (default newline). Supports escape sequences like '\n', '\r\n', '\t'.

ssh_execA

Execute a single command via SSH (uses paramiko, no sshpass dependency). host: target IP or hostname username: SSH username password: SSH password (leave empty if using key) key_file: path to private key file (leave empty if using password) command: shell command to execute port: SSH port (default 22) timeout: command timeout in seconds (default 60) Returns: stdout, stderr, return_code (or error if connection/auth failed)

ssh_enum_privescA

Enumerate privilege escalation vectors on a Linux host via SSH. Runs checks for: SUID binaries, capabilities, sudo permissions, cron jobs, world-writable files, kernel version, /etc/passwd readables, PATH/LD env vars. host: target IP or hostname username: SSH username password: SSH password key_file: SSH private key path port: SSH port (default 22) Returns: structured findings by category, OR a clear error if SSH failed.

generate_reportB

Generate a structured report from completed job results. job_ids: list of job IDs to include (from list_jobs or get_job_status) title: report title format: 'markdown' or 'json'

list_completed_jobsA

List completed jobs, optionally filtered by tool name. tool_filter: partial tool name e.g. 'nmap', 'nikto', '' (all)

parse_nmap_outputA

Parse nmap output from a completed job into structured data. Returns hosts, open ports, services, and OS guesses. job_id: completed nmap job ID

parse_nuclei_outputA

Parse a nuclei JSONL findings file into structured vulnerability data. findings_file: path returned by nuclei_scan as 'findings_file'

generate_pentest_reportA

Generate a professional finding-based pentest report with attack chains and remediation.

title: report title min_severity: minimum severity to include — info, low, medium, high, critical min_confidence: minimum confidence to include — low, medium, high host: filter by specific host (empty = all hosts) save_to: optional file path to save the report (must be under artifacts/, /tmp, or /var/tmp) format: 'markdown' (default) or 'html' (self-contained HTML file, suitable for client delivery) confirmed_only: if True, only include findings marked 'confirmed' via update_finding_status. Use after running a validation agent for a zero-false-positive report.

pcap_extractA

Extract credentials and key data from a PCAP file. Extracts: HTTP requests (headers, POST data), FTP/Telnet/SMTP credentials, DNS queries, common protocol usernames/passwords. pcap_path: path to .pcap or .pcapng file Returns: structured findings by protocol

pcap_protocolsA

Get protocol hierarchy and conversation list for a PCAP — overview of what's actually in the capture (HTTP, DNS, SMB, FTP, Telnet, SMTP, ICMP, ARP, etc.). Use this BEFORE pcap_extract to know what protocols to look for. pcap_path: path to .pcap or .pcapng file Returns: protocol breakdown by packet count + endpoint conversations

tshark_queryA

Run an arbitrary tshark query on a PCAP file. pcap_path: path to PCAP file display_filter: Wireshark display filter e.g. 'http.request', 'tcp.port==21', 'smb', 'dns.qry.name', 'frame.number == 42' fields: comma-separated tshark fields to extract e.g. 'ip.src,ip.dst,tcp.port,http.request.uri' max_lines: max output lines (default 200)

http_requestA

Make an HTTP request and inspect the full response. url: target URL method: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS headers: dict of HTTP headers e.g. {"Authorization": "Bearer token"} cookies: dict of cookies e.g. {"session": "abc123"} data: request body for POST/PUT (string or JSON) follow_redirects: follow 3xx redirects (default True) timeout: request timeout in seconds save_to: if set, save response body to this file path (for binaries/large files) extract_text: if True and HTML, strip tags and return visible text only Returns: status, headers, body (or file path if save_to), redirect chain, timing

html_to_textB

Strip HTML tags and extract visible text. Removes scripts, styles, tags. Returns clean readable text. html: HTML string

extract_linksA

Extract all links (anchors, forms, scripts, images) from HTML. Useful for building a crawl tree without manually grep'ing the response body. html: HTML string base_url: optional base URL for resolving relative links only_same_origin: if True and base_url given, only return links to same host Returns: lists of links by category (anchors, forms, scripts, images, css)

http_form_submitA

Submit an HTML form (simulates browser form POST). url: form action URL form_data: dict of form fields e.g. {"username": "admin", "password": "test"} method: POST (default) or GET headers: additional HTTP headers cookies: session cookies to include follow_redirects: follow redirects after submit (default True) Returns: response status, headers, body, redirect chain

web_crawlA

Crawl a web application by following links organically. Discovers endpoints, forms, and interesting paths that wordlist brute-force misses. url: starting URL (e.g. 'http://example.com/') max_depth: how many link levels deep to follow (default 2) max_pages: max pages to visit (default 50) include_external: also collect external links (not crawled, just listed) timeout: per-request timeout in seconds Returns: discovered URLs by category, forms, and interesting endpoints

screenshot_urlA

Take a screenshot of a single web URL using gowitness. Useful for quick visual triage of login panels, admin interfaces, etc. url: target URL (e.g. 'http://example.com/admin') timeout: per-request timeout in seconds Returns: path to saved screenshot PNG file

screenshot_urlsA

Take screenshots of multiple URLs using gowitness. Use after gobuster/crawl to visually triage all discovered endpoints at once. urls: list of URLs to screenshot threads: concurrent screenshot workers (default 4) timeout: per-request timeout in seconds Returns: directory containing all PNG screenshots + JSONL results

server_healthA

Preflight check — verifies all tool binaries, Python deps, and wordlists. Run this at the start of an engagement to avoid surprises mid-workflow. Returns: status per category, missing tools with install hints, available wordlists.

check_binaryA

Check if a specific binary is installed and where it is. name: binary name e.g. 'nmap', 'sshpass', 'msfconsole'

read_fileA

Read a file from disk (artifacts, /tmp, /var/tmp, wordlists). Auto-detects file type via magic bytes. path: absolute file path max_bytes: max bytes to read (default 50KB) offset: byte offset to start from as_hex: return content as hex dump as_base64: return content as base64 (for binaries) Returns: file metadata, type detection, content (text/hex/base64)

list_artifactsA

List all files in the artifacts directory (downloads, scan outputs, payloads). Returns: filename, size, modification time per file.

creds_storeA

Store discovered credentials in the vault (passwords/hashes encrypted at rest). host: target host IP or hostname username: discovered username password: plaintext password (leave empty if only hash available) hash: password hash (e.g. NTLM, bcrypt) service: service type e.g. 'ssh', 'http', 'smb', 'ftp', 'mysql' port: service port source_tool: which tool found this (e.g. 'hydra', 'sqlmap', 'manual') notes: any additional context

creds_listA

List stored credentials, optionally filtered by host or service. host: filter by host IP/hostname (empty = all hosts) service: filter by service type e.g. 'ssh', 'http' (empty = all) Returns credentials with decrypted passwords/hashes for use in further attacks.

creds_useA

Get the most recently discovered credential for a host/service. Use this before attacking a service to check if we already have valid creds. host: target host service: optional service filter e.g. 'ssh' Returns: best credential to try (decrypted), or empty if none found.

creds_deleteB

Delete a credential from the vault by its ID.

get_findingsA

Extract and return normalized findings from a completed job. job_id: job to extract findings from (leave empty to get all recent findings) host: filter findings by host min_severity: minimum severity to return — info, low, medium, high, critical min_confidence: minimum confidence to return — low, medium, high Returns: list of normalized Finding objects with host, title, severity, evidence, tool

engagement_startA

Start a new engagement. Sets scope for all tools automatically. All subsequent findings, jobs, and credentials are tagged to this engagement. name: engagement name e.g. 'ClientName-WebApp-2026' scope: list of authorized targets e.g. ['192.168.1.0/24', 'example.com'] client: optional client name for reporting notes: engagement notes / rules of engagement

engagement_statusB

Show the current active engagement and its findings summary.

engagement_findingsB

Get all findings for the current engagement. min_severity: info, low, medium, high, critical host: filter by specific host limit: max results

engagement_endA

Close the current engagement and clear scope restrictions.

engagement_listA

List all engagements (past and active).

list_unconfirmed_findingsA

List findings pending validation for the current engagement.

Returns unconfirmed findings ordered by severity so a validation agent can work through them one by one and call update_finding_status on each. host: filter by specific host (empty = all) min_severity: info, low, medium, high, critical

update_finding_statusA

Update the validation status of a finding.

Called by a validation agent after manually verifying a finding. finding_id: the finding's id (from list_unconfirmed_findings) status: 'confirmed' — finding is real and exploitable 'false_positive' — finding is not real, exclude from report 'unconfirmed' — reset back to pending (if re-verification needed)

scan_hostA

Full parallel host scan — fires multiple tools simultaneously and waits for all. Reduces total recon time by 70% vs running tools sequentially. target: IP or hostname intensity: 'light' (quick scan), 'normal' (default), 'deep' (thorough) Returns: consolidated results from all tools with findings and next steps.

scan_webA

Full parallel web application scan — nikto, gobuster, nuclei, and crawler simultaneously. depth: 'light' (quick), 'normal' (default), 'deep' (thorough with ffuf) Returns: consolidated web findings from all scanners.

analyze_findingsA

Analyze and prioritize all findings from recent scans. Returns a structured triage report designed for LLM decision-making. Identifies: attack paths, quick wins, critical issues, credential reuse opportunities.

host: focus on specific host (empty = all hosts) min_severity: minimum severity to include — low, medium, high, critical min_confidence: minimum confidence to include — low, medium, high max_items: max findings to analyze (default 20)

Returns: prioritized attack paths, quick wins, and recommended next actions.

analyze_attack_chainsA

Correlate current findings into multi-stage attack chains.

Shows how individual low/medium findings combine into high-impact compound attack paths (e.g. SQL injection + exposed SSH = credential theft + system access). Call this at any point during an engagement to understand compound risk.

host: focus on a specific host (empty = all hosts) min_severity: minimum finding severity to consider — info, low, medium, high, critical min_confidence: minimum finding confidence to consider — low, medium, high Returns: list of chains with name, escalated severity, narrative, steps, affected hosts.

program_scope_startA

Start or update a named program scope.

name: program name e.g. 'ClientX-WebApp-2026' in_scope: list of allowed targets e.g. ['10.10.10.0/24', 'example.com'] out_of_scope: list of explicitly blocked targets (e.g. ['10.10.10.254']) client: optional client name rules: dict of rules of engagement: max_findings, duration_hours, reporting_format approvers: list of approved agents/humans who can modify/activate this program

program_scope_statusA

Show the current active program scope.

program_scope_listA

List all programs (draft/active/ended).

program_scope_endA

Close the current program scope and clear scope restrictions.

program_scope_add_targetsC

Add targets to the current program's in-scope list.

program_scope_remove_targetsB

Remove targets from the current program's in-scope list.

program_scope_out_of_scopeB

Add targets to the out-of-scope (deny) list.

program_scope_allowB

Explicitly allow a target that is otherwise out of scope.

program_scope_denyA

Explicitly deny a target, blocking it even if in in_scope.

asset_list_hostsB

List all known hosts. status: filter by status (new, scanned, confirmed, remediated, false_positive) min_scan_count: minimum number of scans limit: max results

asset_get_hostB

Get full details for a specific host.

asset_list_servicesB

List services, optionally filtered by host or service name.

asset_list_vulnerabilitiesB

List vulnerabilities, optionally filtered by host or severity. min_severity: info, low, medium, high, critical status: unconfirmed, confirmed, false_positive, remediated

asset_searchA

Search assets by IP, hostname, service, or CVE.

asset_mark_hostB

Mark a host with a status (new, scanned, confirmed, remediated, false_positive).

asset_mark_vulnC

Mark a vulnerability with a status.

asset_list_runsA

List recorded scan runs (recon cycles), newest first. program: filter by program name (empty = all) limit: max results

asset_diff_runsA

Compare two scan runs and report what changed between them. Reports new / disappeared / changed hosts, services, and vulnerabilities. prev_run_id: the earlier (baseline) run id curr_run_id: the later run id

asset_latest_changesA

Show what changed between the two most recent completed runs. This is the core continuous-recon view: 'what's new since last time?' program: focus on one program (empty = all runs across programs) Returns: change report + a 'new_assets' list flagged as high-priority (newly deployed assets are often less tested).

recon_sweepA

Passive recon sweep with change detection.

Runs passive-only recon (subfinder, amass -passive, theHarvester) against a domain, records everything under a scan run, then reports what changed since the previous sweep: new subdomains, new IPs/ports, new endpoints, new vulnerabilities, and assets that disappeared.

Safe to run repeatedly/unattended (passive only). Newly-appeared assets are surfaced under 'priority_new_assets' because fresh surface is often less tested.

domain: target domain (must be within the active program scope) program: program name to group runs under (defaults to the domain) tools: subset of ['subfinder','amass','theharvester'] (default: all) tool_budget: max number of tools to run this sweep (0 = no limit)

get_job_statusB

Get status and result of an async job by its ID.

get_job_outputA

Get partial output from a running or completed job. Useful for checking progress before a job finishes. job_id: job ID to read tail: number of lines from the end to return (default 100, 0 = all)

list_jobsB

List recent jobs with their statuses.

cancel_jobA

Cancel a running job and kill its process group.

scope_listA

List all authorized targets in scope. Empty list means lab mode — all targets allowed.

scope_addA

Add a single target to the authorized scope. target: IP, CIDR (e.g. '192.168.1.0/24'), domain, or '*.example.com'

scope_setA

Replace the entire scope with a new list of targets. Use this at the start of an engagement to set all authorized targets at once. targets: list of IPs, CIDRs, domains e.g. ['192.168.1.0/24', 'example.com', '*.example.com']

scope_removeB

Remove a specific target from scope.

Prompts

Interactive templates invoked by user choice

NameDescription
recon_domainFull reconnaissance workflow for a domain.
web_pentestWeb application penetration testing workflow.
smb_enumSMB/NetBIOS enumeration workflow for Windows/Samba hosts.
reporting_rulesAnti-hallucination rules the AI MUST follow when reporting findings.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Neeraj829784/kali-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server