compare

AAM vs the alternatives.

Honest about what each tool is for. Each was built for a real problem; AAM is for a different one. We'll tell you when someone else is the right answer — and when AAM is.

AAM vs MCP (Model Context Protocol)

What it is

Anthropic's protocol for giving an LLM a set of pre-installed tools at startup. The agent runtime loads each MCP server into context before the conversation starts.

When to pick it over AAM

You're building a focused agent that uses ~5 tools you control end-to-end (e.g. an internal IT helper that uses your custom company API). The user has the agent installed locally and can configure it.

When AAM is the better fit

The agent needs to discover and act on sites it's never seen before, in real time, without a pre-installation step. AAM is runtime-discoverable; MCP is install-time-bound. A power user with 30 services can't fit 30 MCP servers in context — but they can have the agent fetch 30 manifests on demand, only when relevant.

When they're complementary

We ship `examples/mcp-bridge` — install one MCP server, get every AAM site. AAM and MCP are friends, not rivals; the bridge proves it.

AAM vs Browserbase / Playwright agents

What it is

Browser-as-a-service for agents. Run headless Chromium, click DOM elements, fill forms by selectors, screenshot the result.

When to pick it over AAM

The site you're targeting refuses to provide a structured surface. You need to scrape, fill, or extract from rendered HTML. Site owners are hostile or absent.

When AAM is the better fit

The site owner WANTS to support agents. AAM gives them a way to: declare actions explicitly, get structured input/output instead of brittle selectors, monetize agent traffic, audit who did what. Pixel-clicking is ~30% reliable; AAM is the consenting alternative.

When they're complementary

An agent runtime can use both: AAM where available, browser fallback where not. Most likely future state for any general-purpose agent.

AAM vs Apify / Bright Data scraping

What it is

Hosted scraping infrastructure with pre-built actors per site (Amazon, Twitter, Google Maps). Pay per record extracted.

When to pick it over AAM

You need to extract public data at scale from sites that have no API. Site owners aren't in the loop.

When AAM is the better fit

You want to TAKE ACTIONS on a site (book, order, submit) — not just read it. AAM is action-oriented and consent-based; scraping is read-only and adversarial. AAM also gives you proper auth handoff and payment rails, which scraping fundamentally can't.

When they're complementary

Different lanes. Apify reads sites that don't want to be read; AAM does business with sites that do.

AAM vs Stripe Link Agent Wallet

What it is

Stripe's emerging product for letting agents pay on a user's behalf — buyer-side wallet with limits, audit, and dispute handling.

When to pick it over AAM

You're building an agent that needs to pay across many sites. You want Stripe's risk + dispute infrastructure on the buyer side.

When AAM is the better fit

AAM is the merchant side. You're a site that wants to ACCEPT agent traffic and possibly charge for it. AAM declares 'this action costs $0.05 USDC' or 'this action returns a Stripe Checkout URL'; the agent (potentially using Stripe's Agent Wallet on the buyer side) handles payment.

When they're complementary

Strongly complementary. Stripe Agent Wallet on the buyer side + AAM on the merchant side = a working agent commerce loop. We use Stripe Connect for AAM-routed paid actions today.

Side-by-side.

DimensionAAMMCPBrowserbaseApifyStripe Wallet
Side of the transactionMerchant — declares actions a site offersAgent runtime — declares tools an agent hasAgent runtime — gives the agent a browserReader — scrapes data without site consentBuyer — wallet and payment for the agent
Discovery modelRuntime via /.well-known/agent-actions.jsonInstall-time, declared in agent configN/A — agent already knows the URLPre-built per-site actorsN/A — wallet, not discovery
Site owner consentRequired — owner publishes the manifestRequired at install timeNot required — adversarial possibleNot required — adversarialRequired at the merchant Stripe account level
Per-action authOAuth-style code → bearer with scopesInherits agent runtime authWhatever the human session hasAnonymous or stolen sessionBuyer wallet authorization
ReliabilityTyped JSON contract — highTyped tool definitions — highBrittle selectors — ~30%Drifts whenever the site changesStripe-grade
Lock-inOpen spec, MIT SDK — noneOpen spec, multi-vendor — noneVendor-specific runtimeVendor-specific actorsStripe-specific wallet
Best fitSites that want predictable agent trafficFocused agents with curated toolsetsSites with no structured surfaceBulk read-only data extractionCross-site agent payments
Still on the fence? Read the specin 15 minutes; if it doesn't click after that, AAM is probably not the right answer for what you're building. That's fine. The bar is "does this match my problem", not "is this a great protocol in the abstract".