Desvela ARD Registry — free preflight(domain)
What a domain publishes for AI agents: ai-catalog.json, llms.txt, agents.md, robots.txt rules. Free.
Should I use this
Quality & Safety
Findings (2)
- HIGH
- MEDIUMin watch
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"registry": {
"url": "https://registry.desvela.dev/mcp"
}
}
}Remote endpoints
https://registry.desvela.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟡preflight(domain)
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…). Includes a visibility receipt: surface-by-surface state, the words that would find the domain in search (or the honest fact that none would), what is missing and where to publish it. Served from the Desvela ARD index when fresh (<7 days), live-checked otherwise. Free.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"pattern": "^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+$"
}
},
"required": [
"domain"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢watch(domain, webhook_url)
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.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"pattern": "^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+$"
},
"webhook_url": {
"type": "string",
"format": "uri",
"description": "HTTPS endpoint that will receive signed change notifications"
}
},
"required": [
"domain",
"webhook_url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪crawler_block_test(domain)
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 (refused, or redirected off the site while the browser got the page), 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 there is no verdict to give: the site refused or redirected away the control request too, or it opted out of our crawling (`optedOut`, no requests sent). Live probe, ~6 requests. Free. Use preflight for the declared policy; use this for the observed one.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"pattern": "^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+$"
}
},
"required": [
"domain"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡search(text)
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.
Input Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"description": "natural-language query, e.g. \"find an MCP server for weather data\""
}
},
"required": [
"text"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence