MCP Server

Give your AI assistant live DNS

Language models are trained on a snapshot of the world, so they guess at DNS instead of looking it up. Connect them to this server and they query real nameservers on demand: A records, mail servers, TXT records, nameservers, SOA, reverse lookups and WHOIS — and they can check a domain's email authentication, validating its SPF, DKIM and DMARC the way receivers do. It works with anything that speaks the Model Context Protocol.

Server URL
https://dig.nslookup.app/mcp
Transport Streamable HTTP Authentication None Server name nslookup

What the server can do

Seven tools, which your assistant picks between on its own. The three DNS tools accept an optional server argument, so you can ask a specific resolver such as 1.1.1.1 instead of the default Google Public DNS. WHOIS answers come from the registry, so that one takes the domain on its own. The three email checks return a verdict, a checklist and findings written to be passed on as they are; dkim_check also takes an optional selector, and without one tries the selectors common providers use.

dns_lookup Looks up every record type for a domain at once (A, AAAA, CNAME, MX, TXT, NS and SOA). domain, server (optional)
dns_record_lookup Looks up a single record type for a domain, for when only one of them matters. domain, recordType, server (optional)
address_lookup Finds the host name an IP address points back to through its PTR records, plus where it is and which network operates it. ipAddress, server (optional)
whois_lookup Looks up who registered a domain and when, with its registrar, expiry date, status codes and nameservers. domain
spf_check Validates the SPF record: which servers may send the domain's email, every include it pulls in, and the DNS lookups it costs against the limit of ten. domain
dkim_check Checks the DKIM keys receivers verify signed mail with, and flags weak or revoked keys and delegations that lead nowhere. domain, selector (optional)
dmarc_check Finds the DMARC policy that applies, its own or a parent domain's, and whether it stops spoofed mail and sends its reports somewhere. domain

Claude Code

One command in your terminal.

  1. 1 Add the server

    Run this from any project directory. Add --scope user to make the server available in every project instead of just this one.

    bash
    claude mcp add --transport http nslookup https://dig.nslookup.app/mcp
  2. 2 Check that it connected

    The server should be listed as connected. Inside a Claude Code session you can also type /mcp to see its status and tools.

    bash
    claude mcp list

Claude Desktop & claude.ai

Added as a custom connector.

  1. 1 Add it as a custom connector

    Open Settings, go to Connectors, choose Add custom connector, then paste the server URL and give it a name such as Nslookup DNS. Claude asks for permission the first time it uses a tool.

    url
    https://dig.nslookup.app/mcp
  2. 2 On an older desktop build

    If your version has no Connectors screen, bridge to the server from the config file instead. It lives at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS and %APPDATA%\Claude\claude_desktop_config.json on Windows. Restart Claude afterwards.

    json
    {
      "mcpServers": {
        "nslookup": {
          "command": "npx",
          "args": ["-y", "mcp-remote", "https://dig.nslookup.app/mcp"]
        }
      }
    }

Claude API

Anthropic connects to the server for you.

  1. 1 Declare the server and its toolset

    The MCP connector needs both halves: the server in mcp_servers, and an mcp_toolset entry in tools that points back at it by name. Anthropic makes the connection server side, so nothing runs on your machine.

    typescript
    import Anthropic from "@anthropic-ai/sdk";
    
    const client = new Anthropic();
    
    const response = await client.beta.messages.create({
      model: "claude-opus-5",
      max_tokens: 1024,
      betas: ["mcp-client-2025-11-20"],
      mcp_servers: [
        { type: "url", name: "nslookup", url: "https://dig.nslookup.app/mcp" },
      ],
      tools: [{ type: "mcp_toolset", mcp_server_name: "nslookup" }],
      messages: [
        { role: "user", content: "Which mail servers handle email for nslookup.app?" },
      ],
    });

ChatGPT & the OpenAI API

A remote MCP tool on the Responses API.

  1. 1 Pass the server as a tool

    The Responses API calls the server directly. Set require_approval to "always" if you would rather confirm each call.

    typescript
    import OpenAI from "openai";
    
    const client = new OpenAI();
    
    const response = await client.responses.create({
      model: "gpt-5",
      tools: [
        {
          type: "mcp",
          server_label: "nslookup",
          server_url: "https://dig.nslookup.app/mcp",
          require_approval: "never",
        },
      ],
      input: "Which mail servers handle email for nslookup.app?",
    });
  2. 2 In the ChatGPT app

    Open Settings, go to Connectors, and add a custom connector with the server URL. Custom connectors are only offered on some plans, so the option may not appear on a free account.

    url
    https://dig.nslookup.app/mcp

Google Gemini

A one-line entry in the Gemini CLI settings.

  1. 1 Add the server to your settings file

    Edit ~/.gemini/settings.json, or .gemini/settings.json inside a project to scope it there. Note the key is httpUrl, which is what tells Gemini to speak HTTP rather than launch a local command.

    json
    {
      "mcpServers": {
        "nslookup": {
          "httpUrl": "https://dig.nslookup.app/mcp"
        }
      }
    }
  2. 2 Confirm the tools loaded

    Start the CLI and run /mcp. All seven tools should be listed under nslookup.

    bash
    gemini

Cursor

Project or global mcp.json.

  1. 1 Create the config file

    Use .cursor/mcp.json in a project, or ~/.cursor/mcp.json to enable it everywhere. Cursor picks the file up without a restart and shows the server under Settings, MCP.

    json
    {
      "mcpServers": {
        "nslookup": {
          "url": "https://dig.nslookup.app/mcp"
        }
      }
    }

VS Code

For Copilot agent mode.

  1. 1 Add .vscode/mcp.json to your workspace

    VS Code uses servers rather than mcpServers, and wants the transport spelled out. Open Copilot chat in agent mode and the nslookup tools appear in the tool picker.

    json
    {
      "servers": {
        "nslookup": {
          "type": "http",
          "url": "https://dig.nslookup.app/mcp"
        }
      }
    }

Any other MCP client

The raw connection details.

  1. 1 Point your client at the endpoint

    The server speaks Streamable HTTP and needs no API key, token or OAuth flow. Most clients only ask for a name and a URL.

    json
    {
      "mcpServers": {
        "nslookup": {
          "type": "http",
          "url": "https://dig.nslookup.app/mcp"
        }
      }
    }
  2. 2 Test it from the command line

    This asks the server to list its tools. A response naming the seven tools means the endpoint is reachable from wherever you ran it.

    bash
    curl -N https://dig.nslookup.app/mcp \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Things to ask once it is connected

You do not need to name the tools. Ask about a domain and the assistant reaches for them.

Which mail servers handle email for nslookup.app?
Is the SPF record on example.com set up correctly, and how close is it to the lookup limit?
Does paypal.com reject spoofed mail, and where do its DMARC reports go?
Check the DKIM key for selector google on github.com.
What is hosted at 8.8.8.8?
Who registered nslookup.app, and when does it expire?
Compare the nameservers of these two domains and tell me what changed.

If the tools do not show up

  • Restart the client. Desktop apps and editors read their config on startup, so a freshly edited file is not picked up until you quit and reopen them.
  • Check the key name. Most clients expect mcpServers, but VS Code expects servers and Gemini expects httpUrl rather than url. A wrong key fails silently.
  • Confirm the URL ends in /mcp. The domain on its own serves the website, not the protocol endpoint.
  • Test the endpoint directly with the curl command above. If that works but your client does not, the problem is the config, not the server.
  • Approve the tool. Several clients ask for permission the first time a server is used, and stay quiet until you accept.