Nslookup

io.github.venomsevenPublished by GitHub account venomsevenv1.6.0Updated Oct 24, 2026

DNS lookups, health reports, SSL certs, security scans, GEO scoring, uptime checks

Overview

AI-generated overview

nslookup.io MCP server for DNS lookups, SSL and security checks, GEO scoring, uptime tests, and reading your own monitoring account.

What you can do
  • Look up DNS records for a domain, including a specific record type, propagation across global resolvers, and IP addresses
  • Audit DNS health, SSL/TLS certificates, BIMI/VMC records, email security posture, and general security findings
  • Review a proposed DNS change against current records with a diff and risk score
  • Check website uptime from one location or seven, and read public status pages
  • Look up registration data (RDAP) and hosting details such as provider, CDN, and mail servers
  • Score a domain's readiness for AI search engines and read your own monitoring overview, monitors, incidents, uptime history, DNS changes, and certificate expiry
When to use it
Useful when you want an assistant to diagnose DNS, email authentication, certificate, or hosting questions for a domain, or to check whether a site is up and how it is set up for AI crawlers. The account tools suit people who already monitor domains on nslookup.io and want to query that data conversationally.
Requirements
Either the hosted endpoint at mcp.nslookup.io over Streamable HTTP, or the npm package run locally with npx, which needs Node.js 18 or newer. The 17 public tools need no account or key. The six account tools require the hosted endpoint and a one-time browser sign-in (OAuth); they are not available in local mode. Network access to nslookup.io is required.
Before you install
The account tools read private monitoring data, so sign-in grants the assistant access to your nslookup.io account; sign-in is browser OAuth, with no API key. Lookups send the queried domains, IPs, and URLs to nslookup.io's servers. Register only one nslookup entry (hosted or local), since duplicate registrations can route tool calls to the wrong server. Tools are read-only lookups and reviews; dns_change_review only compares a proposed change and does not apply it.

Installation

In SourceWeft

  1. Open Nslookup in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.venomseven%2Fnslookup/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "nslookup": {
      "type": "http",
      "url": "https://mcp.nslookup.io/mcp"
    }
  }
}

README

[NSLookup.io]

MCP Server for nslookup.io
DNS lookups, SSL certificate checks, security scanning, GEO (AI readiness) scoring, domain intelligence, and your own monitoring account — via the Model Context Protocol.

Website · API Docs · npm · Contact

What is this?

The nslookup.io MCP server gives any MCP-capable AI assistant (Claude, ChatGPT, Cursor, Windsurf, …) direct access to nslookup.io's DNS, certificate, security, and monitoring tools. Ask in plain language — "Run a DNS health check on github.com" or "Which of my SSL certificates expire soonest?" — and the assistant calls the right tool for you.

23 tools total, in two groups:

  • 17 public tools — DNS, SSL, security, GEO, and domain-intelligence lookups that work anonymously, with no account and no API key.
  • 6 my_ account tools — read your own nslookup.io monitoring account (uptime, DNS, WHOIS, SSL, propagation, BIMI/VMC monitors). These are always listed but require signing in.

Jump to Connect to get set up, or the Tool reference for the full list.

Connect

There are two ways to connect. Pick one — see the note below.

Hosted (recommended)Local (npx / stdio)
Endpointhttps://mcp.nslookup.io/mcpnpx -y @nslookup-io/mcp-server
TransportStreamable HTTP (remote)stdio (runs on your machine)
InstallNothing to installRequires Node.js 18+
17 public tools✅ Anonymous✅ Anonymous
6 my_ account tools✅ Browser sign-in (OAuth) on first use❌ Not available locally — use the hosted connector

Use the hosted endpoint if you want your own monitoring data — it's the only mode where the my_ account tools sign in for you, right in the browser. The local mode is great for the 17 public tools with zero setup.

Connect for your account (portal) tools

To use your own NsLookup.io monitoring data (the 6 my_ account tools), add the hosted connector and sign in. There is no API key — authentication is a one-time browser sign-in (OAuth) against your nslookup.io account.

Claude Code (CLI)

bash
claude mcp add --transport http nslookup https://mcp.nslookup.io/mcp

Then invoke an account tool — e.g. ask "show my monitoring overview". A browser sign-in window appears; after you sign in once, all 6 my_ tools work (the client remembers it).

Claude Desktop / claude.ai — add a custom connector with URL https://mcp.nslookup.io/mcp, then sign in when prompted.

.mcp.json (project) or any HTTP-capable client:

json
{ "mcpServers": { "nslookup": { "type": "http", "url": "https://mcp.nslookup.io/mcp" } } }

The 17 public tools work immediately over this same endpoint — you only sign in the first time you reach for your own data.

Hosted (recommended)

The hosted endpoint is a remote Streamable-HTTP server. Public tools work immediately; the first time you call a my_ tool, an OAuth-capable client opens a browser window to sign in to your nslookup.io account (see Signing in).

Claude Code (CLI)

bash
claude mcp add --transport http nslookup https://mcp.nslookup.io/mcp

Claude Desktop / claude.ai (custom connector)

  1. Open Settings → Connectors
  2. Click Add custom connector
  3. Name: nslookup — URL: https://mcp.nslookup.io/mcp
  4. Click Add

Or drop it into an .mcp.json (project) / your client's MCP config:

json
{  "mcpServers": {    "nslookup": {      "type": "http",      "url": "https://mcp.nslookup.io/mcp"    }  }}

ChatGPT

  1. Open Settings → Connected apps (or Tools & integrations)
  2. Click Add custom integration / Add MCP server
  3. Name: nslookup — URL: https://mcp.nslookup.io/mcp
  4. Save

Cursor / Windsurf (and any HTTP-capable client)

Add to your MCP config (.cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json, etc.):

json
{  "mcpServers": {    "nslookup": {      "type": "http",      "url": "https://mcp.nslookup.io/mcp"    }  }}

Local (npx / stdio)

Runs the server on your machine over stdio. Public tools only — all 17 public tools work with no auth. For your own monitoring data (the my_ account tools), use the hosted connector and sign in — the account tools are not available on the local transport.

Claude Code (CLI)

bash
# Global (all projects)claude mcp add nslookup --scope user -- npx -y @nslookup-io/mcp-server
# Or for a single projectclaude mcp add nslookup --scope project -- npx -y @nslookup-io/mcp-server

Claude Desktop — add to claude_desktop_config.json:

json
{  "mcpServers": {    "nslookup": {      "command": "npx",      "args": ["-y", "@nslookup-io/mcp-server"]    }  }}

Cursor (.cursor/mcp.json) / Windsurf (~/.codeium/windsurf/mcp_config.json):

json
{  "mcpServers": {    "nslookup": {      "command": "npx",      "args": ["-y", "@nslookup-io/mcp-server"]    }  }}

⚠️ Use only ONE nslookup entry

Configure either the hosted entry or the local entry — not both. If two MCP servers named nslookup are registered at once (e.g. a hosted connector plus a local npx entry), tool calls can route to the wrong server and behave unpredictably. Pick the mode you want and remove the other.

Signing in

  • 17 public tools — no account, no key, nothing to sign in for. They call public, stateless, no-auth endpoints.
  • 6 my_ account tools — read your private monitoring data, so they require sign-in:
    • Hosted endpoint → browser OAuth. The server is an OAuth 2.1 resource server. Calling a my_ tool without credentials returns a 401 with a WWW-Authenticate challenge, and OAuth-capable clients (Claude web/desktop, Claude Code, …) then walk you through a browser sign-in against the nslookup.io identity provider (Keycloak). There is no API key — sign in once and the client remembers it. Everything else keeps working anonymously — you only sign in when you first reach for your own data. See Connect for your account (portal) tools.

Tool reference

Public tools (17 — anonymous)

DNS
ToolDescription
dns_lookupLook up all common DNS records (A, AAAA, NS, MX, TXT, CNAME, SOA) for a domain
dns_recordLook up a specific DNS record type — supports all 53 types (HTTPS, DNSKEY, TLSA, SPF, etc.)
dns_propagationCheck DNS propagation across 18+ global servers (Cloudflare, Google, Quad9, regional, authoritative)
webserversGet IPv4 and IPv6 addresses for a domain
dns_change_reviewReview proposed DNS changes before applying them: diff vs current DNS, rule-based findings with fixes, and a 0–100 risk score
Domain intelligence
ToolDescription
rdap_lookupRegistration data (RDAP) for an IP, AS number, or domain — owner org, network range, RIR, contacts, dates
hosting_reportWho hosts a website: hosting provider, CDN/proxy, DNS provider, mail servers, server location, SSL issuer
status_pageRead a public status page (by slug or custom domain): overall status, components, active incidents
DNS health & security
ToolDescription
dns_healthRun a DNS health audit (39 checks across DNSSEC, MX, hygiene, TTL, nameservers, CAA, operational maturity) with severity-weighted scoring
ssl_certificateCheck SSL/TLS certificate — issuer, expiry, chain validity, cipher strength, SAN domains, TLS version
bimi_vmcCheck BIMI record and VMC (Verified Mark Certificate) — logo URL, trademark info, certificate expiry
bimi_checkCheck only the BIMI DNS record (faster — skips the VMC certificate fetch)
security_scanScan a domain for security issues — SPF/DKIM/DMARC, cookie security, DNS misconfigurations
domain_scannerScan a domain's email security posture (SPF, DKIM, DMARC, BIMI) with per-indicator scores
uptime_checkOne-time HTTP uptime check — status, response time, HTTP status code
uptime_check_multiCheck if a site is up from 7 global locations — Amsterdam, Sydney, London, Frankfurt, Delhi, Warsaw, South Carolina
GEO (AI readiness)
ToolDescription
geo_checkerCheck a domain's GEO (Generative Engine Optimization) score — AI crawler access, structured data, entity signals, content extractability, and prioritized recommendations

Account tools (6 — require sign-in)

These my_ tools read your own nslookup.io monitoring account. They are always listed but require signing in to call.

ToolDescription
my_overviewAccount health snapshot — aggregated 0–100 score with per-subsystem breakdown, plus your limits/quota
my_monitorsList all your monitors across every type (uptime, API, DNS, WHOIS, propagation, certificates, VMC)
my_incidentsOpen (or all recent) incidents across all monitoring types, with a per-status/per-source summary
my_uptime_historyUptime + response-time history for one monitor (by id or URL) over a configurable window
my_dns_changesRecent DNS changes on your monitored domains with their risk reviews (0–100 score, severity counts)
my_certificatesSSL certificate expiry overview — alert-level counts and certificates sorted by soonest expiry

Supported DNS record types

A, AAAA, AFSDB, APL, AXFR, CAA, CDNSKEY, CDS, CERT, CNAME, CSYNC, DHCID, DLV, DNAME, DNSKEY, DS, EUI48, EUI64, HINFO, HIP, HTTPS, IPSECKEY, IXFR, KEY, KX, LOC, MX, NAPTR, NS, NSEC, NSEC3, NSEC3PARAM, NXT, OPENPGPKEY, OPT, PTR, RP, RRSIG, SIG, SMIMEA, SOA, SPF, SRV, SSHFP, SVCB, TA, TKEY, TLSA, TSIG, TXT, URI, ZONEMD

DNS servers

cloudflare, google, quad9, opendns, authoritative, and regional servers in South Africa, Australia, India, Netherlands, Canada, USA, Brazil, Ukraine, Russia.

Configuration

Environment VariableDefaultDescription
NSLOOKUP_API_URLhttps://www.nslookup.ioBase URL for the nslookup.io API
MCP_RESOURCE_URL(request-derived)(HTTP server) Explicit public origin of this resource server, used as the issuer/resource/authorization_servers value in OAuth metadata. When unset, the origin is derived from the incoming request (X-Forwarded-Proto + host). Set it to the fixed public URL (e.g. https://mcp.nslookup.io) in production.
KEYCLOAK_ISSUERhttps://auth.nslookup.io/realms/nslookup-io(HTTP server) OAuth token issuer used to validate sign-in JWTs (JWKS, issuer, exp)
KEYCLOAK_REALM_URL(= KEYCLOAK_ISSUER)(HTTP server) Keycloak realm base URL whose /.well-known/openid-configuration supplies the real authorization_endpoint/token_endpoint. For Keycloak this equals the issuer, so it rarely needs setting.
KEYCLOAK_CLIENT_IDnslookup-io-mcp(HTTP server) The pre-registered public Keycloak client id returned by the DCR shim. This client must already exist in the realm; no Keycloak DCR is enabled.
How hosted OAuth sign-in works under the hood

The hosted server is an OAuth 2.1 resource server: calling a my_ tool without credentials returns a 401 with a WWW-Authenticate challenge pointing at /.well-known/oauth-protected-resource, and OAuth-capable MCP clients then walk you through sign-in against the nslookup.io identity provider.

Sign-in works for DCR-only clients (Claude web/desktop, Claude Code) without enabling Keycloak DCR. The server also acts as its own OAuth authorization server for metadata: GET /.well-known/oauth-authorization-server returns an issuer equal to this server's own origin, with authorization_endpoint/token_endpoint pointing at the real Keycloak endpoints (fetched from the realm's OpenID configuration, cached with a static fallback) and registration_endpoint set to <origin>/register. Because the advertised issuer is this server, clients that compute {issuer}/register hit our Dynamic Client Registration (DCR) shim at POST /register (also POST /oauth/register), which ignores the submitted metadata and returns one pre-registered public Keycloak client (KEYCLOAK_CLIENT_ID, default nslookup-io-mcp) with token_endpoint_auth_method: "none", echoing back the requested redirect URIs. The browser sign-in and the PKCE code→token exchange happen directly on Keycloak. A public client with KEYCLOAK_CLIENT_ID must already exist in the realm; no Keycloak DCR endpoint is used or exposed.

Example prompts

Once connected, try asking your AI assistant:

  • "What are the DNS records for github.com?"
  • "Check the MX records for google.com"
  • "Has the DNS propagated for my-domain.com A record?"
  • "What IP addresses does cloudflare.com resolve to?"
  • "Show me the DNSKEY records for example.com"
  • "Check the SPF record for amazon.com"
  • "Run a DNS health check on example.com"
  • "What's the DNSSEC status of cloudflare.com?"
  • "Check the DNS health score for my-domain.com — are there any critical issues?"
  • "Check the SSL certificate for github.com"
  • "Does google.com have a BIMI record?"
  • "Run a security scan on example.com"
  • "Is https://cloudflare.com up right now?"
  • "Check if github.com is accessible from all global locations"
  • "Check DNS propagation for example.com NS records across all global servers"
  • "Check the GEO score for github.com"
  • "Is example.com optimized for AI search engines?"
  • "Which AI crawlers does cloudflare.com block?"
  • "Who owns the IP 8.8.8.8?"
  • "Look up registration data for AS13335"
  • "Who hosts github.com?"
  • "Review this DNS change for example.com before I apply it: ..."
  • "Scan example.com's email security (SPF, DKIM, DMARC)"
  • "Is the nslookup-io status page reporting any incidents?"

And once signed in to your nslookup.io account:

  • "How healthy is my monitoring right now?"
  • "List all my monitors — anything down or expiring?"
  • "Do I have any open incidents?"
  • "Show me the uptime history for https://myapp.com over the last 48 hours"
  • "Any risky DNS changes on my domains recently?"
  • "Which of my SSL certificates expire soonest?"

Feedback

We'd love to hear from you! At nslookup.io, we're building a fast, reliable, and free DNS lookup tool and monitoring platform for everyone — from developers and sysadmins to everyday internet users.

Your feedback is what helps us improve. Whether you've spotted a bug, have a feature idea, or just want to share your thoughts — we're listening. Contact us.

License

Apache 2.0

Source: README.md at commit 36dd0ff

Tools

23

dns_lookup

Look up all common DNS records (A, AAAA, NS, MX, TXT, CNAME, SOA) for a domain. Returns results from a specified DNS server.

Parametersdomainrequiredserver

dns_record

Look up a specific DNS record type for a domain. Supports 53 record types including A, AAAA, MX, TXT, CNAME, SOA, PTR, CAA, SRV, DNSKEY, DS, TLSA, HTTPS, SPF, and more.

Parameterstyperequireddomainrequiredserver

dns_propagation

Check DNS propagation for a domain across 18+ global DNS servers (Cloudflare, Google, Quad9, OpenDNS, regional servers, and authoritative nameservers). Shows if DNS changes have propagated worldwide.

ParametersdomainrequiredrecordTyperequired

webservers

Get the IP addresses (both IPv4 and IPv6) for a domain by looking up A and AAAA records. Also returns the punycode and unicode domain representations.

Parametersdomainrequired

ssl_certificate

Check the SSL/TLS certificate for a domain. Returns issuer, expiry date, days until expiry, certificate chain validity, cipher strength, SAN domains, fingerprint, and TLS protocol version.

Parametersdomainrequired

bimi_vmc

Check BIMI (Brand Indicators for Message Identification) and VMC (Verified Mark Certificate) for a domain. Returns BIMI DNS record status, VMC certificate details, logo URL, trademark info, and expiry.

Parametersdomainrequired

security_scan

Run a security scan on a domain to detect DNS misconfigurations, missing SPF/DKIM/DMARC records, cookie security issues, and other web security vulnerabilities. Returns findings with severity levels (critical, high, medium, low, info).

Parametersdomainrequired

uptime_check

Perform a one-time HTTP uptime check on a URL from a single location. Returns whether the site is up or down, HTTP status code, and response time in milliseconds. For multi-location checks, use uptime_check_multi instead.

Parametersurlrequiredtimeout

uptime_check_multi

Check if a website is up or down from 7 global locations simultaneously: Amsterdam, Sydney, London, Frankfurt, Delhi, Warsaw, and South Carolina. Returns status, response time, and HTTP status code for each location.

Parametersurlrequiredtimeout

dns_health

Run a comprehensive DNS health audit on a domain — 39 checks across 7 categories: DNSSEC (chain of trust, algorithms, validation), MX & email (PTR, MTA-STS, redundancy), DNS hygiene (SPF conflicts, wildcards, apex CNAME), TTL & SOA configuration, nameserver setup (diversity, lame delegation, EDNS0), CAA certificates, and operational maturity (security.txt, abuse mailbox). Returns an overall severity-weighted score (0–100) plus per-category scores.

Parametersdomainrequired

geo_checker

Check a domain's GEO (Generative Engine Optimization) score — how well the site is optimized for AI search engines like ChatGPT, Gemini, Claude, and Perplexity. Returns three scores (Technical Readiness, Entity Readiness, Answer Readiness), AI crawler access status, structured data analysis, and prioritized recommendations.

Parametersdomainrequired

rdap_lookup

Look up registration data (RDAP — the successor to WHOIS) for an IP address, AS number, or domain name. The query type is detected automatically. Returns the owning organization, network range/CIDR, RIR (ARIN, RIPE, APNIC, LACNIC, AFRINIC), country, status, registration/last-changed dates, nameservers, and abuse/registrant contacts, plus the raw RDAP JSON.

Parametersqueryrequired

hosting_report

Find out who hosts a website. Returns the hosting provider, IP/ASN/network owner, server location, DNS/nameserver provider, CDN or proxy detection (Cloudflare, Fastly, etc.), SSL certificate issuer, and mail servers/provider for a domain in one combined report.

Parametersdomainrequired

domain_scanner

Scan a domain's email security posture: SPF, DKIM, DMARC, and BIMI configuration. Returns per-indicator scores and detected issues so you can see how well the domain is protected against spoofing and phishing.

Parametersdomainrequired

dns_change_review

Review proposed DNS changes BEFORE applying them. Compares a domain's current public DNS with a proposed future state, returns a diff, deterministic rule-based findings (SPF/DMARC/MX/CAA/DNSSEC pitfalls, dangling records, mail breakage, etc.) with suggested fixes, and an overall 0-100 risk score. Stateless — nothing is stored.

Parametersdomainrequiredserverrecordsrequired

bimi_check

Check only the BIMI (Brand Indicators for Message Identification) DNS record for a domain — faster than bimi_vmc because it skips the VMC certificate download and validation. Returns the BIMI record at default._bimi.<domain>, logo URL, and authority (VMC) URL if declared.

Parametersdomainrequired

status_page

Read a public status page hosted on nslookup.io status pages. Returns the page name, overall status, per-component status and uptime, and active incidents/maintenance. Look up by slug (pages served at hosted.nslookup.io/<slug>) or by the custom domain the page is served on. Provide exactly one of slug or domain.

Parametersslugdomain

my_overview

Get an account health snapshot for your NsLookup.io monitoring: an aggregated 0-100 health score with per-subsystem breakdown (uptime, SSL, DNS, propagation, VMC, WHOIS) plus your current product limits/quota. Requires sign-in to your NsLookup.io account (or an API token).

Takes no parameters.

my_monitors

List all monitors in your NsLookup.io account across every type — uptime, API, DNS, WHOIS, DNS propagation, SSL certificates, and BIMI/VMC — with their configuration and latest known state. Requires sign-in to your NsLookup.io account (or an API token).

Takes no parameters.

my_incidents

List incidents from your NsLookup.io monitoring (downtime, SSL expiry, DNS changes, propagation issues, VMC problems) — open ones by default, or the full recent history — plus a per-status/per-source summary. Requires sign-in to your NsLookup.io account (or an API token).

Parameterslimitstatus

my_uptime_history

Get uptime and response-time history for one of your NsLookup.io uptime monitors: availability stats plus hourly buckets over the requested window. Identify the monitor by id or by URL. Requires sign-in to your NsLookup.io account (or an API token).

ParametersurlhoursmonitorId

my_dns_changes

List recent DNS changes detected on your monitored domains, each with its DNS Change Review risk assessment (0-100 risk score, severity counts, added/removed/modified record counts), plus the latest risk per monitor. Requires sign-in to your NsLookup.io account (or an API token).

Parameterslimit

my_certificates

Get an SSL certificate expiry overview for your monitored domains: per-alert-level counts (ok / warning / critical / expired) and every certificate sorted by soonest expiry, highlighting the ones expiring within 30 days. Requires sign-in to your NsLookup.io account (or an API token).

Takes no parameters.

Version history

1
  1. v1.6.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts