Shopify and WooCommerce product catalogs for agents: list, search, full product with barcodes.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer atw_live_... API key from agenttoolworks.com
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.
Returns one product of a Shopify or WooCommerce store in full: every variant with its options, SKU, barcode (GTIN/UPC/EAN, Shopify), price and sale price, stock where the store publishes it, weight in grams; options, images with alt text, description as plain text, tags, rating (WooCommerce). Pass the product page URL, or the store URL and the product handle. Costs 1 credit.
The product handle (Shopify) or slug (WooCommerce), with store_url. Every list_products and search_products row carries it.
The store's address: a home page (https://www.allbirds.com), a Shopify collection page (/collections/mens) or a WooCommerce category page (/product-category/shoes/). 'allbirds.com' works too.
The product page URL, e.g. https://www.allbirds.com/products/mens-wool-runners.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Returns one product of a Shopify or WooCommerce store in full: every variant with its options, SKU, barcode (GTIN/UPC/EAN, Shopify), price and sale price, stock where the store publishes it, weight in grams; options, images with alt text, description as plain text, tags, rating (WooCommerce). Pass the product page URL, or the store URL and the product handle. Costs 1 credit.
| Argument | Type | Description |
|---|---|---|
| handle | string | The product handle (Shopify) or slug (WooCommerce), with store_url. Every list_products and search_products row carries it. |
| store_url | string | The store's address: a home page (https://www.allbirds.com), a Shopify collection page (/collections/mens) or a WooCommerce category page (/product-category/shoes/). 'allbirds.com' works too. |
| product_url | string | The product page URL, e.g. https://www.allbirds.com/products/mens-wool-runners. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"handle": {
"type": "string",
"minLength": 1,
"description": "The product handle (Shopify) or slug (WooCommerce), with store_url. Every list_products and search_products row carries it."
},
"store_url": {
"type": "string",
"minLength": 4,
"description": "The store's address: a home page (https://www.allbirds.com), a Shopify collection page (/collections/mens) or a WooCommerce category page (/product-category/shoes/). 'allbirds.com' works too."
},
"product_url": {
"type": "string",
"minLength": 8,
"description": "The product page URL, e.g. https://www.allbirds.com/products/mens-wool-runners."
}
},
"additionalProperties": false
}Returns your current plan, remaining credit balance and call volume over the last 30 days. Free to call.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Detects whether a store runs Shopify or WooCommerce and whether its public catalog can be read, and returns its currency and how many products it publishes. Call it first on an unknown store: it is cheap, and every other tool needs a readable store. Light read: costs 0.2 credit.
| Argument | Type | Description |
|---|---|---|
| store_url* | string | The store's address: a home page (https://www.allbirds.com), a Shopify collection page (/collections/mens) or a WooCommerce category page (/product-category/shoes/). 'allbirds.com' works too. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"store_url"
],
"properties": {
"store_url": {
"type": "string",
"minLength": 4,
"description": "The store's address: a home page (https://www.allbirds.com), a Shopify collection page (/collections/mens) or a WooCommerce category page (/product-category/shoes/). 'allbirds.com' works too."
}
},
"additionalProperties": false
}Lists the products of a Shopify or WooCommerce store, a page at a time, in a compact shape: title, URL, vendor, type, price range, sale price, currency, in stock, variant count, main image. Pass a collection or category page URL, or 'collection', to list only that part. Use 'next_page' from the answer to continue. For one product's variants, barcodes and stock, call get_product. Costs 1 credit per page.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1. Default 1. |
| page_size | integer | Products per page, at most 50. Default 25. |
| store_url* | string | The store's address: a home page (https://www.allbirds.com), a Shopify collection page (/collections/mens) or a WooCommerce category page (/product-category/shoes/). 'allbirds.com' works too. |
| collection | string | A Shopify collection handle or WooCommerce category slug, when the URL does not already name one, e.g. 'sale'. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"store_url"
],
"properties": {
"page": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Page number, from 1. Default 1."
},
"page_size": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Products per page, at most 50. Default 25."
},
"store_url": {
"type": "string",
"minLength": 4,
"description": "The store's address: a home page (https://www.allbirds.com), a Shopify collection page (/collections/mens) or a WooCommerce category page (/product-category/shoes/). 'allbirds.com' works too."
},
"collection": {
"type": "string",
"minLength": 1,
"description": "A Shopify collection handle or WooCommerce category slug, when the URL does not already name one, e.g. 'sale'."
}
},
"additionalProperties": false
}Searches one Shopify or WooCommerce store for products matching a keyword, through the store's own public search, and returns the matches in the same compact shape as list_products. Up to 10 results on Shopify (its search limit), up to 20 on WooCommerce. Costs 1 credit.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum results, default 10 (Shopify stops at 10). |
| query* | string | What to search for, e.g. 'wool runner' or 'espresso'. |
| store_url* | string | The store's address: a home page (https://www.allbirds.com), a Shopify collection page (/collections/mens) or a WooCommerce category page (/product-category/shoes/). 'allbirds.com' works too. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"store_url",
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Maximum results, default 10 (Shopify stops at 10)."
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "What to search for, e.g. 'wool runner' or 'espresso'."
},
"store_url": {
"type": "string",
"minLength": 4,
"description": "The store's address: a home page (https://www.allbirds.com), a Shopify collection page (/collections/mens) or a WooCommerce category page (/product-category/shoes/). 'allbirds.com' works too."
}
},
"additionalProperties": false
}