Domduck
Server Details
Domain reputation over time: Domain Rating, Tranco rank, TLS, and AI crawler policy.
- Status
- Healthy
- Uptime
- 95.9% over 38 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
The tools are mostly distinct: get_ai_crawler_policy focuses exclusively on crawler policy and llms.txt status, while lookup_domain provides a broader reputation snapshot that includes policy as one field. There is some overlap in that both can inform you about crawler policy, but the specialized detail of get_ai_crawler_policy (per-agent states, effective vs. written) clearly differentiates it. list_sources is a meta-tool that reduces guessing, so overall ambiguity is low.
All tool names follow a clean verb_noun pattern in snake_case: get_ai_crawler_policy, list_sources, lookup_domain. The verbs (get, list, lookup) are different but all are action verbs followed by a clear object, making the set predictable and easy to navigate. No mixing of casing or inconsistent conventions.
With only 3 tools, the server is tightly scoped to its purpose: retrieving domain reputation and AI crawler policy data. Each tool serves a distinct function, and there is no bloat. This is well within the typical 3-15 range for a focused utility and feels intentional rather than thin.
The tool surface covers the core read-only needs: a detailed policy lookup, a broad domain snapshot, and a meta-source listing. The only notable gap is that get_ai_crawler_policy reads a stored reading and does not fetch fresh robots.txt data, so agents cannot trigger an update. However, since this is a stored-data service and both get_ai_crawler_policy and lookup_domain handle missing data gracefully, the surface is reasonably complete for its stated purpose.
Available Tools
3 toolsget_ai_crawler_policyGet AI crawler policyARead-onlyIdempotentInspect
Which of the eight tracked AI crawlers a domain's robots.txt admits, and whether it publishes an llms.txt. Three states per agent: allowed, disallowed, unspecified. Unspecified is NOT allowed, because a catch-all Disallow blocks an agent the file never names, so read effective for what is in force. Reads the last stored reading; it does not fetch the file.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name. Scheme, www and trailing dots are stripped. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant context beyond the annotations: it clarifies that the tool reads the last stored reading and does not fetch the file, and explains the semantic nuance that 'unspecified' effectively means 'disallowed' due to catch-all Disallow rules, urging users to read the 'effective' field. This is valuable behavioral disclosure not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences, each earning its place. The main purpose is front-loaded, followed by state semantics and a crucial behavior caveat. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description sufficiently sets expectations: it mentions the eight crawlers, llms.txt, three states, and the 'effective' field. It omits details like exact response format or error handling, but for a simple lookup with strong annotations, this is adequate and complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the domain parameter (with stripping behavior) at 100% coverage. The tool description does not add extra parameter-specific meaning beyond restating that the tool operates on a domain's robots.txt. Baseline 3 applies because the schema handles the semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to report which of eight tracked AI crawlers a domain's robots.txt admits and whether it publishes llms.txt. The verb is implied ('get') and the resource is specific ('AI crawler policy'), distinguishing it from siblings like list_sources and lookup_domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you need AI crawler policy for a domain) but does not explicitly mention alternatives or exclusions. It notes that it reads stored data rather than fetching, which is a behavioral caveat but not a usage guideline relative to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesList data sourcesARead-onlyIdempotentInspect
What Domduck reads and what each source means, including the eight AI crawlers whose robots.txt policy is tracked. A constant. Read it first: it is what lets a model interpret lookup_domain without guessing at field names or at which direction is better.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds the useful 'A constant' trait, indicating it will not change, and positions it as a foundational reference. This is beyond what annotations provide, though it does not describe return format or any potential limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, then a concise explanation of its significance. Every word earns its place; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description provides the essential context: what the sources are, that it includes AI crawlers, and its role in interpreting lookup_domain. It is complete enough for a model to decide when to call it, though it doesn't detail the output structure beyond saying 'what each source means.'
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4 per the rubric. The description does not need to explain parameters, and the input schema is empty, so no additional semantics are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool returns: 'What Domduck reads and what each source means.' It is specific about the content (including the eight AI crawlers whose robots.txt policy is tracked) and clearly distinguishes it from siblings by referencing lookup_domain and the need to read this first.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it: 'Read it first' and why: 'it is what lets a model interpret lookup_domain without guessing.' This provides clear context and an alternative (lookup_domain) to not need description guessing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_domainLook up one domainARead-onlyIdempotentInspect
Public reputation snapshot for one domain from Domduck's store: Domain Rating, Tranco rank, OpenPageRank, registration date, TLS certificate state and AI crawler policy. Returns hasReading false for a domain nobody has looked up yet, which is a real answer and not an error. One domain per call, and no history: the dated series is what a Domduck account is for.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A domain name. Scheme, www and trailing dots are stripped. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint, it explains the non-error behavior of returning hasReading false for unknown domains and clarifies the lack of history. This adds meaningful behavioral context not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences with front-loaded purpose, edge-case explanation, and limitation. No redundant words; every sentence adds unique value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter lookup tool with no output schema, the description lists the main returned fields, explains the edge-case return, and sets expectations for limitations. It is sufficiently complete for an agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description only reiterates 'one domain per call' without adding new parameter details. The schema already documents stripping behaviors, so the description does not add significant value beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool provides a 'public reputation snapshot' for one domain, listing specific data points (Domain Rating, Tranco rank, etc.). It differentiates from siblings by emphasizing the full snapshot vs. just policy or list of sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes 'One domain per call, and no history', giving clear context on its limitations and when an account is needed for dated series. However, it does not explicitly name alternative tools or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_ai_crawler_policy - First observed
list_sources - First observed
lookup_domain
Related MCP Connectors
Domain intelligence for DNS, WHOIS/RDAP, TLS, reputation, valuation, and brand protection.
Domain overviews for security and sales: registration, infrastructure, and risk signals.
Open weekly security base rates (CC BY 4.0), plus live DMARC, takeover and WHOIS checks.
DomainDNA: a domain's tech stack, email security (MX/SPF/DMARC), TLS expiry and age in one record.
Related MCP Servers
- AlicenseAqualityCmaintenanceDomain intelligence for DNS, WHOIS/RDAP, SSL/TLS, subdomain discovery, availability, valuation, email security, and typosquatting and brand protection.11MIT
- AlicenseAqualityAmaintenanceDomain security reconnaissance for AI agents — 13 tools (DNS+DNSSEC, SSL/TLS, HTTP security headers, SPF/DKIM/DMARC email auth, port scan, ASN, RDAP/WHOIS) plus a one-shot security_scan returning a 0–100 Health Score (A–F). Free, no API key.20555 npm1MIT
- AlicenseNot gradedqualityBmaintenanceProvides AI agents with zero-cost, zero-dependency trust evaluation for domains, URLs, wallets, APIs, and IPs, returning a 0-100 score with SSL, DNS, WHOIS, security header, and content sub-scores, plus batch comparison to rank multiple targets.MIT
- AlicenseBqualityCmaintenanceEnables monitoring of domain registration information via WHOIS lookup and SSL certificate validity checking. Provides domain expiration dates, registrar details, certificate validity periods, and issuer information for website security monitoring.281 npm4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.