The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Argentina Price Index listing page.
A minimal, working test of the video's core mechanic: one agent request becomes a paid transaction at the edge. A Cloudflare Worker serves a live-computed price index from D1, gated by an x402-style 402 → pay → retry → data loop. Payment is mocked (shared-secret HMAC) so the whole loop runs with zero wallet setup; swapping in real x402 is a localized change.
Data is synthetic.
seed/observations.sqlis generated placeholder data so the demo runs before a real scraper exists. Do not treat the numbers as real Argentine prices.
| Endpoint | Tier | Returns |
|---|---|---|
GET /v1/headline?country=AR&category=food_beverages | free | latest index value + monthly rate (the teaser) |
GET /v1/index?country=AR&category=food_beverages | paid ($0.02) | full daily series |
GET /v1/latest?country=AR&category=food_beverages | paid ($0.02) | latest reading + methodology |
POST /mcp | — | MCP JSON-RPC: initialize, tools/list, tools/call |
The Worker also speaks MCP over HTTP at /mcp, exposing two tools:
get_ar_food_headline (free) — latest value + 30-day rateget_ar_food_price_index (paid, $0.02 mock-x402) — full daily series; call once with no _payment to receive a challenge, then retry with arguments._payment = {nonce, resource, amount, signature}Test the full agent flow (with npm run dev running):
Production note:
/mcphere is a minimal JSON request/response subset of the Streamable HTTP transport (no SSE/sessions/auth). For a real deployment use the official MCP SDK or Cloudflare'sagentsMcpAgent, and replace the mock HMAC with a real x402 facilitator.
Index math (methodology_version = v0-simple-avg): index = 100 × mean(price_t / price_base) over in-stock SKUs, base = first day in the window. Upgrade path baked into the schema: geometric mean within category + Laspeyres across categories.
Prereqs: Node 18+ and a Cloudflare account (npx wrangler login).
Expected agent output: the free headline, then a 402 with a price challenge, then a 200 with the full series and a PAYMENT-RESPONSE settlement header — one request turned into a transaction.
Watch live logs with npx wrangler tail.
seed/generate.mjs with a scheduled Worker that scrapes 1–2 Argentine online grocers daily into price_observations.src/index.ts (verifyPayment / challenge) with a real x402 facilitator (POST /verify, POST /settle) per Cloudflare's Agents x402 docs.npx wrangler secret put MOCK_PAYMENT_SECRET instead of the plain var.get_index directly.index_series as a nightly cache once query volume grows.