Attest Registry
All of Attest ↗

Attest Registry

Querying the registry

No key is needed to read. Rate limit: 120 requests a minute per address. The same four tools are available over MCP and as REST.

Over MCP

Endpointhttps://registry.cleartrust.cc/mcp
TransportStreamable HTTP, stateless; POST one JSON-RPC message or a batch
Toolssearch_agents · get_agent · check_authorization · list_verified · get_adcp_capabilities
// tools/call
{ "name": "search_agents", "arguments": { "property_domain": "news.example", "verified_only": true } }
{ "name": "get_agent", "arguments": { "agent_url": "https://sales.news.example/mcp" } }
{ "name": "check_authorization", "arguments": { "agent_url": "https://sales.news.example/mcp", "property_domain": "news.example" } }

Add it to a buying agent as any MCP server; a Claude or SDK client discovers the tools from tools/list.

Over REST

GET https://registry.cleartrust.cc/api/agents?q=news&type=sales&grade=A&verified=1&property=news.example&limit=50&offset=0
GET https://registry.cleartrust.cc/api/agents/<slug>
GET https://registry.cleartrust.cc/api/authorization?agent_url=https://sales.news.example/mcp&property_domain=news.example

Answers are cached for a minute (five for authorisation). Every listing carries attest_verified, grade, mutual_count, specialisms, transports and the MCP and A2A endpoints.

Grades and the seal

GradeMeans
AReachable and conformant; every claimed property mutually authorised; security storyboards clean.
BMinor conformance gaps, or a property authorised on one side only.
CSecurity, signing or schema storyboards failing, or most properties unverifiable.
DReachable, but no property authorises it on both sides, or capabilities missing.
FUnreachable, or confirmed critical security findings.

The Attest seal is grade A or B with at least one mutually authorised property. Treat it as a floor, not a purchase decision: the registry says who an agent is and whether its claims hold; Attest Verify says whether a specific buy should go ahead.

Authorisation checks

A publisher authorises a seller in /.well-known/adagents.json (authorized_agents[], optionally scoped by property_ids). The seller claims the property in its /.well-known/brand.json. check_authorization reads both live (cached a few hours) and answers mutual, publisher_only, not_listed, no_document or unverifiable, with the URLs it read as evidence.

How fresh it is

Listings are re-verified on a schedule (default every 7 days), whenever a cached brand.json or adagents.json changes (crawled every 6 hours), on the operator's request, and, once ClearTrust is enrolled, on events from the AgenticAdvertising.org change feed. Health is pinged hourly.