Domain Monitor MCP Server

MCP server for domain monitoring — check WHOIS registration expiry via RDAP and SSL/TLS certificate expiry via crt.sh. Zero API keys, zero signup required.

Documentation

Domain Monitor MCP Server

CI Glama Score smithery badge License: MIT Node.js

MCP (Model Context Protocol) server for domain monitoring. Check WHOIS registration expiry via RDAP and SSL/TLS certificate expiry via crt.sh Certificate Transparency logs — zero API keys, zero signup required.

Why

SSL certificates expire silently and take down production services. WHOIS registration expiry can lose your domain. This MCP server lets AI assistants (Claude Desktop, Claude Code, Cursor, Windsurf) proactively check domain health before it becomes an incident — no external monitoring dashboard needed, just ask your AI.

Tools

domain_check — Check Single Domain

Check WHOIS registration expiry and SSL/TLS certificate expiry for one domain. Fetches WHOIS data via RDAP (free, no auth) and SSL data from crt.sh Certificate Transparency logs (free, no auth). URLs with protocols are auto-normalized (e.g., https://www.example.com/pathexample.com).

Input (domain_check):

ParameterTypeRequiredDescription
domainstringYesDomain or URL to check. Examples: "example.com", "https://www.github.com"

Returns: JSON object with:

  • domain (string): Normalized domain name
  • whoisExpiry (string | null): WHOIS registration expiration date (ISO 8601)
  • whoisDaysLeft (number | null): Days until expiry (negative = expired)
  • sslExpiry (string | null): SSL/TLS certificate expiration date (ISO 8601)
  • sslDaysLeft (number | null): Days until SSL expiry (negative = expired)
  • sslIssuer (string | null): Certificate issuer organization name

LLM prompting hints: Use when the user asks a targeted question about one domain — "is example.com expired?", "check github.com SSL", "when does my domain expire?". Prefer domain_check over domain_check_batch when checking ≤3 domains for readability.

domain_check_batch — Check Multiple Domains

Check multiple domains in parallel (up to 50) with configurable warning thresholds. Each domain returns a severity classification. Returns a summary with counts by status plus per-domain details.

Input (domain_check_batch):

ParameterTypeRequiredDefaultDescription
domainsstring[]YesList of domain names or URLs (1–50). URLs are auto-normalized.
whoisWarnDaysnumberNo30Days threshold for WHOIS warning (1–365)
sslWarnDaysnumberNo14Days threshold for SSL warning (1–365)

Severity classification (per domain):

StatusMeaning
okBoth WHOIS and SSL have > threshold days remaining
warningAt least one expiry is within the warning threshold
criticalAt least one expiry is within half the warning threshold
expiredAt least one expiry date is in the past
errorCheck failed for this domain (see error field)

Returns: JSON object with total, ok, warning, critical, expired, error counts plus results array (each with domain, status, whoisExpiry, whoisDaysLeft, sslExpiry, sslDaysLeft, sslIssuer, error).

LLM prompting hints: Use for portfolio-wide health checks — "check all our domains", "find any domains expiring soon", "audit SSL certs across the company". Adjust whoisWarnDays and sslWarnDays based on user's renewal workflow (e.g., use sslWarnDays=30 for enterprises with slow certificate renewal processes).


## Usage

### Claude Code

```bash
claude mcp add domain-monitor -- npx domain-monitor-mcp-server

Claude Desktop

{
  "mcpServers": {
    "domain-monitor": {
      "command": "npx",
      "args": ["domain-monitor-mcp-server"]
    }
  }
}

Manual

npx domain-monitor-mcp-server

Data Sources

SourceProtocolRate LimitAPI Key
rdap.orgRDAP (WHOIS successor)None documentedNone
crt.shCertificate Transparency~10 req/sNone

Install

npm install -g domain-monitor-mcp-server

Related

  • Domain Expiry GitHub Action — Automated domain expiry monitoring as a CI workflow. Runs on schedule, checks domains, opens GitHub Issues on warnings. Zero config, zero API keys.
  • Domain Monitor Client — Web dashboard for domain monitoring. Visual overview of all your domains' health status. Export to CSV.

Development

npm install
npm run dev     # Watch mode
npm run build   # Production build