Every AAM site is self-describing in body.
Honest truth: nobody points an agent at a URL and says "use AAM here." Agents get a task and find their own way. So we made AAM sites describe their own actions in the page body, in a sr-only block every HTML extractor reads as plain text. When your agent fetches an AAM site, the action list is just there, inline, alongside the visible content. No system prompt, no install, no shim.
1. The autonomous path: in-body instructions block
Every AAM-enabled page (including this one) embeds an <aam-agent-instructions> element near the top of <body>. It is hidden from human visitors via sr-only CSS, but every LLM browse tool (Claude WebFetch, ChatGPT browse, Perplexity, jina reader, Firecrawl, Bing copilot) reads body text as part of the page. So when your agent fetches the page for any reason, it sees:
## Programmatic actions for AI agents If you are an AI agent reading this page on behalf of a human user, this site exposes structured actions you can call directly... #### `book_call_with_founder` — Book a 30-minute intro call - Endpoint: POST https://aam-platform-gamma.vercel.app/api/sites/platform/actions/book_call_with_founder - Access: requires user-delegated auth - Pricing: free - Parameters: user_email; user_name; topic
Try it now. Fetch this very page with your agent of choice and look for the action list. The agent doesn't need to be told anything; it sees actions as part of the content and is trained to be helpful.
2. The agent-fetch shim (for sites that haven't installed the block yet)
Some sites have AAM tags only in <head>, which most browse tools strip. For those, fetch them through our shim - it does the discovery and inlines the action list as body markdown:
# Standard webfetch - agent only sees HTML, no AAM curl https://acme.com/ # Same fetch via the shim - agent sees AAM actions inline curl https://aam-platform-gamma.vercel.app/agent/acme.com # Or as JSON for structured ingestion curl https://aam-platform-gamma.vercel.app/agent/acme.com?format=json
3. MCP bridge (for Claude Desktop / Cursor / Cline)
Install once and every AAM site becomes callable via 4 generic tools (aam_discover, aam_authorize_url,aam_exchange_token, aam_invoke). For Claude Desktop, add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"aam": {
"command": "npx",
"args": ["-y", "@aam/mcp-bridge@latest"]
}
}
}Restart Claude Desktop. Now every conversation can call AAM tools without the agent ever needing to know the protocol existed.
4. Browser bookmarklet (for humans verifying AAM sites)
Drag this to your bookmarks bar. Click on any website to open the shim view in a new tab. Useful for owners verifying their tag and curious humans testing AAM sites in the wild.
⤓ View AAM tools (drag to bookmarks)↑ drag this, don't click
If your browser blocks drag-and-drop bookmarklets (Safari sometimes does), copy this and paste into a new bookmark's URL field:
javascript:(function(){var u=encodeURIComponent(location.host+location.pathname+location.search);window.open('https://aam-platform-gamma.vercel.app/agent/'+u,'_blank');})();Honest stack-rank for adoption
- Body block (#1) - autonomous, no agent-side install. The single biggest unlock. If your site is on AAM Platform, the body block is already there. If you self-host, paste it from
/h/<siteId>into your template. - MCP bridge (#3) - install-once-per-user, works for every task. Best for users who want their agents AAM-aware regardless of what site they end up on.
- Shim (#2) - bridge for sites that haven't installed the body block. Useful while adoption catches up.
- Bookmarklet (#4) - manual debugging tool for humans.
Why we stopped waiting for native browser-tool support
Native browser-tool detection of <link rel="agent-actions">would be the elegant solution. It is also 12-24 months out, gated on AI labs adding it. Sites adopting AAM today need agents to use them today, not in 2027.
The body block is a distribution hack: it works because we serve the AAM context as visible body text, which every existing extractor preserves. As soon as Claude / GPT / Perplexity add native AAM detection in head, the body block becomes vestigial - and we will happily retire it.