# Agentic Resource Discovery Specification (ARD) Agentic Resource Discovery (ARD) is an open, draft specification ([[Apache 2.0 License]]) for publishing, discovering, and verifying AI capabilities across the web. It's a collaborative effort, not one vendor's project: contributors come from [[Google]], [[Microsoft]], Hugging Face, GoDaddy and others. It answers the question an [[AI Agents|agent]] needs before it can act: where do capabilities exist, which one should I use, and is it safe to connect to. A client cannot use a capability it does not know exists, and today there is no standard way to answer that across organizations. ARD sits **before** invocation. It helps a client decide which capability to use; the actual call still happens through that resource's own mechanism ([[Model Context Protocol (MCP)|MCP]], an API, an agent framework, a workflow system). The discoverable "agentic resources" include tools, Skills, MCP servers, APIs, workflows, and other agents. ## How it works - **Catalogs**: an organization publishes an [[AI Catalog (ai-catalog.json)|ai-catalog.json]] file at a well-known path on its domain, describing its capabilities. Domain ownership is the cryptographic basis for identity and trust. - **Registries**: [[Agent Registry (ARD)|Agent Registries]] are search engines for the agentic web that crawl and index published catalogs, so agents can query for capabilities with verifiable trust metadata. - **Flow**: publish a catalog, discover via a registry or a direct fetch, cryptographically verify the publisher's identity, then connect directly using the resource's native protocol. ## Parts of the specification I've broken the spec down into atomic notes, one per part: - [[AI Catalog (ai-catalog.json)]] — the static manifest a publisher hosts, and the entries inside it - [[ARD URN Identifier]] — the domain-anchored `urn:air:` name that gives every resource a stable, trust-carrying identity - [[ARD Discovery Mechanisms]] — the four ways (well-known URI, Agentmap, HTML link, DNS) a catalog gets found - [[Agent Registry (ARD)]] — the dynamic search layer and its REST API (`/search`, `/explore`, `/agents`) - [[ARD Federation]] — how registries cooperate so no single index has to hold everything - [[ARD Trust Manifest]] — verifiable identity, attestations, and provenance, plus the declare-vs-verify trust model ## Context - Builds on the [[Linux Foundation]]'s AI Catalog data model; supports MCP servers, [[OpenAPI Specification|OpenAPI]] tools, A2A agents, and nested catalogs as discoverable resources - A spec, not a product: multiple discovery services can implement it (e.g. GitHub's Agent Finder, Hugging Face's Discover) - Hugging Face's Discover is the most concrete reference [[Agent Registry (ARD)|registry]] so far. It already indexes thousands of Skills, ML apps and MCP servers from the Hub and other ARD services, reusing the Hub's existing semantic search, and exposes both a REST `POST /search` endpoint and an MCP endpoint at `huggingface-hf-discover.hf.space` - Google Cloud's Agent Registry (Gemini Enterprise Agent Platform) is adding native ARD support - Think of it as robots.txt / sitemaps for agent capabilities rather than web pages ## My Opinion This specification will definitely matter. It's backed by big players, and it has strong potential. One of the challenges people who create/use/leverage more and more agentic resources (AI Skills, MCP servers, AI agents, etc) is that those fill-up the AI context window really quickly and end up confusing AI models & agents. I've fought against this problem by organizing skills in categories, optimizing skill descriptions, tagging those, etc. When building MCP servers, I've used the [[Code Mode MCP Pattern]], which helped, but only solved a part of the problem. With over 500 AI Skills in my own system (cfr [[Obsidian Starter Kit]]), this really became a problem. With this new specification, we finally have a standard way to add indirection. Instead of directly installing/registering MCP servers, AI Skills & agents, we can instead add them to a catalog, and let our agentic tools discover and use those when needed/relevant. ## References - https://agenticresourcediscovery.org - https://agenticresourcediscovery.org/introduction/ - https://agenticresourcediscovery.org/ai_catalog_spec/ - https://agenticresourcediscovery.org/how_to_publish/ - https://developers.googleblog.com/en/announcing-the-agentic-resource-discovery-specification/ - https://huggingface.co/blog/agentic-resource-discovery-launch - https://github.com/ards-project/ard-spec - https://github.com/ards-project/ - https://news.ycombinator.com/item?id=48573268 ## Related - [[AI Catalog (ai-catalog.json)]] - [[ARD URN Identifier]] - [[ARD Discovery Mechanisms]] - [[Agent Registry (ARD)]] - [[ARD Federation]] - [[ARD Trust Manifest]] - [[AI Agents]] - [[Agentic Engineering]] - [[Model Context Protocol (MCP)]] - [[Code Mode MCP Pattern]] - [[OpenAPI Specification]] - [[Large Language Models (LLMs)]] - [[Apache 2.0 License]]