{
  "markdown": "# AgentReady Woo — agentic-commerce readiness for self-hosted WooCommerce\n\nLive at **[app.utilityhouse.xyz](https://app.utilityhouse.xyz)**.\n\nAgentReady reads a public WooCommerce storefront the way a shopping agent would\nand reports what it found. It reads public pages and the public WooCommerce\nStore API. It changes nothing, stores no customer data, and returns no product\ntext.\n\n**When it cannot read a store, it says so.** A shop that is down, blocked or not\nyet public comes back as `state: UNREADABLE` with `score: null` — an abstention,\nnot a low grade. That distinction is the point of the product: a number derived\nfrom our own failed requests is a number a merchant would act on.\n\nDiagnostic accuracy against real merchant stores is **unmeasured** and is\nclaimed nowhere. This is not a certification, a visibility guarantee, or a\ncheckout test.\n\n## The five tools\n\n`POST /mcp` speaks **JSON-RPC 2.0**. `tools/list` returns five tools.\n\nTwo need no credentials at all:\n\n| Tool | What it answers |\n| --- | --- |\n| `scan_woo_store_readiness` | Is this public storefront readable by shopping agents? |\n| `preflight_woo_store` | The same question for one origin, passive and read-only. |\n\nThree require the merchant's own verified ownership and are unreachable\nwithout it:\n\n| Tool | What it does |\n| --- | --- |\n| `start_woo_release_verification` | Starts a release run against pinned protocol evidence. |\n| `get_woo_release_verification` | Reads that run's state. |\n| `claim_woo_release_result` | Claims the result packet once, idempotently. |\n\nThere is also `POST /api/v2/preflight`, documented in\n`mcp-registry/openapi-preflight.yaml` as an OpenAPI 3.1 document. A `200` from\nit does **not** mean the store could be read — check `state` before using\n`checks`.\n\n## Rate limits, as they are\n\nThree calls per target origin per day, and ten per calling IP per day.\nExceeding either returns `429` with `TARGET_RATE_LIMITED`. These are the real\nnumbers, not a friendlier pair.\n\n## Settlement\n\n**Settlement is disabled.** No route on this service can take money. Prices\nappear on the marketing page as prices for a thing that is not yet purchasable,\nand every place one is shown says so. The Paddle integration and the D1\nfinancial ledger exist and are exercised by the test suite; the flag that would\nlet them move money is deliberately absent, and the x402 configuration points\nat Base **Sepolia** testnet.\n\n## The WordPress plugin\n\n`wordpress-plugin/agentready-woo` publishes `/.well-known/agenticweb.md` and,\nwhen a merchant connects it, sends one signed **aggregate** evidence envelope —\na count and a check result, never a product, shopper, order, payment, address or\ncredential. It is verified against real WordPress and WooCommerce with HPOS both\non and off; see `wordpress-plugin/agentready-woo/INTEGRATION-HARNESS.md`.\n\n## Local development\n\n```bash\nnpm install\nnpm run typecheck\nnpm test\nnpm run dev:worker\n```\n\n`npm test` uses Node's own test runner. There is no build step: the Worker runs\nTypeScript directly under Node 25 type-stripping, which is why parameter\nproperties do not appear anywhere in `src/`.\n\n## What this repository is not\n\nIt is a public mirror of one service from a private monorepo. It is not the\ndeployment source, and `wrangler.toml` here carries a placeholder database id\nrather than the real one. Deploys are performed from the private repository by\none operator; nothing in this repository deploys anything.\n",
  "bytes": 3449,
  "sha": "9930cb1b7b17abce8d3692f3a7067b01aec2bfa0b73aca636cb53e2f91683d85",
  "repo_slug": "tytutueh13-sudo/agentready-woo",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_xyz_utilityhouse_agentready_woo_4f449b5f/readme"
}