# ScrapeMole Domains

> Pay-per-call x402 DNS, WHOIS/RDAP, availability, email security, SSL check, CT subdomains.

- name: dev.pages.scrapemole/domains
- version: 1.1.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 80/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/dev.pages.scrapemole%2Fdomains
- tools: https://api.protogrid.dev/v1/servers/dev.pages.scrapemole%2Fdomains/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "domains": {
      "type": "http",
      "url": "https://domains.scrapemole.workers.dev/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-9d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 80/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: dns (destructiveHint); ssl (destructiveHint); rdap (destructiveHint); …
- pass `tools.token_cost`: about 1,286 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 7 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 1,286 tokens to load them all
- tool set hash: 7973b99425bf1a5f6197c8d9846f0789
- tools last changed: 2026-10-19T22:17:47.643Z
- badge: [![protogrid quality](https://protogrid.dev/badge/dev.pages.scrapemole/domains.svg)](https://protogrid.dev/servers/dev.pages.scrapemole/domains)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `ssl` changed (description)
  - before: Use when you need to know whether a website or mail server has a valid HTTPS certificate or when it expires: opens a live TLS connection (SNI) to the host and returns whether the chain is publicly trusted (with the exact error, e.g. CERT_HAS_EXPIRED or self-signed), whether the certificate matches the hostname, validity dates and days remaining, subject, issuer, SAN list, key type, TLS protocol, cipher, ALPN and the certificate chain. Answers about the certificate even when it is invalid (that is the point); unreachable hosts are not charged. Paid tool: x402 USDC on Base, $0.003 per successful call; call without payment to receive the PaymentRequired object.
  - after: Use when you need to know whether a website or mail server has a valid HTTPS certificate or when it expires: opens a live TLS connection (SNI) to the host and returns whether the chain is publicly trusted (with the exact error, e.g. CERT_HAS_EXPIRED or self-signed), whether the certificate matches the hostname, validity dates and days remaining, subject, issuer, SAN list, key type, TLS protocol, cipher, ALPN and the certificate chain. Answers about the certificate even when it is invalid (that is the point); unreachable hosts are not charged. Hosts served by Cloudflare's own network cannot be probed live from our Workers; for those the response has live:false and shows the newest unexpired certificate logged for the host in Certificate Transparency (trusted:null). Paid tool: x402 USDC on Base, $0.003 per successful call; call without payment to receive the PaymentRequired object.
- 2026-10-12 `subdomains` added
  - Use for attack-surface mapping, asset inventory or competitive research: lists every hostname under a domain that appears in unexpired publicly-logged TLS certificates, deduplicated, with wildcard flag, first-seen date, latest certificate expiry and issuer. Data from crt.sh (Sectigo) with Cert Spotter (SSLMate) as fallback; the response names the source. Only names in public certificates, no DNS brute force. Paid tool: x402 USDC on Base, $0.003 per successful call; call without payment to receive the PaymentRequired object.
- 2026-10-12 `ssl` added
  - Use when you need to know whether a website or mail server has a valid HTTPS certificate or when it expires: opens a live TLS connection (SNI) to the host and returns whether the chain is publicly trusted (with the exact error, e.g. CERT_HAS_EXPIRED or self-signed), whether the certificate matches the hostname, validity dates and days remaining, subject, issuer, SAN list, key type, TLS protocol, cipher, ALPN and the certificate chain. Answers about the certificate even when it is invalid (that is the point); unreachable hosts are not charged. Paid tool: x402 USDC on Base, $0.003 per successful call; call without payment to receive the PaymentRequired object.
- 2026-10-12 `email_security` changed (title)
- 2026-10-12 `availability` changed (title)
- 2026-10-12 `rdap` changed (title)
- 2026-10-12 `dns` changed (title)

Full history: https://api.protogrid.dev/v1/servers/dev.pages.scrapemole%2Fdomains/changes

## Remotes

- https://domains.scrapemole.workers.dev/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (6)

- `availability`: Use when naming a product, company or project and you need to know which domains are free: checks up to 10 domain names in one call against the authoritative registry RDAP servers (DNS delegation as fallback for TLDs without RDAP) and returns registered / available / likely-available / unknown per name, with expiry and registrar for taken ones. Paid tool: x402 USDC on Base, $0.004 per successful call; call without payment to receive the PaymentRequired object.
- `dns`: Use when you need the current DNS records of a domain or hostname: resolves the requested record types live over DNS-over-HTTPS (Cloudflare 1.1.1.1 with Google fallback) and returns every answer with TTL, plus the response code (NOERROR/NXDOMAIN) and whether DNSSEC validated. Up to 8 types per call. Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.
- `email_security`: Use when you need to check whether a domain is protected against email spoofing or set up for deliverability: reads MX (and guesses the mail provider), SPF (qualifier, lookup count), DMARC (policy, pct, report addresses), DKIM on common selectors, MTA-STS (record and policy mode), TLS-RPT and BIMI, and returns a grade A-F, a score and a list of concrete issues. Paid tool: x402 USDC on Base, $0.003 per successful call; call without payment to receive the PaymentRequired object.
- `rdap`: Use when you need to know who registered a domain through (registrar), when it was created, when it expires, its EPP status (e.g. clientTransferProhibited), nameservers and DNSSEC: queries the authoritative registry RDAP server (the modern WHOIS) found via the IANA bootstrap. Registrant personal data is never returned. Answers 404 (not charged) when the domain is not registered. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.
- `ssl`: Use when you need to know whether a website or mail server has a valid HTTPS certificate or when it expires: opens a live TLS connection (SNI) to the host and returns whether the chain is publicly trusted (with the exact error, e.g. CERT_HAS_EXPIRED or self-signed), whether the certificate matches the hostname, validity dates and days remaining, subject, issuer, SAN list, key type, TLS protocol, cipher, ALPN and the certificate chain. Answers about the certificate even when it is invalid (that is the point); unreachable hosts are not charged. Hosts served by Cloudflare's own network cannot be probed live from our Workers; for those the response has live:false and shows the newest unexpired certificate logged for the host in Certificate Transparency (trusted:null). Paid tool: x402 USDC on Base, $0.003 per successful call; call without payment to receive the PaymentRequired object.
- `subdomains`: Use for attack-surface mapping, asset inventory or competitive research: lists every hostname under a domain that appears in unexpired publicly-logged TLS certificates, deduplicated, with wildcard flag, first-seen date, latest certificate expiry and issuer. Data from crt.sh (Sectigo) with Cert Spotter (SSLMate) as fallback; the response names the source. Only names in public certificates, no DNS brute force. Paid tool: x402 USDC on Base, $0.003 per successful call; call without payment to receive the PaymentRequired object.
