nslookup.io MCP Server
The nslookup.io MCP Server provides comprehensive DNS, SSL, security, and domain intelligence tools via the Model Context Protocol — no API key required.
DNS Lookup: Retrieve all common DNS records (A, AAAA, NS, MX, TXT, CNAME, SOA) for a domain using servers like Cloudflare, Google, Quad9, OpenDNS, or authoritative nameservers.
Specific DNS Record Lookup: Query any of 53 supported DNS record types (e.g., HTTPS, DNSKEY, TLSA, SPF, CAA, SRV, PTR, DS) from a choice of DNS servers.
DNS Propagation Check: Verify whether DNS changes have propagated across 18+ global DNS servers including regional resolvers worldwide.
Web Server IP Lookup: Retrieve IPv4 and IPv6 addresses for a domain along with punycode and unicode representations.
DNS Health Audit: Run comprehensive health checks with 39 tests covering DNSSEC, MX hygiene, TTL optimization, nameserver configuration, and operational maturity.
SSL/TLS Certificate Check: Inspect a domain's certificate including issuer, expiry, chain validity, cipher strength, SAN domains, fingerprint, and TLS version.
BIMI/VMC Verification: Validate Brand Indicators for Message Identification records and Verified Mark Certificates, including logo URL, trademark info, and expiry.
Security Scan: Detect DNS misconfigurations, missing SPF/DKIM/DMARC records, cookie security issues, and other vulnerabilities with severity-level ratings.
Uptime Check: Perform one-time HTTP checks on a URL for availability, HTTP status code, and response time from single or multiple global locations.
GEO/AI Readiness Scoring: Assess domains for Generative Engine Optimization, including AI crawler accessibility, structured data, entity signals, and content extractability.
Enables DNS record lookups and propagation checks across Cloudflare's global DNS network.
Enables DNS record lookups and propagation checks across Google's global DNS infrastructure.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@nslookup.io MCP ServerCheck the DNS records and SSL certificate for github.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
|
|
Transport | Streamable HTTP (remote) | stdio (runs on your machine) |
Install | Nothing to install | Requires Node.js 18+ |
17 public tools | ✅ Anonymous | ✅ Anonymous |
6 | ✅ 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/mcpThen 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.
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)
claude mcp add --transport http nslookup https://mcp.nslookup.io/mcpClaude Desktop / claude.ai (custom connector)
Open Settings → Connectors
Click Add custom connector
Name:
nslookup— URL:https://mcp.nslookup.io/mcpClick 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
Open Settings → Connected apps (or Tools & integrations)
Click Add custom integration / Add MCP server
Name:
nslookup— URL:https://mcp.nslookup.io/mcpSave
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-serverClaude 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 a401with aWWW-Authenticatechallenge, 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 |
| Look up all common DNS records (A, AAAA, NS, MX, TXT, CNAME, SOA) for a domain |
| Look up a specific DNS record type — supports all 53 types (HTTPS, DNSKEY, TLSA, SPF, etc.) |
| Check DNS propagation across 18+ global servers (Cloudflare, Google, Quad9, regional, authoritative) |
| Get IPv4 and IPv6 addresses for a domain |
| 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 |
| Registration data (RDAP) for an IP, AS number, or domain — owner org, network range, RIR, contacts, dates |
| Who hosts a website: hosting provider, CDN/proxy, DNS provider, mail servers, server location, SSL issuer |
| Read a public status page (by slug or custom domain): overall status, components, active incidents |
DNS health & security
Tool | Description |
| Run a DNS health audit (39 checks across DNSSEC, MX, hygiene, TTL, nameservers, CAA, operational maturity) with severity-weighted scoring |
| Check SSL/TLS certificate — issuer, expiry, chain validity, cipher strength, SAN domains, TLS version |
| Check BIMI record and VMC (Verified Mark Certificate) — logo URL, trademark info, certificate expiry |
| Check only the BIMI DNS record (faster — skips the VMC certificate fetch) |
| Scan a domain for security issues — SPF/DKIM/DMARC, cookie security, DNS misconfigurations |
| Scan a domain's email security posture (SPF, DKIM, DMARC, BIMI) with per-indicator scores |
| One-time HTTP uptime check — status, response time, HTTP status code |
| Check if a site is up from 7 global locations — Amsterdam, Sydney, London, Frankfurt, Delhi, Warsaw, South Carolina |
GEO (AI readiness)
Tool | Description |
| 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 |
| Account health snapshot — aggregated 0–100 score with per-subsystem breakdown, plus your limits/quota |
| List all your monitors across every type (uptime, API, DNS, WHOIS, propagation, certificates, VMC) |
| Open (or all recent) incidents across all monitoring types, with a per-status/per-source summary |
| Uptime + response-time history for one monitor (by id or URL) over a configurable window |
| Recent DNS changes on your monitored domains with their risk reviews (0–100 score, severity counts) |
| 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 |
|
| Base URL for the nslookup.io API |
| (request-derived) | (HTTP server) Explicit public origin of this resource server, used as the |
|
| (HTTP server) OAuth token issuer used to validate sign-in JWTs (JWKS, issuer, exp) |
| (= | (HTTP server) Keycloak realm base URL whose |
|
| (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 toolsbimi_vmcBInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name to check BIMI/VMC for (e.g. google.com) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. 'Check' implies a read-only operation, and the description discloses what is returned, but it does not mention potential limitations, error scenarios, or any permissions/rate limits. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action, and lists return values efficiently. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with no output schema, the description is fairly complete. It names the specific return items (DNS status, VMC details, logo URL, trademark info, expiry) and the input domain. Minor gaps like error handling or prerequisites are not critical here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a descriptive 'domain' parameter. The description repeats 'domain' but adds no extra parameter semantics beyond what the schema already provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Check BIMI and VMC for a domain' with specific verb and resource, and lists return values. However, it does not explicitly distinguish itself from sibling tool 'bimi_check' or other DNS/SSL tools, so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'bimi_check' or 'ssl_certificate'. The description only states what it does, not context or exclusions.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name to look up (e.g. example.com) | |
| server | No | DNS server to query. Default: cloudflare. Use 'authoritative' for the domain's own nameservers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly indicates a read-only lookup operation and mentions the DNS server context, but it does not disclose potential errors, timeouts, or the response format. The behavior is straightforward, yet lacks depth for a fully transparent picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loads the purpose, and lists the record types efficiently. Every word earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain the structure of returned results, but it only says 'returns results' without specifying format or shape. The tool has only two parameters and no side effects, yet the missing return details leave a notable gap for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for both 'domain' and 'server', including an enum and a default value. The tool description adds minimal semantic value beyond what the schema already states, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('look up') and a resource ('all common DNS records') with a clear list of record types, which distinguishes it from sibling tools like dns_health or dns_propagation. It also specifies that results come from a designated DNS server, fully clarifying the tool's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies general usability for comprehensive DNS lookups but does not explicitly state when to use this tool versus alternatives like dns_record or dns_propagation. No exclusions or conditional guidance are provided, leaving the agent to infer the tool's place 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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name to check propagation for (e.g. example.com) | |
| recordType | Yes | DNS record type to check (e.g. A, AAAA, MX, NS, TXT, CNAME) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It reveals the tool's scope (18+ servers) and outcome (shows propagation worldwide), but does not disclose behavior such as whether it is read-only, rate limits, or error handling. The read-only nature is implied but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main verb and purpose, with no unnecessary words. It is concise and well structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with no output schema, the description is fairly complete: it explains what it checks, the scope, and the expected insight. It could mention how results are presented, but is adequate for a basic query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains both parameters well. The description adds context about the global server coverage but does not introduce new semantic details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('check') and resource ('DNS propagation for a domain'), with clear scope ('across 18+ global DNS servers'). It also differentiates from sibling tools by emphasizing worldwide propagation status rather than a simple lookup or health check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its use case: verifying if DNS changes have propagated globally. It provides context but does not explicitly mention when to prefer it over alternatives like dns_lookup or dns_health, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dns_recordAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name (or IP address for PTR lookups) to query (e.g. example.com) | |
| type | Yes | DNS record type (e.g. A, MX, TXT, CNAME, SPF, HTTPS, DNSKEY) | |
| server | No | DNS server to query. Default: cloudflare. Use 'authoritative' for the domain's own nameservers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states that the tool 'looks up' records and supports many types, but does not disclose network behavior, read-only nature, rate limits, or any side effects. This leaves the agent without important 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a clear purpose and a list of supported types. It is concise and front-loaded, with no redundant words or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple, and the schema covers all parameters. However, there is no output schema and no description of the return format, error behavior, or how to interpret results. An agent would benefit from knowing what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no extra parameter semantics beyond the schema; it merely repeats record types already in the enum. The server parameter is not mentioned in the description at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Look up a specific DNS record type for a domain.' It specifies the verb (look up), resource (DNS record type), and scope (for a domain). It also lists many supported record types, distinguishing it from broader DNS tools like dns_lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied: use this tool when you need a specific DNS record type. However, there is no explicit guidance on when to use this instead of sibling tools like dns_lookup or dns_health, and no exclusions are mentioned.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name to security scan (e.g. example.com) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the outputs (findings with severity levels) and the scan scope, which is informative. It doesn't mention potential side effects or authentication needs, but for a scan tool this is less critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action, no fluff. It earns its place and is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers purpose, scope, and return format. It lacks details on any prerequisites or limitations, but these are minimal for this kind of tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the single domain parameter, so baseline is 3. The description confirms the domain input but doesn't add syntax or additional constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a security scan on a domain and lists specific checks (DNS misconfigurations, SPF/DKIM/DMARC, cookie security, web vulnerabilities). This distinguishes it from siblings like dns_health or ssl_certificate by covering a broader security posture.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (when you need a security scan for a domain) but doesn't explicitly compare with sibling tools or specify when not to use. It provides clear context but no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ssl_certificateBInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name to check SSL certificate for (e.g. github.com) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It lists output fields, which reveals the tool's read-type behavior, but it does not explicitly state that it is non-destructive, makes network requests, or any other side effects. There is no contradiction with annotations, but the description omits safety assurances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence that leads with the action and then lists key return fields. It is concise and information-dense with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema; the description compensates by enumerating the returned data (issuer, expiry, chain validity, etc.). This provides useful context, though it omits potential error scenarios or network behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents the single 'domain' parameter with an example. The description adds little beyond the schema, listing return values but not giving extra detail about the parameter itself, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function as checking SSL/TLS certificates for a domain and enumerates the specific data returned, distinguishing it from broader tools like security_scan, but it does not explicitly reference sibling tools. This gives clear purpose but lacks explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as my_certificates or security_scan. The description simply states what it does without any contextual or exclusionary instructions.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL to check (e.g. https://github.com) | |
| timeout | No | Timeout in milliseconds (default: 10000) |
TDQS
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.
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.
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.
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.
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.
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.
webserversAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name to look up IP addresses for (e.g. example.com) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It accurately describes the primary behavior (A/AAAA lookup and domain representations) but omits potential edge cases like DNS errors, timeouts, or validation of invalid domains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no fluff. The primary function is front-loaded, and the additional detail about punycode/unicode representations is placed second.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool and the schema fully documenting the parameter, the description covers the core functionality well. It could mention potential limitations (e.g., live vs cached data) but is reasonably complete for a DNS lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage for the single 'domain' parameter, including an example. The description adds no additional semantic information beyond what is already in the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves IPv4 and IPv6 addresses via A and AAAA records for a given domain, and also returns punycode/unicode representations. This specific verb+resource combination distinguishes it from broader sibling tools like dns_lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when IP addresses are needed, but does not explicitly mention when to prefer this over DNS-related sibling tools like dns_lookup or dns_record. No alternatives or exclusions are provided.
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.
8 tool updates
v1.1.4- First observed
bimi_vmc - First observed
dns_lookup - First observed
dns_propagation - First observed
dns_record - First observed
security_scan - First observed
ssl_certificate - First observed
uptime_check - First observed
webservers
TDQS
Scored across 8 tools
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.
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.
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.
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
Related MCP Connectors
Scan, fix, verify and monitor DNS: SPF, DMARC, DKIM, propagation, health, expiry. Validated fixes.
Live DNS, email-auth and redirect checks, HTTP security headers, uptime history, PC hardware prices.
Monitor and manage email authentication (SPF, DKIM, DMARC, MTA-STS, BIMI) for your domains.
Look up DNS information for any domain to troubleshoot issues and gather insights. Get fast, relia…
Related MCP Servers
- AlicenseNot gradedqualityCmaintenancePerform DNS lookups, WHOIS queries, connectivity testing, TLS certificate analysis, HTTP endpoint monitoring, and hostname resolution, all from your trusty AI.10MIT
- AlicenseNot gradedqualityDmaintenanceEnables 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
- AlicenseCqualityDmaintenanceProvides 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.34MIT
- FlicenseNot gradedqualityDmaintenanceA 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-