Skip to main content
Glama
kisasa

Shopify MCP Server

by kisasa

get-customers

Retrieve Shopify customers or search by name or email, select specific fields to reduce token usage, and return only a count when checking result size.

Instructions

Get customers or search by name/email. Supports field selection via 'fields' and 'countOnly' to get just the count.

Input Schema

NameRequiredDescriptionDefault
afterNoCursor for forward pagination
limitNoNumber of customers to return (default 10, max 250)
beforeNoCursor for backward pagination
fieldsNoIMPORTANT: Always specify this to minimize token usage and avoid flooding context with unnecessary data. Only the listed fields will be fetched from the API and returned. 'id' is always included. If you are unsure which fields are needed, ask the user before fetching all fields. Example: ["id", "firstName"] returns only customer GID and firstName. Available: id, firstName, lastName, email, phone, createdAt, updatedAt, tags, defaultAddress, addresses, amountSpent, numberOfOrders
reverseNoReverse the sort order
sortKeyNoSort key for customers
countOnlyNoIMPORTANT: Use this to check result set size before fetching data. Returns only { count: N } without any resource data, saving significant context. Recommended before paginating large result sets.
searchQueryNoFreetext search or Shopify query syntax (e.g. 'country:US tag:vip orders_count:>5')

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it does not state that this is a read-only operation, how pagination behaves, or what search semantics apply. It repeats the fields and countOnly tips already present in the schema, adding little behavioral context beyond structured fields.

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

Conciseness5/5

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

Two short sentences, front-loaded with the primary purpose, with no wasted wording. The secondary field-selection note is compact and immediately follows the main action.

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

Completeness3/5

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

For an 8-parameter listing/search tool with no output schema, the description is only minimally complete. The schema documents parameters well, but the description does not explain return shape, pagination behavior, or read-only nature, leaving some contextual gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description mentions 'fields' and 'countOnly', but those explanations are already fully covered in the schema and it adds no additional parameter semantics.

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

Purpose4/5

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

The description states a specific verb and resource: get customers or search by name/email. It clearly separates a list/search operation from single-customer tools like get-customer-by-id, though it does not explicitly name that sibling as the alternative.

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

Usage Guidelines3/5

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

It implies two modes, listing and searching, and notes that countOnly is for getting just the count. However, it gives no explicit when-to-use guidance against alternatives such as get-customer-by-id, get-customer-orders, or create-customer.

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