Live domain and network diagnostics over MCP. Every call is a fresh lookup against dns, rdap, tls and routing upstreams; nothing is stored between calls.
Dug exposes 8 network diagnostic tools via HTTP. All tools have descriptions (10-150 chars) and single string parameters with descriptions. However, critical gaps prevent higher scores: (1) Tool names lack action verbs, 'IP', 'ASN', 'NET', 'AEO', 'NS', 'DNSSEC', 'HTTP', 'TRACE' are nouns, not verb_noun patterns like 'lookup_ip' or 'check_dnssec'. LLMs struggle to infer intent from noun-only names. (2) No visible input schemas in source, parameters are documented in descriptions but not as formal JSON Schema with type/required/enum constraints. (3) Output schemas completely undocumented, no indication of response structure, field names, or types. (4) No error handling guidance, no indication how tools communicate failures or what the LLM should do on invalid input. (5) No tool annotations (readOnlyHint, etc.). All tools are read-only but this is not formally declared. Baseline: 194 chars avg description (these are 50-150), 72 chars avg param annotation (these are 20-40). Per-tool scores average 42.
Check whether a domain is readable by answer engines: content without JavaScript, structured data, sitemap, llms.txt, markdown negotiation, OpenAPI, and API catalog
Look up an autonomous system number: name, registry, country, and allocation date
Check DNSSEC chain of trust: DS records at parent, DNSKEY records at zone, validation status, key signing and zone signing keys
Check HTTP response: status, redirect chain, security headers (HSTS, CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy), server header, TTFB
Look up an IP address: reverse DNS, autonomous system, prefix, registry, country, and BGP neighbours
Look up a network in CIDR form: reverse DNS for each address in the network, up to /24 (256 addresses)
Tool names are nouns, not action verbs. 'IP', 'ASN', 'NET' do not convey intent. LLMs infer action from verb_noun patterns like 'lookup_ip' or 'query_asn'. Noun-only names force LLMs to read descriptions to understand what happens when called.
No input schemas visible in source code. Parameters documented in descriptions but not as formal JSON Schema with type, required, enum, or pattern constraints. Cannot verify schema validity or enforce constraints at parse time.
Output schemas completely undocumented. No indication of response structure, field names, types, or pagination. LLMs cannot plan downstream tool calls or extract required data without guessing response format.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
Look up nameserver delegation: walk from root to the zone, compare parent delegation with resolver answer, check consistency
Trace HTTP request timing: time to first byte, total time, per-hop timing, redirect chain, final address
No error handling guidance. No indication how tools communicate failures (invalid input, network errors, rate limits) or what the LLM should do next. Raw errors provide no recovery path.
No tool annotations. All tools are read-only but readOnlyHint is not declared. Agents cannot distinguish safe tools from destructive ones without explicit hints.