Skip to main content
Glama
NsLookup-io

nslookup.io MCP Server

by NsLookup-io

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.

Related MCP server: BasicSec MCP Server

Connect

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

Hosted (recommended)

Local (npx / stdio)

Endpoint

https://mcp.nslookup.io/mcp

npx -y @nslookup-io/mcp-server

Transport

Streamable HTTP (remote)

stdio (runs on your machine)

Install

Nothing to install

Requires 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)

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:

{ "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.

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)

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:

{
  "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.):

{
  "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)

# Global (all projects)
claude mcp add nslookup --scope user -- npx -y @nslookup-io/mcp-server

# Or for a single project
claude mcp add nslookup --scope project -- npx -y @nslookup-io/mcp-server

Claude Desktop — add to claude_desktop_config.json:

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

Cursor (.cursor/mcp.json) / Windsurf (~/.codeium/windsurf/mcp_config.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

Tool

Description

dns_lookup

Look up all common DNS records (A, AAAA, NS, MX, TXT, CNAME, SOA) for a domain

dns_record

Look up a specific DNS record type — supports all 53 types (HTTPS, DNSKEY, TLSA, SPF, etc.)

dns_propagation

Check DNS propagation across 18+ global servers (Cloudflare, Google, Quad9, regional, authoritative)

webservers

Get IPv4 and IPv6 addresses for a domain

dns_change_review

Review proposed DNS changes before applying them: diff vs current DNS, rule-based findings with fixes, and a 0–100 risk score

Domain intelligence

Tool

Description

rdap_lookup

Registration data (RDAP) for an IP, AS number, or domain — owner org, network range, RIR, contacts, dates

hosting_report

Who hosts a website: hosting provider, CDN/proxy, DNS provider, mail servers, server location, SSL issuer

status_page

Read a public status page (by slug or custom domain): overall status, components, active incidents

DNS health & security

Tool

Description

dns_health

Run a DNS health audit (39 checks across DNSSEC, MX, hygiene, TTL, nameservers, CAA, operational maturity) with severity-weighted scoring

ssl_certificate

Check SSL/TLS certificate — issuer, expiry, chain validity, cipher strength, SAN domains, TLS version

bimi_vmc

Check BIMI record and VMC (Verified Mark Certificate) — logo URL, trademark info, certificate expiry

bimi_check

Check only the BIMI DNS record (faster — skips the VMC certificate fetch)

security_scan

Scan a domain for security issues — SPF/DKIM/DMARC, cookie security, DNS misconfigurations

domain_scanner

Scan a domain's email security posture (SPF, DKIM, DMARC, BIMI) with per-indicator scores

uptime_check

One-time HTTP uptime check — status, response time, HTTP status code

uptime_check_multi

Check if a site is up from 7 global locations — Amsterdam, Sydney, London, Frankfurt, Delhi, Warsaw, South Carolina

GEO (AI readiness)

Tool

Description

geo_checker

Check 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.

Tool

Description

my_overview

Account health snapshot — aggregated 0–100 score with per-subsystem breakdown, plus your limits/quota

my_monitors

List all your monitors across every type (uptime, API, DNS, WHOIS, propagation, certificates, VMC)

my_incidents

Open (or all recent) incidents across all monitoring types, with a per-status/per-source summary

my_uptime_history

Uptime + response-time history for one monitor (by id or URL) over a configurable window

my_dns_changes

Recent DNS changes on your monitored domains with their risk reviews (0–100 score, severity counts)

my_certificates

SSL 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 Variable

Default

Description

NSLOOKUP_API_URL

https://www.nslookup.io

Base 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_ISSUER

https://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_ID

nslookup-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.

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

Available Tools

8 tools
bimi_vmcAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to check BIMI/VMC for (e.g. google.com)

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool returns (BIMI DNS record status, VMC certificate details, etc.), which is helpful, but doesn't mention error handling, rate limits, authentication requirements, or whether it's a read-only operation. The description adds value but lacks comprehensive behavioral 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 a single, well-structured sentence that efficiently conveys the tool's purpose and return values. It's front-loaded with the main action and provides specific details without unnecessary elaboration, making every word count.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (checking multiple verification aspects), no annotations, and no output schema, the description is adequate but incomplete. It specifies what information is returned but doesn't cover error cases, format of return values, or operational constraints. It meets minimum viability but leaves gaps in contextual understanding.

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

Parameters4/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 the single parameter 'domain' with an example. The description adds no additional parameter semantics beyond what's in the schema. With only one parameter, the baseline is 4, as minimal parameter explanation is needed.

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 clearly states the specific action ('Check BIMI and VMC for a domain') and the resources involved (BIMI DNS record, VMC certificate, logo URL, trademark info, expiry). It distinguishes itself from sibling tools like dns_lookup or ssl_certificate by focusing specifically on BIMI/VMC verification rather than general DNS or SSL checks.

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 description implies usage context (checking BIMI/VMC for domains) but doesn't explicitly state when to use this tool versus alternatives like dns_record or ssl_certificate. No guidance is provided about prerequisites, exclusions, or specific scenarios where this tool is preferred over siblings.

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

dns_lookupAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to look up (e.g. example.com)
serverNoDNS server to query. Default: cloudflare. Use 'authoritative' for the domain's own nameservers.

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the tool's behavior by specifying the types of DNS records returned and the server querying aspect. However, it lacks details on rate limits, error handling, or response format, which are important for a network tool. The description does not contradict any annotations, as none exist.

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 two sentences that are front-loaded with the core purpose and efficiently detail the parameters and server behavior. Every word contributes to understanding the tool's functionality without redundancy or unnecessary elaboration.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description adequately covers the tool's purpose and parameters. However, as a network query tool, it lacks details on output structure, potential errors, or performance considerations, which would be helpful for an agent. It meets minimum viability but has gaps in completeness.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by clarifying the scope of DNS records (listing A, AAAA, etc.) and explaining the 'server' parameter's default and the 'authoritative' option, which enhances understanding beyond the schema's enum list. This elevates the score to 4.

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 clearly states the action ('look up'), the resource ('DNS records'), and specifies the scope ('all common DNS records: A, AAAA, NS, MX, TXT, CNAME, SOA'). It distinguishes itself from siblings like dns_propagation or dns_record by emphasizing comprehensive record retrieval rather than specific checks or single-record operations.

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 description implies usage for DNS queries with server options, but it does not explicitly state when to use this tool versus alternatives like dns_record or dns_propagation. It mentions a default server and the 'authoritative' option, which provides some context, but lacks clear guidance on tool selection among siblings.

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

dns_propagationAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to check propagation for (e.g. example.com)
recordTypeYesDNS record type to check (e.g. A, AAAA, MX, NS, TXT, CNAME)

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the tool's behavior by specifying the number and types of DNS servers checked and the purpose (checking propagation status). However, it lacks details on rate limits, authentication needs, error handling, or response format, which are important for a tool that queries external servers.

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 purpose in the first sentence and adds clarifying details in the second. Every sentence earns its place by specifying the scope and outcome without redundancy or unnecessary elaboration.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (querying multiple external servers) and lack of annotations and output schema, the description is somewhat complete but has gaps. It covers the purpose and scope well but omits behavioral details like response structure, potential delays, or error conditions that would help an agent use it effectively.

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 both parameters thoroughly. The description doesn't add any additional meaning beyond what's in the schema (e.g., it doesn't explain parameter interactions or provide usage examples). Baseline 3 is appropriate as the schema does the heavy lifting.

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 clearly states the specific action ('Check DNS propagation') and resource ('for a domain'), including the scope ('across 18+ global DNS servers') and examples of servers. It distinguishes from sibling tools like 'dns_lookup' by focusing on propagation status rather than general DNS querying.

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?

The description implies usage context ('Shows if DNS changes have propagated worldwide'), which suggests it's for verifying recent DNS updates. However, it doesn't explicitly state when to use this versus alternatives like 'dns_lookup' or 'dns_record', nor does it mention exclusions or prerequisites.

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

dns_recordCInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name (or IP address for PTR lookups) to query (e.g. example.com)
typeYesDNS record type (e.g. A, MX, TXT, CNAME, SPF, HTTPS, DNSKEY)
serverNoDNS server to query. Default: cloudflare. Use 'authoritative' for the domain's own nameservers.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool performs a lookup but doesn't describe what the lookup entails—whether it's a read-only query, if it requires authentication, potential rate limits, error conditions, or what the response format might be. For a tool with 3 parameters and no output schema, this is a significant gap in transparency.

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 concise and front-loaded, with the core purpose stated clearly in the first sentence. The second sentence adds useful context about supported record types without unnecessary elaboration. However, it could be slightly more structured by explicitly separating functionality from examples.

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

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain what the tool returns, how results are formatted, error handling, or performance considerations. For a DNS lookup tool with multiple configuration options, more context is needed to guide effective use.

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?

The description adds minimal value beyond the input schema, which has 100% coverage. It lists example record types ('including A, AAAA, MX, TXT, CNAME, SOA, PTR, CAA, SRV, DNSKEY, DS, TLSA, HTTPS, SPF, and more') but doesn't explain their purposes or when to use specific types. The schema already documents parameters thoroughly, so the baseline score of 3 is appropriate.

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 clearly states the tool's purpose: 'Look up a specific DNS record type for a domain.' It specifies the verb ('look up'), resource ('DNS record'), and scope ('specific type for a domain'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'dns_lookup' or 'dns_propagation', which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It mentions 'Supports 53 record types' but doesn't explain when to choose this over sibling tools like 'dns_lookup' or 'dns_propagation'. There's no mention of prerequisites, exclusions, or typical use cases, leaving the agent to infer usage context.

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

security_scanAInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to security scan (e.g. example.com)

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses the tool's purpose and output format (findings with severity levels), but doesn't mention behavioral aspects like execution time, rate limits, authentication requirements, or whether it performs active probing versus passive analysis.

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 perfectly concise with two sentences: the first states the action and scope, the second describes the return format. Every word contributes essential information with zero waste.

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?

For a single-parameter tool with no annotations and no output schema, the description provides good coverage of purpose and output format. However, it could better address behavioral aspects like execution characteristics or error conditions given the tool's security scanning complexity.

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% with the single 'domain' parameter fully documented. The description doesn't add any parameter-specific information beyond what the schema provides, maintaining the baseline score for high schema coverage.

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 clearly states the specific action ('Run a security scan') and resource ('on a domain'), listing concrete vulnerability types (DNS misconfigurations, SPF/DKIM/DMARC records, cookie security issues) and distinguishing it from sibling tools like dns_lookup or ssl_certificate that perform narrower checks.

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 description implies usage for comprehensive security vulnerability detection on domains, but doesn't explicitly state when to use this tool versus alternatives like dns_lookup (for specific DNS queries) or ssl_certificate (for SSL/TLS checks). No explicit exclusions or prerequisites are provided.

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

ssl_certificateAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to check SSL certificate for (e.g. github.com)

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the return data (issuer, expiry date, etc.) and implies a read-only operation, but lacks details on error handling, rate limits, authentication needs, or network dependencies. It adds value by specifying output content but misses key behavioral traits.

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 purpose in the first sentence, followed by a concise list of return values. Every sentence earns its place, with no wasted words, making it efficient and easy to parse.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (single parameter, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose and output semantics well, but lacks usage guidelines and behavioral details like error cases or performance expectations, leaving gaps for an agent.

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 the single 'domain' parameter. The description adds no additional parameter details beyond what the schema provides, such as format examples or constraints, meeting the baseline for high schema coverage.

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 clearly states the specific action ('Check the SSL/TLS certificate for a domain') and the resource ('domain'), distinguishing it from sibling tools like dns_lookup, security_scan, or uptime_check by focusing exclusively on SSL/TLS certificate inspection.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. While the purpose is clear, there's no mention of prerequisites, limitations, or comparisons to sibling tools like security_scan, which might overlap in functionality.

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

uptime_checkAInspect

Perform a one-time HTTP uptime check on a URL. Returns whether the site is up or down, HTTP status code, and response time in milliseconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull URL to check (e.g. https://github.com)
timeoutNoTimeout in milliseconds (default: 10000)

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the tool as a 'one-time' check (not continuous monitoring) and specifies the return data (status, code, response time), but does not mention error handling, rate limits, authentication needs, or network constraints. This covers core functionality but leaves gaps in operational details.

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 a single, efficient sentence that front-loads the purpose and key return values without unnecessary words. Every element ('one-time HTTP uptime check', 'URL', 'returns...') serves a clear purpose, making it easy to parse and understand quickly.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (HTTP check with timing), no annotations, and no output schema, the description provides a solid foundation but lacks details on error responses, retry behavior, or output structure. It is complete enough for basic use but would benefit from more context on failure modes or performance characteristics.

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%, with both parameters ('url' and 'timeout') well-documented in the schema. The description does not add any parameter-specific details beyond what the schema provides, such as URL format examples or timeout implications. Baseline score of 3 is appropriate as the schema handles parameter documentation adequately.

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 clearly states the specific action ('perform a one-time HTTP uptime check'), the resource ('on a URL'), and the outcome ('returns whether the site is up or down, HTTP status code, and response time'). It distinguishes itself from sibling tools like 'security_scan' or 'ssl_certificate' by focusing solely on uptime monitoring rather than security or certificate analysis.

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 description implies usage for checking website availability with timing metrics, but does not explicitly state when to use this tool versus alternatives like 'security_scan' for vulnerability checks or 'dns_lookup' for DNS issues. It provides basic context but lacks explicit guidance on exclusions or prerequisites.

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

webserversBInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to look up IP addresses for (e.g. example.com)

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states what the tool returns, not behavioral traits like rate limits, error handling, or network dependencies. It lacks details on performance, caching, or potential failures.

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 a single, well-structured sentence that efficiently conveys the tool's functionality without unnecessary words. It is front-loaded with the core purpose and includes all relevant details concisely.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup tool with one parameter and no output schema, the description covers the basic purpose and return types adequately. However, it lacks behavioral context and sibling differentiation, leaving gaps in completeness.

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 fully documents the 'domain' parameter. The description adds no additional parameter semantics beyond what the schema provides, meeting the baseline for high coverage.

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 clearly states the tool's purpose with specific verbs ('Get', 'look up') and resources ('IP addresses', 'A and AAAA records', 'punycode and unicode domain representations'). It distinguishes from siblings by focusing on IP address retrieval rather than broader DNS lookups or security checks.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like 'dns_lookup' or 'dns_record' is provided. The description implies usage for IP address lookups but doesn't specify scenarios where this tool is preferred over siblings.

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. Dates show when Glama detected each change.

  1. 8 tool updatesv1.1.4
    • First observedbimi_vmc
    • First observeddns_lookup
    • First observeddns_propagation
    • First observeddns_record
    • First observedsecurity_scan
    • First observedssl_certificate
    • First observeduptime_check
    • First observedwebservers

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose within the DNS/domain analysis domain. For example, dns_lookup retrieves all common records, while dns_record targets specific types, and security_scan focuses on vulnerabilities rather than basic lookups. There is no significant overlap that would cause misselection.

Naming Consistency4/5

The naming follows a consistent snake_case pattern throughout, with clear verb_noun structures like dns_lookup and ssl_certificate. The only minor deviation is bimi_vmc, which uses an acronym-based name rather than a descriptive verb, but it still fits the overall style.

Tool Count5/5

With 8 tools, this server is well-scoped for domain and DNS analysis. Each tool serves a specific function, such as DNS lookups, security scanning, and SSL checks, without redundancy. The count is appropriate for covering the domain comprehensively.

Completeness5/5

The tool set provides complete coverage for domain analysis, including DNS lookups (general, specific, propagation), security scans, SSL certificate checks, BIMI/VMC verification, uptime monitoring, and webserver IP retrieval. There are no obvious gaps, and agents can perform a full lifecycle of domain-related tasks.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables DNS and email security analysis through passive and active scanning capabilities. Provides comprehensive domain security checks including SPF, DMARC, DNSSEC validation, MX record analysis, and SMTP connectivity testing.
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Provides a comprehensive suite of SEO and web utility tools for domain analysis, keyword tracking, SERP data, and technical site audits. It enables users to perform various tasks such as checking domain age, WHOIS information, and website technology stacks.
    34
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive DNS query server that enables querying all types of DNS records, including A, AAAA, MX, TXT, NS, CNAME, SOA, PTR, SRV, CAA, and DNSSEC checks, as well as advanced tools like WHOIS-style lookup and DNS delegation tracing.
    1
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NsLookup-io/nslookup-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server