Skip to content
 

MCP Quick Start

The Hosted MCP runtime owner has certified this production endpoint as the fixed AON v1.0 projection. Its evidence is MCP-body based: initialize.serverInfo.version="1.0.0" and tool-response data.protocol_version="1.0". MCP clients do not send an AON-Protocol-Version HTTP selector and the endpoint does not promise that REST response header.

Use this guide after MCP access is provisioned for your account, only when an issued API key can successfully authenticate /v1/mcp. The snippets then show client configuration and an offer-search request while keeping credentials out of this public site.

Need a bounded test path?

MCP requires an issued key. If access is not provisioned for your account, use the non-billable Public Test Sandbox to exercise the raw Query API contract. The sandbox does not configure MCP access or create application credentials.

API key required

Replace <YOUR_AON_API_KEY> with an issued key from the Developer Portal. Keep live keys in local environment variables or secret storage, never in source control.

1. Your first search — one curl

Search offers with your API key
curl
curl -s -X POST https://api.aon.pro/v1/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <YOUR_AON_API_KEY>" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "aon_search_offers",
      "arguments": {
        "intent": {
          "content": [
            { "type": "input_text", "text": "credit card with cashback" }
          ]
        }
      }
    },
    "id": 1
  }' | python3 -m json.tool

The result's content[0].text is a JSON document. The parts that matter:

{
  "code": "SUCCESS",
  "data": {
    "offers": [
      {
        "offer_info": { "title": "Crypto.com: Buy BTC, ETH & CRO" },
        "entity": { "name": "Foris DAX MT" },
        "action": {
          "type": "open_url",
          "name": "Sign Up",
          "payload": { "url": "https://aon.link/3AN6AbHv" }
        }
      }
    ],
    "request_id": "01a00beb-...",
    "protocol_version": "1.0"
  },
  "extra": {}
}

Each offer's action.payload.url is a live, trackable link — open it and you land on the real product. When present, data.engagement holds follow-up suggestions the Usage Guide shows you how to act on.

Results are relevance- and geo-aware: supply differs by country, so a different query can genuinely return an empty list with data.empty_reason — that is an honest answer, not a failure. Try another category or use aon_resolve_category to find where the inventory is.

Curious what else the server exposes? List its tools:

List the server's tools
curl
curl -s -X POST https://api.aon.pro/v1/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <YOUR_AON_API_KEY>" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}' | python3 -m json.tool

2. Connect your client

All four configurations below use the same explicit API key placeholder.

Claude Code

Claude Code is production-verified by the owner smoke evidence for this runtime. That evidence is specific to Claude Code and this certified endpoint.

Claude Code
curl
# One command — Claude Code stores the server in your project's .mcp.json
claude mcp add --transport http aon https://api.aon.pro/v1/mcp \
  --header "Authorization: Bearer <YOUR_AON_API_KEY>"

Then just ask: "find me noise-cancelling headphones under $300".

Claude Desktop

Configuration reference only — Claude Desktop has not been independently tested with this release.

Claude Desktop cannot send custom HTTP headers to a remote server, so the config bridges through mcp-remote (needs Node.js installed). Restart Claude Desktop after saving.

Claude Desktop (via mcp-remote)
JSON
// claude_desktop_config.json
// macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
// Windows: %APPDATA%\Claude\claude_desktop_config.json
//
// Claude Desktop cannot attach custom HTTP headers itself, so the entry
// bridges through the mcp-remote package (the header is passed via env to
// survive argument splitting on every platform).
{
  "mcpServers": {
    "aon": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.aon.pro/v1/mcp",
        "--header",
        "Authorization:${AON_AUTH}"
      ],
      "env": {
        "AON_AUTH": "Bearer <YOUR_AON_API_KEY>"
      }
    }
  }
}

Cursor

Configuration reference only — Cursor has not been independently tested with this release.

Save the file, then enable the server under Settings → MCP.

Cursor
JSON
// .cursor/mcp.json (project) or ~/.cursor/mcp.json (global)
{
  "mcpServers": {
    "aon": {
      "url": "https://api.aon.pro/v1/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_AON_API_KEY>"
      }
    }
  }
}

VS Code

Configuration reference only — VS Code has not been independently tested with this release.

Save the file, then start the server from the MCP view or when prompted.

VS Code
JSON
// .vscode/mcp.json
{
  "servers": {
    "aon": {
      "type": "http",
      "url": "https://api.aon.pro/v1/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_AON_API_KEY>"
      }
    }
  }
}

3. Use an issued key

Use the issued AON API key for the enabled account you are configuring. The Developer Portal manages existing application-owned Live Keys; this public guide does not create an application, issue a key, or change account availability.

  1. Replace the placeholder in your client configuration with the issued key.
  2. Store the key server-side and only enter it where a client keeps secrets.
  3. Preserve returned actions and tracking data according to the integration contract.

MCP completion check

Complete this connection only after your issued API key successfully authenticates /v1/mcp, the selected client configuration connects, tools/list returns discovery results; one tools/call returns a success result. The Public Test Sandbox is not MCP access proof. If your issued key cannot authenticate the endpoint, stop here: this documentation has no publicly documented entitlement, OAuth, M2M, or application-request action.

Next steps

Explore the tools →