Skip to main content
Glama

Rank a recon'd stack into a dig order

hunt_plan
Read-only

Turn a recon'd stack into a ranked dig-order for authorized bug-hunting.

For each discovered component, returns its top high-risk CVEs (KEV / CISA-SSVC- active / high-EPSS first) AND its recurring_loci — the bug classes (CWE) this product family repeatedly fails at, ranked by real in-the-wild exploitation — i.e. WHERE to look first and WHAT shape to expect. Components are ordered by their most-exploitable bug (dig_rank). Grounded in exploitation data, not model guesses; lays out facts for triage/where-to-look, never a payload.

Banners go in verbatim ("OpenSSH_9.2p1 Debian-2+deb12u3", "Apache/2.4.62 (Debian)"): a Debian/Ubuntu/Alpine build adds distro_fix, and CVEs the distro already fixed in that build rank below the rest.

Args: technologies: discovered stack, e.g. ["craftcms 4.4", "nginx", "keycloak"]. per_tech: how many top CVEs to surface per component (default 4).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "technologies": "<technologies>"
    },
    "name": "hunt_plan"
  }
}

Input Schema

NameRequiredDescriptionDefault
per_techNo
technologiesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=true and openWorldHint=false; the description goes well beyond them. It discloses ranking criteria (KEV / CISA-SSVC-active / high-EPSS), ordering (dig_rank by most-exploitable bug), the distro_fix behavior that demotes already-patched CVEs for Debian/Ubuntu/Alpine builds, the verbatim-banner input requirement, and the 'never a payload' boundary — enough for an agent to predict both output shape and edge-case behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and return shape are front-loaded, and the args block is cleanly separated from the behavior prose. It is dense but nearly every clause earns its place; the 'Grounded in exploitation data, not model guesses... never a payload' sentence is slightly editorial but also sets a useful safety/triage boundary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must describe returns — and it does: per-component top CVEs, recurring_loci as ranked CWE bug classes, dig_rank ordering, and the distro_fix demotion rule. Combined with the input-format guidance for banners, an agent has everything needed to call it correctly and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description carries the load, and it does: technologies is illustrated with concrete examples and the critical constraint that banners go in verbatim (version and distro suffix matter because they trigger distro_fix), and per_tech is defined as the top-CVE count per component with its default of 4. It falls just short of 5 because it doesn't say whether a bare product name without a version (as in the "nginx" example) is degraded or accepted as-is.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ("Turn a recon'd stack into a ranked dig-order") and immediately says what comes back: top CVEs per component plus recurring_loci ranked by dig_rank. An agent can distinguish this from search_vulns, check_technology, and enrich_cve without opening any schema, because this tool is explicitly a post-recon prioritization step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is clear: it is for authorized bug-hunting after recon, and it lays out 'WHERE to look first and WHAT shape to expect' for triage rather than exploitation. What is missing is explicit routing: it never names check_technology, search_vulns, or enrich_cve as alternatives, nor states when-not to use this tool (e.g., before you have a stack).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.