MCP Integration
This is a public HTTP streaming implementation of the Model Context Protocol (MCP) for https://dns.ninja
Endpoint:https://mcp.dns.ninja/mcp
You can try it out directly on ChatGPT as a GPT
🤖 Setup Instructions
Claude Desktop
Add to your Claude Desktop config file:
{
"mcpServers": {
"ninja": {
"url": "https://mcp.dns.ninja/mcp"
}
}
}📍 Config file location
- Windows:
%APPDATA%\Claude\config.json - macOS:
~/Library/Application Support/Claude/config.json - Linux:
~/.config/Claude/config.json
Claude Code (Terminal)
Run this command:
claude mcp add --transport http ninja https://mcp.dns.ninja/mcp
Stdio clients (Cursor, Zed, Windsurf, legacy Claude Desktop)
If your MCP client only speaks stdio and can't connect to a remote HTTP endpoint directly, use the @robtex/mcp-stdio proxy to bridge stdio ↔https://mcp.dns.ninja/mcp.
Install options:
# npm (no local install needed) npx -y @robtex/mcp-stdio # Docker docker run -i --rm robtex/mcp # Homebrew (once the tap is live — pending) brew install robtex/tap/mcp
Claude Desktop / Cursor / Zed / Windsurf config snippet:
{
"mcpServers": {
"ninja": {
"command": "npx",
"args": ["-y", "@robtex/mcp-stdio"]
}
}
}📍 Config file locations for stdio clients
- Cursor:
~/.cursor/mcp.json - Zed:
~/.config/zed/settings.json(under"context_servers") - Windsurf:
~/.codeium/windsurf/mcp_config.json
Override the upstream: setROBTEX_MCP_URL=https://mcp.hashxp.org/mcp(or any sister site, orhttp://127.0.0.1:3443/mcpfor local WSH) to point the proxy at a different upstream.
Every outbound request from this proxy setsUser-Agent: robtex-mcp-stdio/<version> (+https://github.com/robtex/skills)so server logs can be grepped by that prefix.
ChatGPT (Custom GPT)
Quick setup:
- Go to GPT Builder
- Click Create → Configure → Actions
- Click "Import from URL"
- Enter:
https://mcp.dns.ninja/mcp/openapi.yaml - Click Import and save
Or manually add the endpointhttps://mcp.dns.ninja/mcpas an action.
Cursor / Codex / GitHub Copilot (Skills CLI)
Install curated skills with one command:
npx skills add robtex/skills
Claude Code (Plugin)
Install the plugin with 6 curated skills:
/plugin marketplace add https://github.com/robtex/skills /plugin install robtex@robtex-plugins
🔧 Available Tools (11)
- ip_reputation: Check an IP address reputation against 100+ real-time blocklists (DNSBLs). Returns listing status, threat categories, AS info, and blocklist details.
- lookup_dns: Lookup DNS records (A, AAAA, MX, NS, TXT, CNAME, SOA) for a given hostname. Also returns domain reputation info (Majestic, Tranco rankings, blocklist status).
- reverse_lookup_dns_records: Find hostnames that use a specific DNS record value. Query which hostnames point to an IP address, use a particular nameserver, or reference any DNS value. For example: 'which hostnames point to 1.2.3.4?' or 'which hostnames use chris.ns.cloudflare.com as their nameserver?'
- reverse_lookup_mx: Find hostnames that use a specific mail server. For example: which hostnames use aspmx.l.google.com as their mail server?
- reverse_lookup_ns: Find hostnames that use a specific nameserver. For example: which hostnames use chris.ns.cloudflare.com as their nameserver?
- reverse_lookup_ip: Find hostnames that point to a specific IP address (IPv4 or IPv6). Searches both A and AAAA records. For example: which hostnames point to 1.2.3.4?
- historic_reverse_lookup_ns: Find hostnames that *previously* used a specific nameserver but no longer do. Tracks infrastructure migrations and past delegation relationships.
- historic_reverse_lookup_mx: Find hostnames that *previously* used a specific mail server but no longer do. Tracks email provider migrations and past MX relationships.
- historic_reverse_lookup_ip: Find hostnames that *previously* pointed to a specific IP address but no longer do. Tracks hosting migrations and past IP relationships. Searches both A and AAAA records.
- domain_rdap: Queries the authoritative RDAP registry for a domain. Returns availability status (HTTP 404 = available), and for registered domains: registrar name, registration/expiration dates, nameservers, DNSSEC status, and domain status flags. Uses IANA bootstrap to find the correct RDAP server per TLD. Covers 590+ TLDs.
- dns_differential: Resolve a domain through filtered public DNS resolvers and their unfiltered controls to detect provider threat-feed blocks.