# 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]]