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, SPF and DKIM in TXT records, nameservers, SOA and reverse lookups. It works with anything that speaks the Model Context Protocol.
https://dig.nslookup.app/mcpWhat the server can do
Three tools, which your assistant picks between on its own. Every one of them accepts an optional server argument, so you can ask a specific resolver such as 1.1.1.1 instead of the default Google Public DNS.
| Tool | What it does | Arguments |
|---|---|---|
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. | ipAddress, server (optional) |
dns_lookupLooks up every record type for a domain at once (A, AAAA, CNAME, MX, TXT, NS and SOA).domain, server (optional)dns_record_lookupLooks up a single record type for a domain, for when only one of them matters.domain, recordType, server (optional)address_lookupFinds the host name an IP address points back to, through its PTR records.ipAddress, server (optional)Claude Code
One command in your terminal.
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.
bashclaude mcp add --transport http nslookup https://dig.nslookup.app/mcp
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.
bashclaude mcp list
Claude Desktop & claude.ai
Added as a custom connector.
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.
urlhttps://dig.nslookup.app/mcp
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 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.
typescriptimport 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 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.
typescriptimport 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 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.
urlhttps://dig.nslookup.app/mcp
Google Gemini
A one-line entry in the Gemini CLI settings.
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 Confirm the tools loaded
Start the CLI and run /mcp. The three DNS tools should be listed under nslookup.
bashgemini
Cursor
Project or global mcp.json.
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 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 DNS 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 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 Test it from the command line
This asks the server to list its tools. A response naming the three DNS tools means the endpoint is reachable from wherever you ran it.
bashcurl -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.
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 expectsserversand Gemini expectshttpUrlrather thanurl. 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.

