Skip to main content
Glama

Search a Shopify Resource

shopify_search
Read-onlyIdempotent

Search or list Shopify products, orders, customers, collections, pages, and other records across one store or multiple stores in parallel, with cursor pagination.

Instructions

List or search one kind of record with cursor pagination, on one store (store) or several in parallel (stores; each store returns its own result and cursor). Resources:

  • products: Products (query: Shopify product search syntax).

  • collections: Manual and smart collections.

  • orders: Orders, newest first (query: Shopify order search syntax).

  • customers: Customers. Protected customer data permissions apply.

  • publications: Sales channel publication IDs (no query; 100 per page).

  • redirects: URL redirects.

  • pages: Online Store pages.

  • files: Files (images, videos, generic files).

  • metaobjects: Metaobjects of one type (type required).

  • markets: Markets (no query).

  • themes: Themes with their role; MAIN is live (no query).

  • delivery_profiles: Delivery profiles with zones, methods and flat rates (no query).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNometaobjects: the metaobject type.
afterNoCursor from pageInfo.endCursor (single store only).
firstNo
queryNoShopify search syntax for the resource, where it takes one.
storeNoOne store alias. Give store or stores.
storesNoSeveral store aliases, searched in parallel.
resourceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.1

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, the description discloses cursor pagination, parallel multi-store execution with per-store results and cursors, ordering ('newest first'), and an auth/permission constraint ('Protected customer data permissions apply'). It omits rate limits and result-shape details, but adds substantial context against annotations that already cover the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The two-sentence preamble is front-loaded with the core behavior and pagination, followed by a scannable per-resource list. Given 12 resources and their individual quirks, the length is justified, though the list is dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries return-value burden and does so adequately by explaining cursors, per-store results, and per-resource page sizing. It stops short of detailing the general return shape, so it is strong but not fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 71%, and the description adds meaning by mapping the query parameter to specific resources (and flagging those with no query), reinforcing the store vs stores parallel semantics, and noting type is required for metaobjects. This goes beyond the schema text, though it does not fully compensate for the uncovered parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ('List or search one kind of record') and then enumerates all 12 resource kinds, so an agent knows exactly what universe the tool covers. It clearly reads as the general read/search dispatcher, distinct from the mutation and graphql siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Per-resource notes give real usage context: which resources take a query ('Shopify product search syntax'), which take none ('no query; 100 per page'), and that metaobjects requires 'type'. It stops short of naming alternatives (e.g., shopify_get, shopify_graphql_query) or stating when not to use it, so it does not reach a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.