npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

domainlooker

v0.3.0

Published

A fast CLI and MCP server for inspecting domains: WHOIS/RDAP, DNS, SSL, ports, subdomains, with CSV/JSON export.

Readme

domainlooker

A fast command-line suite and MCP server for inspecting domains — WHOIS, DNS, SSL, open ports, and subdomains — with CSV and JSON export.

Every lookup runs in parallel, WHOIS uses RDAP (HTTP/JSON) first with a port-43 fallback, and timeouts are tight, so a full report typically lands in ~1–2 seconds.

Documentation · npm · GitHub

npm version License: MIT

Install

npm install -g domainlooker

Usage

Run a full report on a domain:

domainlooker example.com

Or use a single-aspect subcommand when you only need one thing:

domainlooker whois example.com
domainlooker dns example.com
domainlooker ssl example.com
domainlooker ports example.com
domainlooker subdomains example.com

Commands

| Command | Description | | --- | --- | | inspect <domains...> | Full report: WHOIS, DNS, SSL, ports, and advisories (this is the default, so domainlooker <domain> runs it) | | whois <domain> | Registration data | | dns <domain> | DNS records (A, AAAA, MX, NS, TXT, SOA) | | ssl <domain> | SSL certificate details and expiry | | ports <domain> | Scan common ports and identify services | | subdomains <domain> | Discover subdomains via certificate transparency and common-name checks | | propagation <domain> | Check DNS propagation across ~25 public resolvers worldwide (--type, --map) | | mcp | Run as an MCP server over stdio (see below) |

inspect options

-q, --quick              Skip the port scan
--subdomains             Also discover subdomains
-p, --parallel <number>  Domains to process in parallel (default: 3)
--export-csv <file>      Write results to a CSV file
--export-json <file>     Write results to a JSON file
-v, --verbose            Show underlying errors

Examples

# Inspect several domains at once
domainlooker google.com github.com microsoft.com

# Quick scan plus subdomain discovery
domainlooker example.com --quick --subdomains

# Export to CSV and JSON
domainlooker example.com --export-csv report.csv --export-json report.json

DNS propagation

domainlooker propagation <domain> queries a worldwide spread of ~25 public resolvers — regional ISP resolvers on every inhabited continent plus the global anycast providers — and reports which are already in sync with the majority answer. Useful after changing a record, or to spot GeoDNS differences.

domainlooker propagation example.com                 # table of resolver answers + % in sync
domainlooker propagation example.com --type AAAA     # any of A, AAAA, CNAME, MX, NS, TXT
domainlooker propagation example.com --map world.html  # + an interactive world-map report

--map writes a self-contained HTML page: a world map with each resolver plotted at its location, crosses flipping to ticks as regions come into sync, alongside a per-resolver list. Open it in a browser.

MCP server

domainlooker mcp runs an MCP server over stdio so AI agents can pull domain intelligence directly. inspect_domain results are cached for a few minutes, so repeat calls return instantly. Every tool refuses IP literals and hosts that resolve to private/loopback/link-local addresses, so an agent can't turn the server into an internal-network scanner.

Register it with any MCP client. For example:

{
  "mcpServers": {
    "domainlooker": {
      "command": "domainlooker",
      "args": ["mcp"]
    }
  }
}

Tools exposed:

| Tool | Description | | --- | --- | | inspect_domain | Full intelligence for a domain (WHOIS, DNS, SSL, ports, advisories) as one structured object. Args: domain, includePorts (default true), includeSubdomains (default false). | | whois_lookup | Registration data (RDAP with WHOIS fallback). | | dns_records | A, AAAA, MX, NS, TXT, SOA records. | | ssl_certificate | TLS certificate details and days until expiry. | | scan_ports | Open TCP ports and identified services. | | find_subdomains | Subdomains via certificate transparency and common names. | | dns_propagation | Per-resolver answers worldwide + an in-sync percentage (recordType optional). |

Example output

Report: example.com
═══════════════════

DNS records
───────────
┌───────────────┬───────────────────────────────┐
│ A             │ 93.184.216.34                 │
│ NS            │ a.iana-servers.net            │
│               │ b.iana-servers.net            │
└───────────────┴───────────────────────────────┘

SSL certificate
───────────────
┌────────────────────┬──────────────────────────┐
│ Subject            │ CN=example.com           │
│ Issuer             │ DigiCert Inc             │
│ Days until expiry  │ 180                      │
└────────────────────┴──────────────────────────┘

Advisories
──────────
No issues found.

JSON export

--export-json writes a structured document (schema described in docs/09-json-export-api.md) suitable for feeding into other tools or automation.

Requirements

  • Node.js 18 or higher
  • Internet access for lookups

License

MIT — see LICENSE.