ADP is an open specification for how agents discover capabilities, declare intent, negotiate response shapes, and produce verifiable audit trails on the web.
Discovery manifest
Every ADP-compliant gateway publishes a manifest at /.well-known/adn.json:
{
"adnVersion": "1.0",
"site": "https://docs.example.com",
"gateway": "https://gateway.example.com",
"resources": {
"markdown": "https://gateway.example.com/{path}.md",
"doclang": "https://gateway.example.com/{path}.dclg",
"navigation": "https://gateway.example.com/llms.txt",
"corpus": "https://gateway.example.com/llms-full.txt",
"delta": "https://gateway.example.com/corpus/delta",
"jsonLd": "https://gateway.example.com/{path}.jsonld",
"productFeed": "https://gateway.example.com/catalog.json"
},
"mcp": {
"endpoint": "https://gateway.example.com/mcp/v1",
"transport": "http"
},
"terms": "https://gateway.example.com/terms.json",
"register": "https://registry.agent-delivery.network/register"
}Agents discover all available resources from a single manifest — no scraping HTML for links.
Intent classification
ADP defines nine intent classes based on observed behaviour, not credentials alone:
| Class | Examples | Response shape |
|---|---|---|
| Bulk training | GPTBot, ClaudeBot | Corpus + delta feed |
| Answer engine | PerplexityBot, Bingbot | Markdown + JSON-LD |
| Live user fetch | ChatGPT-User, Claude-User | Fast Markdown |
| Developer IDE | Cursor, Claude Code | MCP + Markdown |
| Custom framework | LangChain, curl, Scrapy | Content negotiation |
| Commercial scraper | Bright Data, Apify | Metered access |
| Legacy SEO | Googlebot, Slackbot | Passthrough untouched |
| Abusive | Credential stuffing | Blocked with reason |
Response negotiation
Agents negotiate format via standard HTTP mechanisms:
Content negotiation:
GET /pricing HTTP/1.1
Accept: text/markdown
X-ADP-Agent-Key: agt_your_keyOr request structured DocLang:
GET /pricing HTTP/1.1
Accept: application/vnd.doclang.document+xml
X-ADP-Agent-Key: agt_your_keyURL suffix fallback (for agents that don't send Accept headers):
GET /pricing/index.md
GET /pricing.md
GET /pricing.dclg
GET /index.dclgIdentity ladder
| Tier | Signal | Benefit |
|---|---|---|
| Tier 0 | Anonymous | Correct responses via negotiation |
| Tier 1 | Verified bot | Class-specific defaults |
| Tier 2 | rDNS / IP range | Higher bulk access |
| Tier 3 | Registered agent key | Better limits across all ADP sites |
| Tier 4 | Web Bot Auth | Highest trust |
Register free at https://registry.agent-delivery.network/register for Tier 3.
Delivery envelope
For audit trails and future agent-to-agent clearing, ADP wraps payloads in signed envelopes:
{
"adpVersion": "0.1",
"envelopeId": "env_01HQXYZ",
"timestamp": "2026-08-13T22:00:00Z",
"intent": "live_user_fetch",
"correlationId": "corr_abc123",
"sender": {
"agentId": "agt_001",
"tier": "tier_3"
},
"constraints": {
"maxPayloadBytes": 65536,
"ttlSeconds": 300
},
"payload": {
"contentType": "text/markdown",
"sha256": "e3b0c44298fc1c14...",
"sizeBytes": 2048
},
"terms": {
"accepted": "https://gateway.example.com/terms.json"
}
}MCP tools
ADP gateways expose read-only MCP tools at /mcp/v1:
| Tool | Purpose |
|---|---|
| search_content | Full-text search across pages |
| get_content | Fetch Markdown for a path |
| list_content | List available paths |
| get_product | Fetch product by SKU/GTIN |
| search_products | Search product catalog |
Getting started
1. As a site: Create an account at https://app.agent-delivery.network, connect Cloudflare, deploy an edge connector
2. As an agent: Register at https://registry.agent-delivery.network/register, use your API key in requests
3. As an integrator: Read the full spec in the repository at docs/spec/agent-delivery-protocol.md
Compliance requirements
ADP-compliant implementations must:
• Serve Tier 0 anonymous traffic correctly
• Never serve Markdown to Googlebot or OG unfurlers
• Publish machine-readable terms at /terms.json
• Include upgrade instructions in every degradation response
• Fail open for human browser traffic