Skip to main content
Glama

Subdomain Finder MCP

Server Details

Passive subdomain enumeration from certificate transparency (certspotter, crt.sh) with DNS checks.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
theluckystrike/subdomain-finder-mcp
GitHub Stars
0
Server Listing
subdomain-finder-mcp

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation4/5

Each tool maps to a distinct recon stage: enumeration (find_subdomains), per-host certificate details (get_certificate_history), DNS resolution (resolve_subdomains), and grouped triage (summarize_attack_surface). The main overlap is between find_subdomains and summarize_attack_surface, which both pull domain-level CT data and return wildcard entries and issuers, so an agent could pick the wrong one when it just wants a name list versus a categorized view.

Naming Consistency5/5

All four names follow an identical verb_noun snake_case pattern (find_, get_, resolve_, summarize_). The verbs accurately signal the operation type and the nouns consistently refer to the recon domain.

Tool Count4/5

Four tools is compact but each covers a genuinely different step of the subdomain recon workflow, so none feel redundant. It sits at the thin end of the recommended range, with no separate tool for exporting or filtering results.

Completeness4/5

The passive recon lifecycle is covered end to end: enumerate, inspect certificates, resolve, and triage. The notable gaps are the hard 40-host cap on both resolution paths (no pagination or batching for large domains) and the absence of any active/brute-force enumeration or result-export step, which an agent would have to work around externally.

Available Tools

4 tools
find_subdomainsFind subdomains (certificate transparency)A
Read-onlyIdempotent
Inspect

Passive subdomain enumeration for a domain from live certificate transparency logs: certspotter (unexpired certificates) with crt.sh as fallback or for expired history. Returns deduplicated hostnames with first seen and last seen issuance dates, certificate count, issuers and whether a wildcard certificate covers the name, plus the list of wildcard entries. Set resolve=true to also check the first 40 names with DNS over HTTPS and mark live hosts. Passive lookup of public certificate transparency logs; nothing is sent to the target. Use it on assets you own or are authorised to test.

NameRequiredDescriptionDefault
limitNoMax hostnames returned (1-1000). Totals are always reported.
domainYesRegistered domain, for example "example.com". A URL is accepted and reduced to its host.
sourceNoauto = certspotter first (fast, unexpired certificates), crt.sh if it fails or throttles. crtsh = crt.sh only (includes expired with include_expired).auto
resolveNoAlso resolve up to 40 of the returned names over DNS (newest first).
max_pagesNocertspotter pages to read (1-5). Each page is one request against its keyless rate limit.
include_expiredNoAlso include names from expired certificates (uses crt.sh). Finds retired hosts; slower.

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, but the description still adds real behavioral context: fallback and throttling logic between certspotter and crt.sh, the keyless rate limit implied by page reads, the 40-name cap on DNS resolution, and the fact that nothing is sent to the target. That is meaningfully more than the annotations convey.

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?

It is a single dense paragraph, front-loaded with the core action and source behavior, with return shape and caveats following in a sensible order. The authorization sentence and some source detail restate schema content, but nothing is egregiously wasteful.

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, and the description compensates fully by enumerating the return payload: deduplicated hostnames, first/last seen issuance dates, certificate count, issuers, wildcard coverage flag, and the wildcard entry list. An agent knows both how to call it and what it will get back.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all six parameters, including enum and default values. The description reinforces source selection and the resolve cap and adds the useful detail that resolution 'marks live hosts', but most of what it says about parameters duplicates the schema rather than extending it.

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

Purpose4/5

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

The description states a specific verb and resource — passive subdomain enumeration for a domain from certificate transparency logs — and names the concrete data sources (certspotter, crt.sh). It implicitly separates itself from resolve_subdomains by emphasizing 'passive' and 'nothing is sent to the target', but it never names the siblings, so an agent must infer the boundary rather than being told it.

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?

It gives clear operating context: passive-only lookup, a source-selection rule (auto/certspotter/crtsh, crt.sh for expired history), and an authorization caveat ('assets you own or are authorised to test'). What it lacks is explicit routing against the siblings — e.g. when to follow up with resolve_subdomains or get_certificate_history instead of setting resolve=true here.

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

get_certificate_historyGet certificate history for a hostA
Read-onlyIdempotent
Inspect

Certificates logged in certificate transparency for one hostname (or a whole domain with include_subdomains): issuer organisation and DN, not_before and not_after dates, every SAN on the certificate, revocation status and SHA-256 where certspotter has them. Summarises first and last issuance and the issuers used, which shows CA changes and renewal cadence. Default source certspotter (unexpired); include_expired uses crt.sh for the full history.

NameRequiredDescriptionDefault
hostYesHostname, for example "api.example.com" or "example.com".
limitNoMax certificates returned, newest first (1-100).
sourceNoauto = certspotter first (fast, unexpired certificates), crt.sh if it fails or throttles. crtsh = crt.sh only (includes expired with include_expired).auto
include_expiredNoAlso include names from expired certificates (uses crt.sh). Finds retired hosts; slower.
include_subdomainsNoAlso include certificates for names under the host.

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the read-only annotations, the description discloses the returned data fields, summarization behavior, source fallback from certspotter to crt.sh, throttling behavior, and the slower nature of expired-certificate searches. This adds substantial operational context.

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 description is front-loaded with the resource and scope, then moves through return fields, summary behavior, and source selection. It is dense but mostly efficient, though the first sentence is long and packs many details together.

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?

For a tool without an output schema, the description explains the key returned certificate attributes and summary outputs. It also covers source fallback, expiry inclusion, and subdomain scope, leaving little ambiguity about what the call produces.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents host, limit, source, include_expired, and include_subdomains. The description reinforces source and include_expired behavior but adds little parameter meaning beyond what the schema already provides.

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 states a specific verb and resource: retrieving certificate-transparency history for one hostname or domain. It clearly distinguishes the scoped host/domain lookup from broader sibling tools such as find_subdomains and summarize_attack_surface.

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?

It explains the main operating modes: default certspotter for unexpired certificates, include_expired for full crt.sh history, and include_subdomains for domain-wide lookup. It does not explicitly name alternatives or when not to use this tool, but the parameter-driven usage context is clear.

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

resolve_subdomainsResolve subdomains (DNS over HTTPS)A
Read-onlyIdempotent
Inspect

Resolve up to 40 hostnames now through Cloudflare DNS over HTTPS (A, AAAA and the CNAME chain). Each host is marked live, nxdomain, no_records or dangling_cname (a CNAME whose target does not exist, a subdomain takeover lead), and CNAME targets on cloud platforms (S3, Azure, Heroku, GitHub Pages, Netlify, Vercel and others) are named. Also probes a random label per parent domain to detect wildcard DNS. DNS lookups only; no connection is made to the hosts.

NameRequiredDescriptionDefault
hostsYesHostnames, for example ["www.example.com", "api.example.com"]. Max 40.
check_wildcardNoProbe one random label under each parent domain (max 3) to detect wildcard DNS.

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important behavior: DNS-only lookups, no host connections, result statuses (live, nxdomain, no_records, dangling_cname), cloud CNAME naming, and wildcard probing. This adds substantial operational context.

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 front-loaded with the core action and remains dense with useful detail. Every sentence contributes to understanding the tool's output or safety profile.

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?

With no output schema, the description compensates by explaining result statuses, CNAME chain handling, cloud platform naming, wildcard detection, and the no-connection guarantee. It provides enough context for correct invocation.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are already documented. The description reiterates the 40-host limit and wildcard probing, but does not add syntax or meaning beyond what the schema provides.

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 uses a specific verb and resource: resolve hostnames through Cloudflare DNS over HTTPS. It clearly distinguishes resolution from discovery by saying 'now' and describing DNS-only lookups, which helps separate it from siblings like find_subdomains.

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?

It gives clear context that this is for resolving known hostnames immediately and that no connections are made to hosts. However, it does not explicitly name alternatives such as find_subdomains or state when not to use this tool.

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

summarize_attack_surfaceSummarize attack surface from CTA
Read-onlyIdempotent
Inspect

Reads a domain's subdomains from live certificate transparency and groups them for recon triage: development and test, staging, admin and internal tools, APIs, authentication, mail, remote access (VPN), storage and CDN, legacy and backup. Each group has a count, examples and why it matters. Also returns naming clusters (for example *.eu.example.com), certificate issuers in use, wildcard entries and the 10 newest names. Passive only.

NameRequiredDescriptionDefault
domainYesRegistered domain, for example "example.com". A URL is accepted and reduced to its host.
sourceNoauto = certspotter first (fast, unexpired certificates), crt.sh if it fails or throttles. crtsh = crt.sh only (includes expired with include_expired).auto
include_expiredNoAlso include names from expired certificates (uses crt.sh). Finds retired hosts; slower.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety bar is low. The description still adds real value beyond them: 'Passive only' (no traffic touches the target) and a full inventory of what the response contains — counts, examples, rationale, naming clusters, issuers, wildcards, and 10 newest names.

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 first clause front-loads the action and source, followed by the output inventory. The category enumeration is long but each item conveys what an agent will actually receive, so it largely earns its place; it could be trimmed without loss.

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

Completeness4/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 the return payload — and it does so thoroughly, listing every grouping dimension and supplementary section. Missing only the response shape/ordering and pagination or size limits, which matters for consumers of large domains.

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

Parameters3/5

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

Schema coverage is 100%, including the source fallback chain and include_expired semantics, so the schema already carries parameter meaning. The description adds nothing about domain normalization, source selection, or the cost tradeoff of expired certificates beyond what the schema states. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource (reads subdomains from certificate transparency) and immediately qualifies the value-add: grouping for recon triage. The enumerated group categories make it clearly a summarization tool rather than a raw enumeration tool. It never names a sibling to contrast with, so the boundary with find_subdomains must be inferred.

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

Usage Guidelines3/5

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

The trailing 'Passive only' signals the operating mode, which is a useful selection hint versus active-resolution siblings. However, there is no explicit when-to-use, when-not-to-use, or named alternative (e.g., 'for a raw name list use find_subdomains'). Usage must be inferred from the purpose statement.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedfind_subdomains
    • First observedget_certificate_history
    • First observedresolve_subdomains
    • First observedsummarize_attack_surface

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Provides passive OSINT reconnaissance for domains and IPs using public sources, with tools for WHOIS/RDAP, DNS, subdomain enumeration, Wayback Machine, HTTP headers, Shodan InternetDB, email security, TLS certificates, and ASN lookups, all without requiring API keys.
    15
    54 PyPI
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables certificate transparency log search via crt.sh, allowing users to query SSL/TLS certificates, enumerate subdomains, and retrieve certificate details with no API key required.
    1
    BSD Zero Clause
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.