Tool tree
gradeNot graded
dug_digAction
every record type, or a single one. Runs live against the given target and renders the answer onto the page. Example: DIG example.com MX
View tool JSON
{
"name": "dug_dig",
"kind": "act",
"impl": "imperative",
"description": "every record type, or a single one. Runs live against the given target and renders the answer onto the page. Example: DIG example.com MX",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
},
"type": {
"type": "string",
"description": "a single record type to ask for, such as MX"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_propAction
agreement across the fixed resolver list. Runs live against the given target and renders the answer onto the page. Example: PROP example.com
View tool JSON
{
"name": "dug_prop",
"kind": "act",
"impl": "imperative",
"description": "agreement across the fixed resolver list. Runs live against the given target and renders the answer onto the page. Example: PROP example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_ttlAction
remaining lifetime per record. Runs live against the given target and renders the answer onto the page. Example: TTL example.com
View tool JSON
{
"name": "dug_ttl",
"kind": "act",
"impl": "imperative",
"description": "remaining lifetime per record. Runs live against the given target and renders the answer onto the page. Example: TTL example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_nsAction
root to tld to authoritative walk. Runs live against the given target and renders the answer onto the page. Example: NS example.com
View tool JSON
{
"name": "dug_ns",
"kind": "act",
"impl": "imperative",
"description": "root to tld to authoritative walk. Runs live against the given target and renders the answer onto the page. Example: NS example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_dnssecAction
chain of trust, ds and dnskey. Runs live against the given target and renders the answer onto the page. Example: DNSSEC cloudflare.com
View tool JSON
{
"name": "dug_dnssec",
"kind": "act",
"impl": "imperative",
"description": "chain of trust, ds and dnskey. Runs live against the given target and renders the answer onto the page. Example: DNSSEC cloudflare.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_rdapAction
registration data with status codes decoded. Runs live against the given target and renders the answer onto the page. Example: RDAP example.com
View tool JSON
{
"name": "dug_rdap",
"kind": "act",
"impl": "imperative",
"description": "registration data with status codes decoded. Runs live against the given target and renders the answer onto the page. Example: RDAP example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_watchAction
domain and certificate expiry, computed now. Runs live against the given target and renders the answer onto the page. Example: WATCH example.com
View tool JSON
{
"name": "dug_watch",
"kind": "act",
"impl": "imperative",
"description": "domain and certificate expiry, computed now. Runs live against the given target and renders the answer onto the page. Example: WATCH example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_tlsAction
chain, validity spans, protocols. Runs live against the given target and renders the answer onto the page. Example: TLS example.com
View tool JSON
{
"name": "dug_tls",
"kind": "act",
"impl": "imperative",
"description": "chain, validity spans, protocols. Runs live against the given target and renders the answer onto the page. Example: TLS example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a hostname"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_httpAction
headers, redirect chain, security headers. Runs live against the given target and renders the answer onto the page. Example: HTTP example.com
View tool JSON
{
"name": "dug_http",
"kind": "act",
"impl": "imperative",
"description": "headers, redirect chain, security headers. Runs live against the given target and renders the answer onto the page. Example: HTTP example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a hostname"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_traceAction
dns, tcp, tls and ttfb timing. Runs live against the given target and renders the answer onto the page. Example: TRACE example.com
View tool JSON
{
"name": "dug_trace",
"kind": "act",
"impl": "imperative",
"description": "dns, tcp, tls and ttfb timing. Runs live against the given target and renders the answer onto the page. Example: TRACE example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a hostname"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_mailAction
mx, spf, dkim, dmarc and alignment policy. Runs live against the given target and renders the answer onto the page. Example: MAIL example.com
View tool JSON
{
"name": "dug_mail",
"kind": "act",
"impl": "imperative",
"description": "mx, spf, dkim, dmarc and alignment policy. Runs live against the given target and renders the answer onto the page. Example: MAIL example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_spfAction
include tree, against the ten lookup limit. Runs live against the given target and renders the answer onto the page. Example: SPF example.com
View tool JSON
{
"name": "dug_spf",
"kind": "act",
"impl": "imperative",
"description": "include tree, against the ten lookup limit. Runs live against the given target and renders the answer onto the page. Example: SPF example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_ipAction
reverse dns, asn, prefix, neighbours. Runs live against the given target and renders the answer onto the page. Example: IP 8.8.8.8
View tool JSON
{
"name": "dug_ip",
"kind": "act",
"impl": "imperative",
"description": "reverse dns, asn, prefix, neighbours. Runs live against the given target and renders the answer onto the page. Example: IP 8.8.8.8",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "an ip address"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_asnAction
prefixes and address space. Runs live against the given target and renders the answer onto the page. Example: ASN 13335
View tool JSON
{
"name": "dug_asn",
"kind": "act",
"impl": "imperative",
"description": "prefixes and address space. Runs live against the given target and renders the answer onto the page. Example: ASN 13335",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "an as number, with or without the AS prefix"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_netAction
address space grid, a /24 or smaller. Runs live against the given target and renders the answer onto the page. Example: NET 8.8.8.0/24
View tool JSON
{
"name": "dug_net",
"kind": "act",
"impl": "imperative",
"description": "address space grid, a /24 or smaller. Runs live against the given target and renders the answer onto the page. Example: NET 8.8.8.0/24",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a network in cidr form, a /24 or smaller"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_pingAction
icmp echo, round trip time and packet loss. Runs live against the given target and renders the answer onto the page. Example: PING 1.1.1.1
View tool JSON
{
"name": "dug_ping",
"kind": "act",
"impl": "imperative",
"description": "icmp echo, round trip time and packet loss. Runs live against the given target and renders the answer onto the page. Example: PING 1.1.1.1",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a hostname or an ip address"
},
"count": {
"type": "string",
"description": "how many echoes to send, 1 to 10"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_routeAction
the hops between here and there, with reverse dns. Runs live against the given target and renders the answer onto the page. Example: ROUTE example.com
View tool JSON
{
"name": "dug_route",
"kind": "act",
"impl": "imperative",
"description": "the hops between here and there, with reverse dns. Runs live against the given target and renders the answer onto the page. Example: ROUTE example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a hostname or an ip address"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_portsAction
which tcp ports are open, closed or filtered. Runs live against the given target and renders the answer onto the page. Example: PORTS scanme.nmap.org 22,80,443
View tool JSON
{
"name": "dug_ports",
"kind": "act",
"impl": "imperative",
"description": "which tcp ports are open, closed or filtered. Runs live against the given target and renders the answer onto the page. Example: PORTS scanme.nmap.org 22,80,443",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a hostname or an ip address"
},
"ports": {
"type": "string",
"description": "ports to try, comma separated, ranges allowed"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_vsAction
two domains side by side. Runs live against the given target and renders the answer onto the page. Example: VS example.com github.com
View tool JSON
{
"name": "dug_vs",
"kind": "act",
"impl": "imperative",
"description": "two domains side by side. Runs live against the given target and renders the answer onto the page. Example: VS example.com github.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name, compared against `other`"
},
"other": {
"type": "string",
"description": "the second domain name"
}
},
"required": [
"target",
"other"
]
},
"page": "/"
}dug_srcAction
resolver list, cache ceilings, upstream health. Runs live against the resolver list and renders the answer onto the page. Example: SRC
View tool JSON
{
"name": "dug_src",
"kind": "act",
"impl": "imperative",
"description": "resolver list, cache ceilings, upstream health. Runs live against the resolver list and renders the answer onto the page. Example: SRC",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}dug_meAction
the address this request came from. Runs live against the given target and renders the answer onto the page. Example: ME
View tool JSON
{
"name": "dug_me",
"kind": "act",
"impl": "imperative",
"description": "the address this request came from. Runs live against the given target and renders the answer onto the page. Example: ME",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}dug_seoAction
what a crawler reads: title, canonical, robots, structured data. Runs live against the given target and renders the answer onto the page. Example: SEO example.com
View tool JSON
{
"name": "dug_seo",
"kind": "act",
"impl": "imperative",
"description": "what a crawler reads: title, canonical, robots, structured data. Runs live against the given target and renders the answer onto the page. Example: SEO example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_aeoAction
what an answer engine reads: llms.txt, markdown, content without js. Runs live against the given target and renders the answer onto the page. Example: AEO example.com
View tool JSON
{
"name": "dug_aeo",
"kind": "act",
"impl": "imperative",
"description": "what an answer engine reads: llms.txt, markdown, content without js. Runs live against the given target and renders the answer onto the page. Example: AEO example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_ogAction
the share card, with the image fetched and measured. Runs live against the given target and renders the answer onto the page. Example: OG example.com
View tool JSON
{
"name": "dug_og",
"kind": "act",
"impl": "imperative",
"description": "the share card, with the image fetched and measured. Runs live against the given target and renders the answer onto the page. Example: OG example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_webmcpAction
tools for an agent in the page, and the mcp surface for one that isn’t. Runs live against the given target and renders the answer onto the page. Example: WEBMCP example.com
View tool JSON
{
"name": "dug_webmcp",
"kind": "act",
"impl": "imperative",
"description": "tools for an agent in the page, and the mcp surface for one that isn’t. Runs live against the given target and renders the answer onto the page. Example: WEBMCP example.com",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "a domain name"
}
},
"required": [
"target"
]
},
"page": "/"
}dug_helpAction
this list. Runs live against the given target and renders the answer onto the page. Example: HELP
View tool JSON
{
"name": "dug_help",
"kind": "act",
"impl": "imperative",
"description": "this list. Runs live against the given target and renders the answer onto the page. Example: HELP",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}dug_investigateAction
Answer a question that takes more than one lookup, and build the case on the page while you do. You choose the commands and the order: this is your plan, not a preset. Each screen is left on the page, in sequence, under the question that produced it, so the person watching ends up with the evidence, not your summary of it. Prefer this over calling the single-command tools yourself whenever the person has described a symptom instead of naming a lookup, and whenever one answer won’t settle it. Steps use the same grammar as the other tools: a command name, {target} where the domain goes, and an optional second argument; each step runs once per target, in order. For example "why is mail from this domain going to spam" with steps ["MAIL {target}","SPF {target}","DIG {target} MX","RDAP {target}"], or "has my dns change taken effect" with steps ["PROP {target}","TTL {target}","NS {target}","DNSSEC {target}"]. A step naming a command that doesn’t exist is skipped and reported back to you; the rest still run.
View tool JSON
{
"name": "dug_investigate",
"kind": "act",
"impl": "imperative",
"description": "Answer a question that takes more than one lookup, and build the case on the page while you do. You choose the commands and the order: this is your plan, not a preset. Each screen is left on the page, in sequence, under the question that produced it, so the person watching ends up with the evidence, not your summary of it. Prefer this over calling the single-command tools yourself whenever the person has described a symptom instead of naming a lookup, and whenever one answer won’t settle it. Steps use the same grammar as the other tools: a command name, {target} where the domain goes, and an optional second argument; each step runs once per target, in order. For example \"why is mail from this domain going to spam\" with steps [\"MAIL {target}\",\"SPF {target}\",\"DIG {target} MX\",\"RDAP {target}\"], or \"has my dns change taken effect\" with steps [\"PROP {target}\",\"TTL {target}\",\"NS {target}\",\"DNSSEC {target}\"]. A step naming a command that doesn’t exist is skipped and reported back to you; the rest still run.",
"inputSchema": {
"type": "object",
"properties": {
"question": {
"type": "string",
"description": "The question being answered, in the words the person would use. It becomes the heading the evidence is filed under. Not a restatement of the commands."
},
"targets": {
"type": "array",
"items": {
"type": "string"
},
"description": "The domains or hosts under investigation, bare names, one entry when there is one. The steps run against each in this order."
},
"steps": {
"type": "array",
"items": {
"type": "string"
},
"description": "The commands to run, in order, each a full command line such as \"MAIL {target}\" or \"DIG {target} MX\". Three to five is usually right: enough to be conclusive, few enough to read."
}
},
"required": [
"question",
"targets",
"steps"
]
},
"page": "/"
}