← Tool reference

browse_store

A WebMCP tool distributed by Shopify. 99,664 of the sites we crawled carry a tool set that includes it (99.7% of vendor-distributed detections). This is a documented platform feature, not a vulnerability. Individual sites did not each choose it one by one.

What the tool declares

The description below is quoted as Shopify publishes it, in the distributed bundle:

Browse OR navigate to store collections. Set navigate=true whenever the user wants to be taken to a collection page in the browser (triggers: "browse to", "go to", "show me", "open", "take me to", "navigate to" a collection or category). With navigate=false (default), returns collection or product data without changing the page — use this only when the user is asking a question about the catalog, not asking to view it. Without a collection handle, lists all collections. With a handle, returns products from that collection; use "all" to browse everything. Does NOT add anything to the cart; use add_to_cart for cart changes. Prefer this over search_catalog when the user names a category, collection, or wants to explore. With navigate=true this MOVES the browser to the collection page; the tool result then confirms the destination and instructs you not to navigate again — follow it.
VendorShopify
Sites99,664 in 3 tool sets (64,429 + 31,153 + 4,082)
Declared by bundle versions0.1.0, 0.1.1, 1cd8a9f0, f427de6a
Read-only hintreadOnlyHint: false
Other hintsuntrustedContentHint: true

The wording of this description differs between bundle versions; the one above is from the newest version that declares the tool (f427de6a).

The input it asks for

FieldTypeRequiredDescription
collectionstringnoCollection handle to browse (e.g. "best-sellers", "new-arrivals"). Omit to list all collections. Use "all" to browse every product.
navigatebooleannoWhen true, navigate the browser to the collection page after loading data. Set true for user intents like "browse to", "go to", "show me", "open", "take me to" a collection. Requires a collection handle. Defaults to false.
sort_bystringnoSort order. Options: best-selling (default), price-ascending, price-descending, title-ascending, title-descending, created-descending, created-ascending.
pagenumbernoPage number for pagination (starts at 1). Each page returns up to 30 products.

The full input schema, as declared:

{
  "type": "object",
  "properties": {
    "collection": {
      "type": "string",
      "description": "Collection handle to browse (e.g. \"best-sellers\", \"new-arrivals\"). Omit to list all collections. Use \"all\" to browse every product."
    },
    "navigate": {
      "type": "boolean",
      "description": "When true, navigate the browser to the collection page after loading data. Set true for user intents like \"browse to\", \"go to\", \"show me\", \"open\", \"take me to\" a collection. Requires a collection handle. Defaults to false."
    },
    "sort_by": {
      "type": "string",
      "description": "Sort order. Options: best-selling (default), price-ascending, price-descending, title-ascending, title-descending, created-descending, created-ascending."
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination (starts at 1). Each page returns up to 30 products."
    }
  }
}

What we checked

We read the tool set the page declares and we never invoke a tool. We fetched and analysed the distributed bundle that declares this tool, so these copies carry no unverified-implementation signal. What a tool does is inferred from its name and description, and we have not yet published an accuracy measurement for that inference. These are measured indicators, not audits. The crawl is a sample, not a census.

Vendor documentation: https://shopify.dev/docs/api/web-mcp

Other tools in the same sets

Source

Counts: sealed file 2026-10-11, sha256 25d8fb700a3a3e973ea18e6ac678d15762cce58a46690334defa5b05b9142e13. Declarations: captured from the vendor's distributed bundles, each checked against a recorded sha256. See the Shopify tool sets and what a tool declares and what a crawler cannot see.