Skip to main content
Glama

subdomain_enum

Discover subdomains of a domain using DNS brute-force and/or Certificate Transparency logs to map an organization's external attack surface.

Instructions

Discover subdomains of a domain via DNS brute-force and/or CT logs.

Two complementary sources:

  • "dns": probe candidate labels with DNS A lookups (active but light, capped at 512 candidates). Returns resolved IPs.

  • "ct": query public Certificate Transparency logs (crt.sh) for every name ever certified for the domain — fully passive, and finds real hosts no wordlist would guess.

  • "both": run both and merge, marking which source saw each host.

Enumerate only domains you are authorized to assess.

Args: domain: The base domain, e.g. "example.com". wordlist: Comma-separated labels for the DNS source (e.g. "www,api,dev"). Omit to use a built-in list of common labels. Ignored for "ct". source: "dns" (default), "ct", or "both". timeout: Per-query DNS timeout in seconds (the CT query uses its own longer timeout since crt.sh can be slow).

Returns: A dict with domain, sources, found_count, and found (each with subdomain, the source(s) that saw it, and resolved ips when known).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainYes
sourceNodns
timeoutNo
wordlistNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.13.0

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations to rely on, the description fully carries behavioral disclosure. It explains active vs passive enumeration, the 512-candidate cap, the use of crt.sh, the timeout distinction for DNS vs CT queries, and how 'both' marks source provenance. This gives an agent realistic expectations about side effects and scope.

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

Conciseness5/5

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

The description is structured with a concise summary, bullet-pointed source options, an authorization note, an Args section, and a Returns section. It is detailed but every sentence earns its place, and important operational constraints are front-loaded.

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?

Given there is no output schema, the description thoughtfully includes a Returns section outlining the dictionary structure. Combined with thorough parameter semantics and source behavior, this is complete enough for an agent to select and invoke the tool correctly.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must fully compensate, and it does. Every parameter is explained: domain with an example, wordlist with comma-separated labels, source with enumerated valid values, and timeout with per-query semantics. It even clarifies that wordlist is ignored for ct, which is not inferable from the schema.

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, action-oriented statement: 'Discover subdomains of a domain via DNS brute-force and/or CT logs.' This clearly distinguishes it from siblings like ip_info or port_scan, and even from dns_recon by focusing on subdomain enumeration rather than general DNS reconnaissance.

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?

The description provides clear guidance on when to use each source: dns is active but light, ct is fully passive and finds hosts wordlists miss, and both merges results. It also includes an authorization caveat. However, it does not explicitly name sibling tools or state when this tool should not be used in favor of another.

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