Free, no sign-in MCP: can AI agents reach checkout at a store? Try: Use ARC to check allbirds.com
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.
[Requires sign-in] Ask benchmark personal-agent personas what they think of a brand and whether they would recommend it for a category. Personas: Muse-style, Instinct-style, Grok Bot-style, OpenAI dots-style, and OpenClaw-style. This tool uses benchmark personas, including the Grok Bot-style persona; these are not live consumer-product sessions. It is not the real Grok read-back on a scan and it is not the agent-rails HTTP check. What Grok tells shoppers on a scan is a real model call via API, checked against the store's pages, not the consumer Grok app. All five cart attempts, Grok included, are ARC browser cart tests. Returns, per persona: mentioned, recommended, which competitors were recommended instead, sentiment, and short quotes, plus next steps. Limited to 8 runs per workspace per day and 12 per network. Free workspaces also share a site-wide daily cap so unpaid runs cannot drain the model budget.
Brand name, e.g. Allbirds.
Product category a shopper would ask about, e.g. running shoes.
Public store URL, e.g. https://www.allbirds.com
Optional competitor brand names to watch for in the answers.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
[Requires sign-in] Ask benchmark personal-agent personas what they think of a brand and whether they would recommend it for a category. Personas: Muse-style, Instinct-style, Grok Bot-style, OpenAI dots-style, and OpenClaw-style. This tool uses benchmark personas, including the Grok Bot-style persona; these are not live consumer-product sessions. It is not the real Grok read-back on a scan and it is not the agent-rails HTTP check. What Grok tells shoppers on a scan is a real model call via API, checked against the store's pages, not the consumer Grok app. All five cart attempts, Grok included, are ARC browser cart tests. Returns, per persona: mentioned, recommended, which competitors were recommended instead, sentiment, and short quotes, plus next steps. Limited to 8 runs per workspace per day and 12 per network. Free workspaces also share a site-wide daily cap so unpaid runs cannot drain the model budget.
| Argument | Type | Description |
|---|---|---|
| brand* | string | Brand name, e.g. Allbirds. |
| category* | string | Product category a shopper would ask about, e.g. running shoes. |
| store_url* | string | Public store URL, e.g. https://www.allbirds.com |
| competitors | array | Optional competitor brand names to watch for in the answers. |
{
"type": "object",
"required": [
"brand",
"store_url",
"category"
],
"properties": {
"brand": {
"type": "string",
"description": "Brand name, e.g. Allbirds."
},
"category": {
"type": "string",
"description": "Product category a shopper would ask about, e.g. running shoes."
},
"store_url": {
"type": "string",
"description": "Public store URL, e.g. https://www.allbirds.com"
},
"competitors": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional competitor brand names to watch for in the answers."
}
}
}[Requires sign-in] Set up scheduled monitoring for one or more store URLs (the 'set up monitoring' flow). Validates each URL and rejects invalid/private/internal ones. GUIDED FLOW: first ask the user for the URLs (paste a list or a CSV), then the frequency (daily/weekly/monthly, default weekly). Every plan runs the core panel of personal shopping agents — no picking needed. Call once without confirmed=true to preview the exact setup and scan-credit estimate, read that summary to the user, and only after the user explicitly says yes call again with confirmed=true to create the monitors. Each scheduled run uses one scan credit. Every run emails who reached the cart, who stopped or started, the stuck step, and the fix. Weekly is what the plans include; daily only fits when the plan's scan allowance covers it.
| Argument | Type | Description |
|---|---|---|
| urls* | array | Store/product URLs to monitor (a list or pasted CSV lines). |
| depth | string | How far each scan goes. Default: cart. |
| confirmed | boolean | Must be true only after the user has confirmed the summarized setup. If missing or false, ARC returns a preview and creates nothing. |
| frequency | string | How often to re-test. Default: weekly. |
{
"type": "object",
"required": [
"urls"
],
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Store/product URLs to monitor (a list or pasted CSV lines)."
},
"depth": {
"enum": [
"cart",
"checkout"
],
"type": "string",
"description": "How far each scan goes. Default: cart."
},
"confirmed": {
"type": "boolean",
"description": "Must be true only after the user has confirmed the summarized setup. If missing or false, ARC returns a preview and creates nothing."
},
"frequency": {
"enum": [
"daily",
"weekly",
"monthly"
],
"type": "string",
"description": "How often to re-test. Default: weekly."
}
}
}[Requires sign-in] 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 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
}[Requires sign-in] Check whether personal AI agents can reach a product URL, understand it, and reach checkout. Runs ARC's readiness check: crawler access, whether an agent can answer a shopper's questions from the page, and personal shopping agents trying to add to cart or reach checkout. Returns a check id — poll get_readiness_result (about 30–60 seconds). This does not ask what agents think of the brand; use ask_agents_about_brand for that.
| Argument | Type | Description |
|---|---|---|
| url* | string | The product or store URL to test, e.g. https://store.com/products/best-seller |
| task | string | Optional goal, e.g. 'add to cart' (default) or 'reach checkout'. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The product or store URL to test, e.g. https://store.com/products/best-seller"
},
"task": {
"type": "string",
"description": "Optional goal, e.g. 'add to cart' (default) or 'reach checkout'."
}
}
}Check if an AI agent can reach checkout on a store before trying. Call this with a store domain, such as allbirds.com. Returns the saved checkout evidence, or not checked yet when ARC has no saved check. Free, no login, no new scan, and no fetch of the store. A missing field says "not recorded" and is not a zero. Results are advisory. ARC stops before payment.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Store domain, such as allbirds.com. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "Store domain, such as allbirds.com."
}
},
"additionalProperties": false
}Find stores where a saved check shows an AI agent can reach checkout. Filter by platform, protocol, or category. With no filters, returns the most recently checked of those stores and labels the result default: no filters given. A missing result is not counted against a store. No login and no new scan. Results are advisory. ARC stops before payment.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many stores to return. Default 10. Maximum 25. |
| category | string | Category or shopper words, such as footwear or running shoes. |
| platform | string | Commerce platform id, such as shopify or woocommerce. |
| protocol | string | ucp, webmcp, or mcp. ACP, PAP, and payments are not recorded per store. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "How many stores to return. Default 10. Maximum 25."
},
"category": {
"type": "string",
"description": "Category or shopper words, such as footwear or running shoes."
},
"platform": {
"type": "string",
"description": "Commerce platform id, such as shopify or woocommerce."
},
"protocol": {
"type": "string",
"description": "ucp, webmcp, or mcp. ACP, PAP, and payments are not recorded per store."
}
},
"additionalProperties": false
}[Requires sign-in] Concrete next steps to get recommended by personal agents and to become reachable, understandable, and buyable. Pass a readiness check id and/or the brand, category, store URL, and competitors that were recommended instead. Uses the check's evidence when an id is given. Does not start a new check.
| Argument | Type | Description |
|---|---|---|
| brand | string | Brand name, if you want recommendation steps. |
| scan_id | string | Optional readiness check id from check_agent_readiness. |
| category | string | Product category, e.g. running shoes. |
| mentioned | boolean | Whether any benchmark persona mentioned the brand. |
| store_url | string | Store URL. |
| recommended | boolean | Whether any benchmark persona recommended the brand for the category. |
| competitors_recommended | array | Competitors personal agents recommended instead. |
{
"type": "object",
"required": [],
"properties": {
"brand": {
"type": "string",
"description": "Brand name, if you want recommendation steps."
},
"scan_id": {
"type": "string",
"description": "Optional readiness check id from check_agent_readiness."
},
"category": {
"type": "string",
"description": "Product category, e.g. running shoes."
},
"mentioned": {
"type": "boolean",
"description": "Whether any benchmark persona mentioned the brand."
},
"store_url": {
"type": "string",
"description": "Store URL."
},
"recommended": {
"type": "boolean",
"description": "Whether any benchmark persona recommended the brand for the category."
},
"competitors_recommended": {
"type": "array",
"items": {
"type": "string"
},
"description": "Competitors personal agents recommended instead."
}
}
}[Requires sign-in] Get a readiness check by id. While running, reports progress. When complete, reports whether personal agents could reach the page, understand it, and reach checkout, plus the wall, concrete next steps, a directional score, a per-agent breakdown, and screenshots. Calling this again with the same id redisplays the result and does not start a new check. Never re-run check_agent_readiness just to see the screenshots again.
| Argument | Type | Description |
|---|---|---|
| id* | string | The check id returned by check_agent_readiness. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The check id returned by check_agent_readiness."
}
}
}[Requires sign-in] Look up a free ARC store card by host. Includes saved measurements and brand_claim ownership metadata. Brand statements are not measured by ARC; claims never change measured scores.
| Argument | Type | Description |
|---|---|---|
| host* | string |
{
"type": "object",
"required": [
"host"
],
"properties": {
"host": {
"type": "string"
}
}
}[Requires sign-in] 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"
}
}
}[Requires sign-in] List the workspace's monitors — each store re-checked on a schedule for whether personal agents can still reach it and its checkout. Includes cadence, status, last score, next run, and the monitor id.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}[Requires sign-in] List this workspace's recent readiness checks (newest first) — each store, its score, status, and id. Use an id with get_readiness_result to reopen a check.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}[Requires sign-in] Overview of whether monitored stores are still buyable by personal agents: latest score, trend, status, next run, and recent regression alerts.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}[Requires sign-in] Pause a monitor so it stops running on schedule (its history is kept). Use the monitor id from list_monitors.
| Argument | Type | Description |
|---|---|---|
| id* | string | Monitor id from list_monitors. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Monitor id from list_monitors."
}
}
}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
}Report how far one agent got at one store. Free, no login. Omit contributor_key and ARC issues one. Emails, phones, street addresses, card numbers, IP addresses, and private hosts are rejected. The report stays private until 3 independent contributors with a day-old key, or enough reputation, agree within 14 days. A blocked outcome also waits for ARC's free HTTP recheck. Same as POST /api/outcomes.
| Argument | Type | Description |
|---|---|---|
| blocker* | string | What stopped the agent, or none. |
| timestamp* | string | ISO 8601 time of the attempt, within the last 14 days. |
| agent_name* | string | Name of the agent that tried the checkout. No personal name. |
| agent_family* | string | Agent family, such as browser or a model family. No personal name. |
| store_domain* | string | Store hostname, such as allbirds.com. |
| furthest_step* | string | Furthest step the agent reached. |
| contributor_key | string | Optional. Omit it and ARC returns a free key. Send that key on later reports. |
[Requires sign-in] Resume a paused monitor.
| Argument | Type | Description |
|---|---|---|
| id* | string | Monitor id from list_monitors. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Monitor id from list_monitors."
}
}
}[Requires sign-in] Run a monitor's scan immediately (off-schedule) to establish or refresh its baseline. Consumes one scan credit — only call when the user explicitly asks to run now. Use the monitor id from list_monitors.
| Argument | Type | Description |
|---|---|---|
| id* | string | Monitor id from list_monitors. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Monitor id from list_monitors."
}
}
}[Requires sign-in] Change a monitor's cadence (daily/weekly/monthly) or label. Use the monitor id from list_monitors.
| Argument | Type | Description |
|---|---|---|
| id* | string | Monitor id from list_monitors. |
| label | string | |
| frequency | string |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Monitor id from list_monitors."
},
"label": {
"type": "string"
},
"frequency": {
"enum": [
"daily",
"weekly",
"monthly"
],
"type": "string"
}
}
}| store_error_text |
| string |
| Optional store error text. Personal data is stripped. |
{
"type": "object",
"required": [
"store_domain",
"agent_family",
"agent_name",
"timestamp",
"furthest_step",
"blocker"
],
"properties": {
"blocker": {
"enum": [
"captcha",
"login_wall",
"bot_block",
"3ds",
"payment_declined",
"none"
],
"type": "string",
"description": "What stopped the agent, or none."
},
"timestamp": {
"type": "string",
"description": "ISO 8601 time of the attempt, within the last 14 days."
},
"agent_name": {
"type": "string",
"description": "Name of the agent that tried the checkout. No personal name."
},
"agent_family": {
"type": "string",
"description": "Agent family, such as browser or a model family. No personal name."
},
"store_domain": {
"type": "string",
"description": "Store hostname, such as allbirds.com."
},
"furthest_step": {
"enum": [
"product",
"cart",
"checkout",
"payment",
"placed"
],
"type": "string",
"description": "Furthest step the agent reached."
},
"contributor_key": {
"type": "string",
"description": "Optional. Omit it and ARC returns a free key. Send that key on later reports."
},
"store_error_text": {
"type": "string",
"description": "Optional store error text. Personal data is stripped."
}
},
"additionalProperties": false
}