Skip to main content
Glama

Get Shopify customer stats

get_shopify_customer_stats
Read-onlyIdempotent

Get an AGGREGATE Shopify customer count only — a single number, optionally filtered by query (Shopify customer search syntax, e.g. "accepts_marketing:true"). Returns NO customer names, emails, addresses, or any other personal data — this tool is aggregate-only by design (PCD Level 2 personal-data reads are deferred). Use when a person or agent needs how many customers exist, never who they are.

Routing: Shopify customer count (aggregate only — no PII) from the live store

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoOptional Shopify customer search, e.g. "accepts_marketing:true" or "orders_count:>5"
companyIdYesFreedomOS company id to act within (you must be a member). Required for company-scoped tools.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark the tool as readOnly, idempotent, and non-destructive, but the description adds meaningful behavioral context beyond that: it is aggregate-only by design, returns a single count, and explicitly excludes all personal data (PCD Level 2 deferred). This gives the agent important expectations about the response shape and privacy boundary, which annotations alone do not convey. No contradiction with annotations is present.

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 description is front-loaded with the core purpose and remains reasonably concise despite repeated emphasis on aggregate-only/no-PII across the main text and the routing line. The repetition of 'aggregate only — no PII' in both places is slightly redundant but does not obscure meaning. Overall, each sentence contributes to clarifying scope and use, so it is well-structured.

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?

For a simple read-only count tool with no output schema, the description sufficiently states that the return is a single number and that no PII is included. It covers the filtering capability via `query` and the required `companyId` through the schema. It doesn't specify the exact JSON response wrapper, but 'single number' is adequate for an agent to invoke the tool and interpret the result. Minor gap: no mention of error behavior or rate limits, but these are not critical for a low-complexity tool.

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%: both `query` and `companyId` have clear descriptions. The description repeats the query syntax example and adds the context that the result is a single number, but it does not materially expand on parameter meaning beyond the schema. Per the baseline rule for high schema coverage, a 3 is appropriate.

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 and resource: 'Get an AGGREGATE Shopify customer count only — a single number.' It explicitly distinguishes the tool from any customer-data-returning tool by stating it returns NO names, emails, or addresses, and it clarifies the aggregate-only design. This enables an agent to know exactly what the tool does and how it differs from siblings like get_top_customers or list_shopify_orders.

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?

The description says 'Use when a person or agent needs how many customers exist, never who they are,' which provides clear when-to-use and when-not-to-use guidance. It also mentions the 'aggregate-only' nature and 'no PII' as a routing hint. However, it does not explicitly name alternatives (e.g., get_top_customers for details), so it stops short of the full 5 for alternative naming, but the context is unambiguous.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources