The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the AON — Agent Offer Network listing page.
Give any MCP-capable agent the ability to recommend real, buyable products and services — live pricing and a trackable link on every offer, drawn from the Agent Offer Network.
POST https://api.aon.pro/v1/mcpAuthorization: Bearer <AON API key> — use an issued live key from the Developer PortalThe Hosted AON endpoint currently lists five tools. Protocol v1.0 names the
four base tools below; aon_get_category_schema is an optional Hosted
category-guidance extension, not a portable Protocol v1.0 guarantee. Discover
it through tools/list before calling it.
aon_search_offers — Search offers by natural-language intent; every result
carries live pricing, a tracking link, and pre-validated follow-up suggestions.aon_resolve_category — Turn free text into AON Taxonomy v1 category ids.aon_get_category_schema — Optional Hosted extension: decision factors for a
resolved category id, to ask the right clarifying question before searching.aon_submit_feedback — Record an explicit "dismissed" / "not interested" on an
offer (early scaffold: acknowledged, not persisted yet).aon_manage_watch — Restore or cancel the default watch on an offer or
category on explicit request (early scaffold: acknowledged, not persisted yet).| Tool | What it does |
|---|---|
aon_search_offers | Search offers by natural-language intent. Arguments are an AgentOffer Query request object — the same shape as the REST API. Returns offers with pricing, a tracking link each, and an engagement block of pre-validated follow-up suggestions the agent can act on. |
aon_resolve_category | Turn free text ("hiking boots", "team chat software") into AON Taxonomy v1 category ids — the model never has to memorize or invent them. |
aon_get_category_schema | Optional Hosted extension: return decision factors for an already resolved category id, to ask the right clarifying question before searching. Its standalone result does not add decision_factors to the Query request or response. |
aon_submit_feedback | Record an explicit "dismissed" / "not interested" from the user on an offer — never inferred from silence. Early scaffold: the call is acknowledged with success, but feedback is not persisted yet; the workflow behind it is rolling out. |
aon_manage_watch | Restore (watch) or cancel (unwatch) the default watch on an offer or category when the user explicitly asks. Early scaffold: acknowledged with success, watch state not persisted yet. |
Design notes agents benefit from:
extra.hints[]. Only bad auth,
invalid JSON, a missing intent.content, or an oversized body hard-fail.request_patch
that merges straight into the next call, plus an origin to echo back for
adoption attribution.No key yet? Create an application in the
Developer Portal, mint an issued live key, and
store it in $AON_API_KEY.
Ready-to-paste configs live in examples/:
| Client | Config |
|---|---|
| Claude Code | examples/claude-code |
| Claude Desktop | examples/claude-desktop (via mcp-remote) |
| Cursor | examples/cursor |
| VS Code | examples/vscode |
| Plain curl | examples/curl |
/v1/mcp allows 60 tools/call requests per minute per key; handshake
calls (initialize, tools/list, notifications/*) are never counted. An
over-limit tools/call returns HTTP 200 with JSON-RPC error -32000 so the
model can read the retry advice. Details:
Rate Limits & FAQ.
Every offer carries a tracked destination link (action.payload.url).
Surface it verbatim — clicks and conversions attribute to your API key's
application, which is the basis for developer revenue share. Reporting lives
in the Developer Portal.
server.json is the MCP registry manifest for this server
(schema 2025-12-11, namespace pro.aon — DNS-verified against the aon.pro domain).
protocol — AgentOffer Protocol specs (normative)schema — JSON Schemas, TypeScript types, taxonomyexamples — HTTP / SDK / agent integration examplesrfcs — protocol evolution proposals