Desvela ARD Registry — free preflight(domain)
Server Details
What a domain publishes for AI agents: ai-catalog.json, llms.txt, agents.md, robots.txt rules. Free.
- Status
- Healthy
- Uptime
- 100.0% over 36 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool covers a clear, distinct function: declared policy, observed blocking behavior, discovery, and change monitoring. The closely related preflight and crawler_block_test are explicitly separated as declared versus observed policies, so an agent should not confuse them.
Names are all lowercase and readable, with three imperative verbs (preflight, search, watch) that fit a consistent style. crawler_block_test breaks the pattern slightly by being a compound noun rather than a verb-led action, but it is still predictable and unambiguous.
Four tools is well-scoped for a registry/preflight service: the set covers the core preflight action and three valuable supporting capabilities without unnecessary redundancy. Each tool has a distinct job, and none feels like filler.
The tool set covers the main domain workflow well: check declared AI policy, inspect actual crawler access, search the registry, and subscribe to changes. The only minor gap is that watch subscriptions cannot be managed through a dedicated MCP tool; the provided REST endpoint is a workaround but not an in-protocol lifecycle.
Available Tools
4 toolscrawler_block_testTest what a domain actually serves AI crawlersAInspect
What the domain's CDN really does, as opposed to what its robots.txt says. Sends each AI crawler's real user-agent at the homepage and compares the response against a browser: a site can allow GPTBot in robots.txt and still have its CDN answer it a 403, and robots.txt cannot tell you that. Verdicts per crawler: ok, blocked, throttled (429, which is "too fast" and not "not you"), degraded (a 200 with a fraction of the bytes, the shape of a JS-gated page), or error. When measurable is false the site refused the control request too and there is no verdict to give. Live probe, ~6 requests. Free. Use preflight for the declared policy; use this for the observed one.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it delivers: it discloses live network probing, request count, cost, verdict categories (ok, blocked, throttled, degraded, error), the meaning of 429, and the no-verdict case when measurable is false. This goes well beyond the boilerplate.
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?
The definition is front-loaded with the core distinction and then builds with verdict semantics and a usage pointer. Every sentence and fragment carries load—there is no filler, and the fragmented 'Live probe, ~6 requests. Free.' is economical.
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 and no annotations, the description still provides everything needed to invoke and interpret results: verdicts, 429 meaning, degraded-page shape, the measurable=false error case, and expected request count. It is complete for this single-parameter live probe.
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 provides only the domain pattern, and the description does not enumerate the parameter, but it repeatedly defines the role of domain: the site whose CDN behavior is probed at its homepage. For a single self-evident parameter, this functional explanation is valuable compensation for 0% schema coverage.
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 opens with a specific verb and resource: what the domain actually serves AI crawlers, and immediately contrasts it with robots.txt declarations. It details an observable method (sending real user-agents and comparing against a browser), making the purpose concrete and clearly distinct from sibling preflight and search/watch.
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 final sentence explicitly routes usage: 'Use preflight for the declared policy; use this for the observed one.' It also gives operating constraints through 'Live probe, ~6 requests. Free,' so an agent knows when this tool is appropriate and what it costs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preflightPreflight a domainAInspect
What a domain publishes for AI agents before you touch it: ai-catalog.json (ARD), llms.txt, agents.md, and its robots.txt directives for AI bots (GPTBot, ClaudeBot, Google-Extended…). Served from the Desvela ARD index when fresh (<7 days), live-checked otherwise. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions data source (index vs live-check) and that the tool is free, but with no annotations provided, it does not disclose potential rate limits, auth requirements, or error handling (e.g., invalid domain).
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?
The description is two sentences long, front-loads the purpose, and contains no filler words. Every sentence provides useful information.
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 simple read-only tool with one parameter and no output schema, the description covers the return content, data freshness, and cost. It could mention that it's non-destructive, but overall it is sufficiently complete.
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 has one parameter 'domain' with a pattern but no description. The description does not add extra meaning about the parameter beyond implying it is a domain name. Since schema coverage is 0%, more detail would help.
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 retrieves a domain's AI agent publications (ai-catalog.json, llms.txt, agents.md, robots.txt directives). It differentiates from the sibling 'watch' by implying a one-time check ('before you touch it').
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 phrase 'before you touch it' implies a preliminary one-shot check, contrasting with the sibling 'watch' (likely for monitoring). However, it does not explicitly state when not to use it or provide direct alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch the agent-readable webAInspect
Natural-language search over what Desvela has indexed: agents, MCP servers, registries — the same index as POST /search. Returns catalog entries per the ARD spec. When nothing matches, returns referrals (other ARD-conformant registries you can query the same way) and listing (how a domain gets into this index: publish ai-catalog.json, then preflight it), instead of an empty answer.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | natural-language query, e.g. "find an MCP server for weather data" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key behavioral traits: returns catalog entries per ARD spec, and when no match, returns referrals and listing instructions instead of an empty answer. This is useful, though it does not mention auth, rate limits, or side effects, which are likely not relevant for a read-only search tool.
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 sentences, each adding distinct value: purpose, output format, and fallback behavior. The most important scoping information is front-loaded. No redundant phrasing, though it could be slightly more compact without losing clarity.
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 search tool with no output schema, the description adequately covers purpose, output format, and fallback behavior. It also references the POST /search endpoint for context. Minor gaps like pagination or limits are not critical for such a simple tool.
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%, so the schema already documents the 'text' parameter. The description adds a concrete example ('find an MCP server for weather data') and clarifies it is a natural-language query, which helps the agent formulate effective inputs beyond the schema's minimal description.
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?
States a specific verb ('search') and resource ('what Desvela has indexed'), and explicitly differentiates from siblings by mentioning it uses the same index as POST /search. Also clarifies the output is catalog entries per the ARD spec, distinguishing it from crawler_block_test, preflight, and watch.
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 usage through the natural-language query example and the 'same index' reference, but does not explicitly state when to use it versus alternatives or provide exclusion conditions. Siblings have clearly different purposes, so the context is inferable, but there is no explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watchWatch a domain for agent-surface changesAInspect
Subscribe to a domain: get a signed webhook (X-Desvela-Signature, HMAC-SHA256) when what it publishes for AI agents changes — ai-catalog.json entries added/changed/gone, llms.txt or agents.md edited or removed, robots.txt AI-bot directives changed. Checked weekly against the Desvela ARD index. Returns a manage_token (GET/DELETE https://registry.desvela.dev/watch/{id}) and the signing secret — store both.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| webhook_url | Yes | HTTPS endpoint that will receive signed change notifications |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses the signed webhook (HMAC-SHA256), specific change triggers, weekly check frequency, and return values (manage_token, secret, and endpoints). Missing details on rate limits, authentication requirements, or what happens if domain is invalid, but still transparent for a subscription tool.
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?
The description is a single sentence that packs essential information: action, webhook signature, trigger events, frequency, and return values. It is concise but could be broken into shorter sentences for readability. No fluff, but slightly dense.
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?
Given no output schema, the description covers return values (manage_token, secret) and management endpoints (GET/DELETE URL). It explains the webhook signature and detection scope. Missing details on webhook payload format or how to use the manage token, but sufficient for core functionality.
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 50% (only webhook_url has a description). The tool description adds context about the domain (the domain to watch) but doesn't explain the pattern or provide examples. For webhook_url, the schema already says 'HTTPS endpoint', and the description reinforces it. Overall, adds some value but incomplete for the domain parameter.
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 subscribes to a domain for changes, enumerates what changes are detected (ai-catalog.json, llms.txt, agents.md, robots.txt), and mentions the signed webhook mechanism. It distinguishes from the sibling 'preflight' by being a subscription tool rather than a test or validation tool.
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 use when wanting to be notified of domain changes for AI agents, but lacks explicit when-to-use or when-not-to-use guidance. No mention of prerequisites or comparison with the sibling tool 'preflight' (e.g., suggesting preflight for testing before subscribing).
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.
1 tool update
- Added
crawler_block_test
1 tool update
- Added
search
2 tool updates
- First observed
preflight - First observed
watch
Related MCP Connectors
Agent-readiness scanner (0-5 score), robots.txt + llms.txt generators, managed agent enablement.
Free AI-readiness audit of any URL: AI crawler rules, JS-free text, JSON-LD, llms.txt. Tool catalog.
Scan any URL for AI agent readability — Vercel Spec, llmstxt.org, and agent-protocol manifests.
Free verified network knowledge for AI agents: deterministic answers, honest unknowns.
Related MCP Servers
- AlicenseAqualityAmaintenanceSimple and free publishing of content on the web for AI Agents26,166 npmMIT
- FlicenseNot gradedqualityAmaintenanceMachine-readable directory of AI products that register themselves, plus an agent-readability grader for any URL.1-
- FlicenseNot gradedqualityDmaintenanceA shared distillation cache for AI agents — clean-crawl a URL once, distill it to token-optimal markdown, and serve it content-addressed across every agent (~73–89% fewer tokens). Includes a collective-notes layer and cutoff-aware change detection.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to extract, validate, and discover documentation from websites using llms.txt and install.md standards.108 npm34-
Glama MCP Gateway
Add one secure layer between your agents and this server.