Publishing your site
Serve one file on your domain and agents can find, drive, and delegate to your site. Presence is the claim: only you can serve it, so nothing stands between you and a listing except the scan.
curl -sS https://yourdomain.com/.well-known/agent-webmcp.json | jq .bashThe file
Serve /.well-known/agent-webmcp.json as application/json,
publicly cacheable. Strict JSON. Three fields:
{ "version": 1, "domain": "example.com", "description": "Book trains, buses and flights. Use for quotes and checkout."}jsonversionmust be1. Unknown versions warn; known fields still serve.domainmust equal the serving host, or the file drops. This is the whole claim — nothing else proves ownership.descriptionis trigger text (≤140 chars, plain words). It tells an agent whether to open the page, and doubles as the task the prover checks. Write what the site is for, not marketing.
Everything else an agent can use is probed, never declared:
publish an agent-skills index, llms.txt, API or MCP cards,
and the scan finds them on its own. Never declare verbs
(live enumeration is truth), auth mechanics, credentials,
or endpoints — unknown fields are ignored.
Verify
Check the file resolves with the right content type:
curl -sS -D- -o/dev/null https://yourdomain.com/.well-known/agent-webmcp.jsoncurl -sS https://yourdomain.com/.well-known/agent-webmcp.json | jq .bashThen open https://agent-webmcp.vercel.app/sites/yourdomain
— the page scans the domain and the row appears, with
whatever the scan found. Re-open any time to re-scan;
proof.verified always shows the last scan. See
custom tools for how verbs prove, and
security for what never ships.