Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CYBERSEC_MCP_VENVS_DIRNoDirectory for Python virtual environments used by run_script. Default is '~/.ctf-venvs/'.
CYBERSEC_MCP_ALLOW_SCRIPTSNoSet to '1' to enable run_script (full code execution). Default is '0' (disabled).0
CYBERSEC_MCP_ALLOW_EXTERNALNoSet to '1' to allow external network targets (outside private/loopback). Default is '0' (disabled).0

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_toolsA

List and filter the 670+ cybersecurity tools in the registry.

Returns the tools drawn from tools_config.json — the same registry the installer and the advisors share — with the total count, the filters still available to narrow the results, and one entry per tool. Combine the filters to scope the list: module="web" for web tools, method="pipx" for Python-packaged tools, installed_only=True for only what is on this host. Start here to discover what exists before check_installed or get_tool_info.

check_installedA

Check if a specific cybersecurity tool is installed on the system.

Uses multiple detection strategies: .versions tracking, PATH lookup, pipx binary name fallback, /opt directory check, and docker image check.

When host is provided, checks installation on the remote host via SSH using 'which '.

get_tool_infoA

Get detailed information about a cybersecurity tool.

Returns the tool's install method, module, URL, installation status, module description, and management commands (install, update, remove).

suggest_for_ctfA

Suggest cybersecurity tools for a CTF challenge category.

Provides curated tool recommendations with installation status for 14 challenge types: web, crypto, pwn, reversing, forensics, stego, misc, networking, wireless, osint, cloud, mobile, blockchain, llm.

Also accepts aliases: re/rev (reversing), binary/exploitation (pwn), steganography (stego), network (networking), recon (osint), etc.

suggest_for_bountyA

Suggest cybersecurity tools for a bug bounty target type.

Provides curated tool recommendations with installation status, methodology steps (starting with scope verification), common vulnerabilities, and quick wins for 7 target types: web_app, api, mobile_app, cloud, network, iot, llm.

Also accepts aliases: web/webapp (web_app), rest/graphql (api), android/ios/mobile (mobile_app), aws/azure/gcp/k8s (cloud), infra/infrastructure (network), firmware/embedded (iot).

get_cve_infoA

Map a CVE to the toolkit's tools, skills, and modules, plus live-lookup commands.

Local-first and deterministic: accepts a CVE id (e.g. "CVE-2021-44228") or a common nickname (e.g. "log4shell", "eternalblue", "zerologon", "printnightmare") and returns the curated exploitation skills, mapped registry tools with install status, and relevant modules.

For live CVSS / CISA KEV / EPSS data it returns ready-to-run run_tool("curl", ...) commands rather than fetching itself — those hit external hosts and are subject to the CYBERSEC_MCP_ALLOW_EXTERNAL policy. Always clear the authorization-gate skill before testing.

recommend_installA

Recommend which profile, modules, or individual tools to install.

Analyzes a natural-language description of what the user wants to do and recommends the best installation approach — from a full profile down to just a few individual tools. Avoids installing everything when only a subset is needed.

list_profilesA

List all 14 available installation profiles with details.

Each profile is a curated set of modules targeting a specific use case. Shows module count, tool count, and install command for each profile. Profiles range from 'osint' (2 modules) to 'full' (18 modules, 670+ tools).

Returns: All profiles with descriptions, module lists, tool counts, and install commands.

get_profile_toolsA

List every tool that a specific profile would install.

Given a profile name, returns the complete list of tools grouped by module, with install status for each. This lets you see exactly what you get before running the install command.

get_module_infoA

Get full details about a module: description, all tools, and management commands.

guided_assessmentA

Plan, guide, or autonomously solve a security task over the MCP toolchain.

An orchestrator on top of the registry, advisors, install checks, audit logging, and execution policy. Bootstrap commands use the governed execute_tool() path, so target scope, external-network, shell-injection, and blocked-flag checks apply.

By DEFAULT it auto-detects the right workflow + tools for the problem (workflow/ target_type="auto") and acts as a companion: it returns classification, triage gates, recommended skills, reporting next steps, a plan, tool install status, next actions, and the full MCP toolchain surface WITHOUT auto-running commands in this initial call. The agent can then run tools step by step as the user approves. The heaviest mode (autonomous) starts the auto-solver contract: it bootstraps triage, then the client agent continues with the full MCP toolchain (registry/advisors/install checks/run_tool/run_pipeline and separately gated run_script). When registry tools and pipelines are not enough, autonomous mode may create, save, and run scoped helper scripts for the user, persisting reusable ones under manual_scripts/. Simple recon/HTTP commands such as curl remain run_tool calls.

run_toolA

Execute an installed cybersecurity tool or system utility and return its output.

Runs tools from the 670+ registry as well as ~120 standard system utilities (strings, file, curl, grep, base64, xxd, jq, etc.) that are allowed without being in the registry. Arguments are sanitized to prevent shell injection. Timeout is clamped to 1-300s. Output is truncated at 200KB.

Network tools (including curl, wget, ping, etc.) are restricted to local/private targets by default. Set CYBERSEC_MCP_ALLOW_EXTERNAL=1 to allow external targets.

When host is provided, the tool is executed on the remote host via SSH. The tool does not need to be installed locally — only on the remote host.

run_pipelineA

Execute a pipeline of tools, piping stdout from each step into stdin of the next.

Replaces shell piping (e.g. strings binary | grep flag) with a safe, no-shell alternative. Each step is validated individually (allowlist, argument sanitization, policy checks) before any process starts.

Each step's stdout and stderr are bounded to 200KB as they are read, and an intermediate step's bounded stdout is what gets piped into the next step. If any step hits that cap, the returned truncated flag is set and the final stdout carries a truncation marker.

run_scriptA

Write and execute a Python or Bash script, returning its output.

Writes the code to a temporary file, executes it via python3/bash, and returns stdout/stderr. The temp file is deleted after execution. Requires CYBERSEC_MCP_ALLOW_SCRIPTS=1. This is an explicit full-code execution opt-in: scripts are not OS-sandboxed and are not constrained by CYBERSEC_MCP_ALLOW_EXTERNAL.

manage_remote_hostsA

Add, list, test, or remove the SSH hosts that run_tool can target remotely.

Manages the remote-host registry that lets run_tool (and check_installed) run a tool on a remote Kali/Linux box over SSH instead of locally, so the tool only has to be installed on the remote. The action selects the operation: "list" shows every configured host; "add" registers or updates a host (needs name and hostname, plus optional user, port, ssh_key, and a tool_allowlist that restricts which tools may run there); "remove" deletes a host by name; "test" opens an SSH connection to confirm the host is reachable.

Connections use StrictHostKeyChecking=accept-new, so the key presented on the first connection is pinned in ~/.ssh/known_hosts and any later change is rejected. Verify that first fingerprint out-of-band for a host you do not control, or add the key to known_hosts before "test".

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 15 tools

Disambiguation4/5

Each tool targets a distinct operation—registry lookup, install-status, execution, remote-host management, CVE mapping—and descriptions explicitly separate list_tools from get_tool_info and check_installed. The only mild risk is the cluster of list/get/profile/module tools, but their scopes are clearly differentiated.

Naming Consistency4/5

Most tools follow a consistent get/list/suggest/run verb pattern (list_tools, get_cve_info, run_pipeline), and paired tools like suggest_for_ctf and suggest_for_bounty are parallel. Minor deviations such as check_installed, recommend_install, and guided_assessment keep it from a perfect 5.

Tool Count5/5

15 tools sits at the upper end of the ideal range, but every tool has a distinct role, from registry discovery to execution and orchestration. No tool feels redundant or like padding.

Completeness4/5

The surface covers discovery, profiling, recommendation, CVE mapping, execution, pipelines, and remote hosts. Direct install/update/remove operations are only surfaced as commands inside get_tool_info rather than first-class tools, but run_script and run_tool provide workarounds, so the gap is minor.

Maintenance

ActivityActive
ResponsivenessUnresponsive