Free open check: can an AI agent reach checkout on this store? Advisory; ARC stops before payment.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Read ARC's agent commerce adoption counts, category and commerce platform rates from saved HTTP checks, including Checkout WebMCP among measured Shopify checkouts, with unknown and not checked separate; shopper approval required. Curated sample, not all e-commerce. No store requests or model calls.
This tool takes no arguments.
Read ARC's agent commerce adoption counts, category and commerce platform rates from saved HTTP checks, including Checkout WebMCP among measured Shopify checkouts, with unknown and not checked separate; shopper approval required. Curated sample, not all e-commerce. No store requests or model calls.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Read ARC's open agent leaderboard: cart success over the fixed ARC-100 v1 test set for each agent path ARC measures (ARC browser shoppers A-E, the UCP path, the storefront MCP path), with n, dates, evidence labels and Wilson 95% intervals, plus unverified outside submissions. Saved results only; no store requests or model calls. CC-BY-4.0.
| Argument | Type | Description |
|---|---|---|
| include_stores | boolean | Also return the per-store result grid (100 rows). |
{
"type": "object",
"properties": {
"include_stores": {
"type": "boolean",
"description": "Also return the per-store result grid (100 rows)."
}
},
"additionalProperties": false
}Read whether an AI agent can reach checkout for a brand the ARC Index already lists. No login and no new scan. Pass a brand, URL, or category. Returns the score, evidence, and both lanes: the agent-catalog HTTP check and the browser cart. The JSON field `agents_can_buy` is true when the catalog returned a checkout link or a browser shopper added the product to the cart. ARC stops before payment. It is not a completed order. The catalog check does not change the score. A missing score is not a zero. Results are advisory.
| Argument | Type | Description |
|---|---|---|
| q | string | Free-text brand, product, or category query. |
| url | string | Brand, store, or product URL already on the ARC Index. |
| brand | string | Brand name, e.g. Allbirds. |
| category | string | Index category or shopper words, e.g. footwear, running shoes, leggings. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free-text brand, product, or category query."
},
"url": {
"type": "string",
"description": "Brand, store, or product URL already on the ARC Index."
},
"brand": {
"type": "string",
"description": "Brand name, e.g. Allbirds."
},
"category": {
"type": "string",
"description": "Index category or shopper words, e.g. footwear, running shoes, leggings."
}
}
}Call when you need a saved checkout-link check for any public store URL, not only Index brands. Saved HTTP checkout check for a public homepage or product URL: catalog, product, checkout link, UCP profile, blocks, and one fix. No login, model call, payment, or browser scan. Uses ARC's last check (cached up to 24 hours). A missing result is unknown, not a no. A checkout link means reach checkout, not a completed order. Results are advisory. ARC stops before payment.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public store homepage or product URL |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public store homepage or product URL"
}
},
"additionalProperties": false
}Latest open ARC dataset snapshot (start with store_answers: one plain answer per store on whether AI agents can find products and get a checkout link): immutable versioned download URLs plus latest/ aliases (CSV and Parquet), row counts, method version and licence (CC-BY-4.0, attribution ARC, arcreport.ai). Reads only.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Find stores where a saved check shows an AI agent can reach checkout, for running shoes, beauty, clothing, home goods, or another product need. Reads real HTTP agent-catalog checks from the last thirty days whose catalog found a product and returned a checkout link. This is not a completed order. One tested product is not a promise about another item. No login, browser scan, or model call. Results are advisory. ARC stops before payment.
| Argument | Type | Description |
|---|---|---|
| q | string | Product need, such as skincare or camping gear |
| limit | integer | |
| category | string | Category slug or shopper words such as running shoes |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Product need, such as skincare or camping gear"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
},
"category": {
"type": "string",
"description": "Category slug or shopper words such as running shoes"
}
},
"additionalProperties": false
}Read free ARC agent facts for a store or product with no login. Returns TypeSafe Jev typed decisions (use-case mention, price clarity, agent-friendly description, cart-blocker suspicion, readiness score) from an HTTP scrape. Not a browser session and not any third-party agent product; ARC's browser cart tests (ARC browser shoppers A–E) are separate. JSON: GET /api/agent-facts?host=
| Argument | Type | Description |
|---|---|---|
| url | string | Store or product URL |
| host | string | Store hostname, e.g. allbirds.com |
| slug | string | ARC Index slug, e.g. allbirds |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Store or product URL"
},
"host": {
"type": "string",
"description": "Store hostname, e.g. allbirds.com"
},
"slug": {
"type": "string",
"description": "ARC Index slug, e.g. allbirds"
}
}
}Read saved public Google agentic checkout readiness checks for a store. Free; no new scan or paid calls. Merchant Center feed eligibility cannot be checked from outside. Not Google approval or certification.
| Argument | Type | Description |
|---|---|---|
| host* | string | Store host or URL |
{
"type": "object",
"required": [
"host"
],
"properties": {
"host": {
"type": "string",
"description": "Store host or URL"
}
}
}List free ARC agent facts by category (beauty, footwear, apparel, …) with no login. Ranked by newest real Jev scores. JSON: GET /api/agent-facts?category=beauty
| Argument | Type | Description |
|---|---|---|
| limit | number | 1–50, default 20 |
| category | string | Category id or words, e.g. beauty, running shoes |
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "1–50, default 20"
},
"category": {
"type": "string",
"description": "Category id or words, e.g. beauty, running shoes"
}
}
}Check if an AI agent can reach checkout on a store before trying. Saved automated HTTP check for a product or store URL. Uses ARC's saved directory, rails, store answers and check history. When those have no row, uses the plain-HTTP checker. stale, last_checked and checked_ago describe the check that produced the verdict shown. lastReachableCheck is a separate, newer plain-HTTP time. It does not re-verify the checkout link or rails. Does not fetch the store and does not start a scan. ARC checks this store's own site only. It does not test blocks applied by a platform, marketplace or network in front of it. The saved result is ARC's automated HTTP check. It is not a live agent session and not a completed order. Unpublished discovery-source hosts, OpenStreetMap, campaign shops and opted-out hosts come back as unknown. A checker fallback is http-only and checkout was not part of the check. JSON: GET /api/precheck?url=. Results are advisory. ARC stops before payment. Advisory only, not a guarantee. Do not refuse or avoid a store solely because of ARC's data. known:false or missing data is not a no. Data CC BY 4.0, attribute ARC (arcreport.ai); OSM-derived rows are ODbL.
| Argument | Type | Description |
|---|---|---|
| url* | string | Product or store URL, such as https://allbirds.com/products/shoe. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Product or store URL, such as https://allbirds.com/products/shoe."
}
},
"additionalProperties": false
}Free latest saved product data and return/shipping policy check from the store's pages and structured data. Reads history only; no store fetch or model call. A missing result is not a zero.
| Argument | Type | Description |
|---|---|---|
| url | string | |
| host | string |
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"host": {
"type": "string"
}
},
"additionalProperties": false
}Read ARC's neutral Protocol Matrix: for UCP, ACP, PAP, WebMCP, MCP and agent payment protocols, how many checked stores declare, validate, answer and transact, with evidence labels (Measured / Inferred / Not measured). Saved checks only; no store requests or model calls. CC-BY-4.0.
| Argument | Type | Description |
|---|---|---|
| protocol | string | Optional: one protocol id. |
{
"type": "object",
"properties": {
"protocol": {
"enum": [
"ucp",
"acp",
"pap",
"webmcp",
"mcp",
"payments"
],
"type": "string",
"description": "Optional: one protocol id."
}
},
"additionalProperties": false
}Read a public store card and saved brand claim. No outbound fetch or model calls. Brand statements are from the brand and not measured by ARC; claims never change scores.
| Argument | Type | Description |
|---|---|---|
| host* | string | Store host or URL. |
{
"type": "object",
"required": [
"host"
],
"properties": {
"host": {
"type": "string",
"description": "Store host or URL."
}
}
}Submit your agent's run against ARC-100 v1 to ARC's open leaderboard. Free. The run is listed as 'unverified' until ARC re-runs a sample. Format: arc-leaderboard-submission/v1 (see /leaderboard/spec). Runs must stop before payment. Limit 5 per network per day. Same as POST /api/leaderboard/submit.
| Argument | Type | Description |
|---|---|---|
| run* | object | |
| spec* | string | |
| agent* | object | |
| contact | string | Optional and private: how ARC can reach you to arrange verification. |
| results* | array | |
| test_set* | string |
{
"type": "object",
"required": [
"spec",
"test_set",
"agent",
"run",
"results"
],
"properties": {
"run": {
"type": "object",
"required": [
"stopped_before_payment"
],
"properties": {
"notes": {
"type": "string",
"maxLength": 500
},
"started_at": {
"type": "string",
"description": "ISO 8601"
},
"finished_at": {
"type": "string",
"description": "ISO 8601"
},
"stopped_before_payment": {
"type": "boolean",
"const": true
}
}
},
"spec": {
"type": "string",
"const": "arc-leaderboard-submission/v1"
},
"agent": {
"type": "object",
"required": [
"name",
"path"
],
"properties": {
"url": {
"type": "string",
"description": "https URL for the agent"
},
"name": {
"type": "string",
"maxLength": 60
},
"path": {
"enum": [
"browser",
"ucp",
"mcp",
"acp",
"api",
"other"
],
"type": "string"
},
"model": {
"type": "string",
"maxLength": 80
},
"builder": {
"type": "string",
"maxLength": 80
},
"version": {
"type": "string",
"maxLength": 40
}
}
},
"contact": {
"type": "string",
"description": "Optional and private: how ARC can reach you to arrange verification."
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"outcome"
],
"properties": {
"at": {
"type": "string"
},
"id": {
"type": "string",
"description": "ARC-100 store id from /data/arc-100/v1/arc-100.csv, e.g. arc100-v1-001"
},
"steps": {
"type": "number"
},
"outcome": {
"enum": [
"added_to_cart",
"checkout_reached",
"no_cart",
"blocked",
"error",
"not_attempted"
],
"type": "string"
},
"seconds": {
"type": "number"
},
"evidence_url": {
"type": "string"
}
}
},
"maxItems": 100,
"minItems": 10
},
"test_set": {
"type": "string",
"const": "ARC-100 v1"
}
}
}Add stores to ARC's free, open agent-commerce directory (CC-BY dataset). Pass url for one store or hosts for up to 50. Each new host is validated (live HTTPS, not parked, not redirecting to another brand); accepted hosts are queued for ARC's plain-HTTP rails checks (UCP, WebMCP, MCP, policies, product data) and appear in the dataset with source=submitted. No model calls, no login. Rate limited per caller.
| Argument | Type | Description |
|---|---|---|
| url | string | |
| hosts | array | |
| category | string |
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"hosts": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"category": {
"enum": [
"apparel",
"footwear",
"beauty",
"home",
"food-drink",
"supplements",
"outdoor",
"kids",
"pets",
"electronics",
"jewelry",
"unknown"
],
"type": "string"
}
},
"additionalProperties": false
}Validate a Universal Commerce Protocol (UCP) business profile against the published UCP JSON Schema (current release) and spec rules: authority binding, https endpoints, orphaned extensions and, for a URL, hosting headers (no redirects, Cache-Control public max-age>=60). Pass url (store host, homepage or profile URL; /.well-known/ucp is added for a homepage) or profile (the JSON). Returns errors, warnings and info, each with a path and the spec section. Free, no login, no model call. Validation is not certification. JSON: GET /api/ucp/validate?url=
| Argument | Type | Description |
|---|---|---|
| url | string | Store host, homepage or profile URL, e.g. allbirds.com |
| profile | any | The profile JSON (object or string) to validate without fetching. |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Store host, homepage or profile URL, e.g. allbirds.com"
},
"profile": {
"description": "The profile JSON (object or string) to validate without fetching."
}
}
}