Skip to main content
Glama
Whoisjson

@whoisjson/mcp-server

Official
by Whoisjson

@whoisjson/mcp-server

MCP (Model Context Protocol) server for the WhoisJSON API. Exposes WHOIS, DNS, SSL, and domain availability lookups as tools for AI assistants.

Tools

Tool

Description

whois_lookup

WHOIS registration data for a domain (registrar, dates, contacts, nameservers…)

dns_lookup

All DNS records for a domain (A, AAAA, MX, NS, TXT, CNAME, SOA, CAA, DMARC…)

ssl_check

SSL/TLS certificate details and validity for a domain

domain_availability

Check if a domain is available for registration

Related MCP server: Domain Checker MCP Server

Prerequisites

  1. Sign up at whoisjson.com and copy your API key from the dashboard.

  2. Node.js ≥ 18.

Installation

npm install -g @whoisjson/mcp-server
# or run directly with npx (no install needed):
npx @whoisjson/mcp-server

Configuration

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or
%APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "whoisjson": {
      "command": "npx",
      "args": ["-y", "@whoisjson/mcp-server"],
      "env": {
        "WHOISJSON_API_KEY": "your_api_key_here"
      }
    }
  }
}

Cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "whoisjson": {
      "command": "npx",
      "args": ["-y", "@whoisjson/mcp-server"],
      "env": {
        "WHOISJSON_API_KEY": "your_api_key_here"
      }
    }
  }
}

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "whoisjson": {
      "command": "npx",
      "args": ["-y", "@whoisjson/mcp-server"],
      "env": {
        "WHOISJSON_API_KEY": "your_api_key_here"
      }
    }
  }
}

Running locally (development)

cd mcp-server
npm install
npm run build
WHOISJSON_API_KEY=your_key npm start

Publishing

npm run build
npm publish --access public

API reference

Full API documentation: whoisjson.com/documentation

Available Tools

4 tools
dns_lookupA

Query DNS records for a domain name. Returns all available record types including A (IPv4), AAAA (IPv6), MX (mail), NS (nameservers), TXT, CNAME, SOA, CAA, DMARC, BIMI, MTA-STS, and TLS-RPT records. Useful for diagnosing DNS configuration, verifying mail settings, or auditing domain infrastructure.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to query, e.g. "example.com". Do not include protocol or path.

TDQS

A4.1/5.0
Behavior4/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 transparently states that the tool returns 'all available record types' and lists them, which is the key behavioral trait. It does not mention error handling, rate limits, or security requirements, but for a simple read-only lookup, this is reasonably complete.

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 a single, information-dense sentence that front-loads the action ('Query DNS records') before detailing record types and use cases. It is not overly verbose and avoids redundancy with the schema, earning a score above baseline.

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?

Given the tool's simplicity (one parameter, no output schema) and the presence of siblings, the description adequately covers what an agent needs to know to call it correctly: what it does, what it returns, and typical use cases. It does not explicitly address edge cases like NXDOMAIN or empty responses, but these are minor for a lookup tool and the description is otherwise complete.

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 schema already covers the domain parameter fully (100% coverage) with format guidance and examples. The description adds no additional parameter semantics beyond 'domain name', so the baseline score of 3 is appropriate per the rubric.

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 uses a specific verb ('Query') and resource ('DNS records for a domain name'), and enumerates the exact record types returned (A, AAAA, MX, NS, etc.). This clearly distinguishes it from sibling tools like whois_lookup or ssl_check, which target different aspects of domain infrastructure.

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 provides explicit use cases ('diagnosing DNS configuration, verifying mail settings, or auditing domain infrastructure'), which implicitly indicate when this tool is appropriate. However, it does not directly contrast with alternatives or state when not to use it, leaving some inference to the agent.

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

domain_availabilityA

Check whether a domain name is available for registration. Returns a boolean indicating if the domain is available. Useful for finding an unregistered domain before attempting to register it.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe domain name to check availability for (e.g. "example.com")

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that the tool returns a boolean and checks registration availability, which is core behavior. However, it does not mention error cases (e.g., invalid domain format, network failures) or any rate limits. For a simple tool this is acceptable, but more detail on response failure modes would improve transparency.

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?

Two concise sentences with no filler. The key information—purpose and return type—is front-loaded, and the usage hint is brief. Every word earns its place.

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 tool with a single parameter and a boolean output, the description is complete: it states the purpose, the output type, and a typical use case. It does not mention potential edge cases or failure modes, but these are not critical for a simple availability check. Overall, it provides everything an agent needs to decide when and how to call it.

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 input schema already describes the 'domain' parameter with an example, providing 100% coverage. The description adds no additional meaning to the parameter beyond what the schema states. Since schema coverage is high, a baseline of 3 is appropriate; the description does not need to repeat the schema.

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?

Description clearly states the verb 'Check' and the specific resource 'domain name available for registration'. It also specifies that it returns a boolean, which immediately distinguishes it from sibling tools that perform whois, DNS, or SSL checks. No confusion about what this tool does.

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 gives a clear use case: 'finding an unregistered domain before attempting to register it.' While it doesn't explicitly exclude alternatives like whois_lookup, the different purpose (availability vs. record lookup) is intuitive. Could have mentioned that other tools are for DNS/SSL checks, but the context is adequate.

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

ssl_checkA

Retrieve and validate the SSL/TLS certificate details for a domain. Returns the issuer, validity period (valid_from / valid_to), whether the certificate is currently valid, fingerprints, subject alternative names, and full certificate details. Useful for checking certificate expiry, verifying the issuer, or auditing TLS configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe domain name to check the SSL certificate for (e.g. "example.com")

TDQS

A4/5.0
Behavior3/5

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 states the action ('Retrieve and validate') and lists the data returned, which is useful. However, it does not disclose any network behavior (e.g., that it makes a live connection to the domain), potential latency, or error conditions. For a read-only check this is acceptable, but it leaves some behavioral details implicit, warranting a mid-range score.

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, front-loaded with the core action and resource. The second sentence efficiently enumerates the return fields and use cases. There is zero redundancy or filler; every clause earns its place.

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 simple tool with one parameter and no output schema, the description covers all essential information: what it does, what data it returns, and ideal usage scenarios. It could be slightly more complete by noting that it performs a live network check or how it handles unreachable domains, but these are minor gaps. The absence of an output schema is compensated by the explicit list of returned fields.

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 input schema has only one parameter, 'domain', which is fully described with an example ('example.com') and explanation. Since schema description coverage is 100%, the description adds no additional semantics beyond what the schema already provides. Per the rubric, baseline is 3, which is appropriate here.

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 opens with the specific verb-resource pair 'Retrieve and validate the SSL/TLS certificate details for a domain' and enumerates the exact fields returned (issuer, validity period, fingerprints, SANs, etc.). It is clearly distinct from the sibling tools (whois_lookup, dns_lookup, domain_availability) because it targets certificate data specifically. No ambiguity remains about what this tool does.

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 includes an explicit 'Useful for checking certificate expiry, verifying the issuer, or auditing TLS configuration' clause, giving concrete scenarios. It does not, however, name the sibling tools or state when NOT to use it (e.g., 'for DNS records use dns_lookup'). This is clear context without exclusions, aligning with a 4 rather than a 5.

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

whois_lookupA

Retrieve WHOIS registration data for a domain name. Returns registrar details, creation/expiration dates, nameservers, contact information, DNSSEC status, and domain age analysis. Useful for checking domain ownership and registration info.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to look up, e.g. "example.com". Do not include protocol or path.

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 responsibility for behavioral disclosure. It lists the output content but does not explicitly state the operation is read-only, nor does it mention potential limitations like unsupported TLDs, rate limits, or data completeness. While 'Retrieve' implies a safe read, the absence of any caveats or side-effect disclosure leaves behavioral transparency below the level expected when annotations are absent.

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 long, with the primary purpose and data types listed first, followed by a brief use-case sentence. Every word earns its place; there is no redundancy or filler. The front-loading of the action and scope helps an agent quickly understand the tool's role.

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?

The tool is simple (single parameter, no output schema), and the description covers the essential details: what it returns and why it is useful. Missing are explicit error scenarios (e.g., invalid domain, unsupported TLD) and confirmation of read-only behavior, but given its simplicity, these are minor gaps. The list of returned data fields gives enough context for an agent to anticipate the response.

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 input schema already fully describes the parameter (e.g., 'example.com' with protocol/path exclusion), and schema coverage is 100%. The description does not add any extra meaning about the domain parameter—it only restates 'domain name' in the purpose, which does not enrich the schema's guidance. This aligns with the baseline of 3 for full 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 tool retrieves WHOIS registration data for a domain, naming the exact resource and action. It enumerates the specific data returned (registrar, dates, nameservers, contacts, DNSSEC, age), which sharply distinguishes it from siblings like dns_lookup, ssl_check, and domain_availability.

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 mentions it is 'useful for checking domain ownership and registration info,' which gives a concrete use case. However, it does not explicitly contrast with sibling tools or state when to prefer this over them (e.g., 'for DNS resolution use dns_lookup'). The guidance is implied but not explicit, so an agent might not always know the right tool to pick.

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. 4 tool updatesv1.0.0
    • First observeddns_lookup
    • First observeddomain_availability
    • First observedssl_check
    • First observedwhois_lookup

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a distinct aspect of domain investigation: WHOIS registration data, DNS records, SSL certificate validity, and availability check. There is no overlap or ambiguity in their purposes.

Naming Consistency4/5

All names use snake_case and follow a clear pattern, but the verb usage is slightly inconsistent: whois_lookup and dns_lookup share the 'lookup' suffix, ssl_check uses 'check', and domain_availability is a noun phrase. Still readable and predictable.

Tool Count5/5

Four tools form a focused, well-scoped set for domain diagnostics. Each tool addresses a core need (WHOIS, DNS, SSL, availability) without redundancy or excess.

Completeness4/5

Covers the primary domain lookup operations thoroughly. Minor gaps like reverse DNS or certificate transparency logs are not present, but the included tools handle typical domain investigation workflows without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

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
    B
    quality
    D
    maintenance
    Enables AI agents to perform WHOIS lookups to retrieve domain registration details, including ownership, registration dates, and availability status without requiring browser searches.
    4
    57
    21
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to check domain availability, perform batch domain lookups, and generate intelligent domain name suggestions across multiple TLDs using WHOIS integration.
    4
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to check domain name availability for single or multiple domains using DNS, RDAP, and WHOIS lookups. It provides detailed registration status including registrar information and expiration dates while supporting bulk checks of up to 50 domains.
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to perform IP geolocation, proxy detection, and domain WHOIS lookups using IP2Location.io and IP2WHOIS data.
    5
    MIT

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/Whoisjson/mcp-server'

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