Skip to main content
Glama

Server Details

Check a product CSV, handles, variant matrices and metafield keys. 4 of 6 free.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

6 tools
bulk_price_changeBulk Price ChangeA
Read-onlyIdempotent
Inspect

Apply one pricing rule across a list of prices and show the effect. PREMIUM (license).

Percentage first, then the flat amount, then rounding — stated explicitly because the order changes the answer. Typical input {"prices": [19.99, 24.5], "change_pct": 10, "charm_ending": ".99"} returns {"rows": [{"was": 19.99, "now": 21.99}, {"was": 24.5, "now": 26.99}], "total_was": 44.49, "total_now": 48.98, "uplift_pct": 10.09}.

Use when repricing a catalogue before export. Not for what a price nets you after Shopify's fees — that is payout_estimate. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "prices must contain at least one price"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
pricesYesCurrent prices, at least one, each greater than 0.
round_toNoRounding increment applied last, e.g. 0.01 or 0.05. Default 0.01.
change_pctNoPercentage change applied first, e.g. 10 to raise by 10% or -5 to cut by 5%. Default 0.
change_flatNoFlat amount applied after the percentage. Default 0.
charm_endingNoForce every price to end in these cents, e.g. ".99" or ".95". Applied after rounding. Empty by default.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the bar is lower, but the description adds valuable context: it states the operation order (percentage, flat, rounding), provides a concrete example with expected output, and explains error handling (returns error objects instead of protocol errors). This exceeds the annotation coverage and fully discloses behavior.

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?

The description is compact yet information-dense, front-loading the purpose and the critical ordering note. Every sentence earns its place: purpose, example, usage guidance, alternative tool, error behavior, safety notes. No filler, well-structured for quick consumption by an agent.

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

Completeness5/5

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

Given the tool's moderate complexity (5 params, one required) and the fact that an output schema and annotations exist, the description provides all necessary context: usage timing, parameter interactions, error handling, and safety profile. The example return object covers output expectations, making it complete.

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 description coverage is 100%, so baseline is 3. The description adds crucial semantics beyond the schema by explaining the exact order of application (percentage -> flat -> rounding -> charm ending) and clarifies the meaning of each parameter with a typical input example. It doesn't repeat schema details but enhances understanding, justifying a 4.

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 clearly states the tool applies a pricing rule across a list of prices and shows the effect, which is a specific verb+resource. It distinguishes itself from siblings like payout_estimate by explicitly contrasting its purpose, so the agent knows exactly when to use it.

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

Usage Guidelines5/5

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

The description explicitly says 'Use when repricing a catalogue before export' and explicitly notes 'Not for what a price nets you after Shopify's fees — that is payout_estimate,' naming an alternative tool. This meets the highest bar for usage guidance.

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

metafield_key_checkMetafield Key CheckA
Read-onlyIdempotent
Inspect

Validate a metafield namespace and key before you define it. FREE.

Shopify metafield namespaces and keys are lowercase alphanumerics and underscores; a capital letter or a dash is rejected at definition time, usually after the rest of the import has already run. Typical input {"namespace": "custom", "key": "Care-Instructions"} returns {"ok": false, "problems": ["key: dashes and capitals are not allowed"], "suggested_key": "care_instructions"}.

Use when designing metafields. Not for the CSV column that carries them — that is product_csv_check. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesThe metafield key, e.g. "care_instructions".
namespaceYesThe metafield namespace, e.g. "custom".
value_typeNoThe intended metafield type, echoed back for your record, e.g. "single_line_text_field". Not validated against Shopify's type list, which changes.single_line_text_field

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

The description matches annotations: read-only and idempotent are explicitly stated, and it adds richer behavioral detail: no protocol errors, returns a structured error object, and shows sample success/failure outputs. No contradiction found.

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?

Every sentence contributes meaning: purpose, domain rules, example, usage scope, error behavior, and safety guarantee. The structure is front-loaded and easy to scan, with no wasted content beyond perhaps 'FREE.'

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

Completeness5/5

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

For a simple validator with full schema coverage and a known output schema, the description covers validation context, alternative tools, error handling, and retry safety. It provides enough information to invoke the tool correctly without guessing.

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?

The schema already documents all three parameters. The description goes beyond by explaining validation rules for namespace/key (lowercase, underscores, no capitals/dashes) and what invalid input produces. It does not add much about value_type, but the schema already covers that.

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?

Description opens with a specific verb and resource: 'Validate a metafield namespace and key before you define it.' It clearly distinguishes itself from product_csv_check, and the example shows exactly what the tool does.

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

Usage Guidelines5/5

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

Explicitly says 'Use when designing metafields' and 'Not for the CSV column that carries them — that is product_csv_check.' It also explains error/retry behavior so an agent knows when it is safe to call again.

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

payout_estimatePayout EstimateA
Read-onlyIdempotent
Inspect

Estimate what actually lands in the bank after processing fees. PREMIUM (license).

Typical input {"order_total": 84.5, "fee_pct": 2.9, "fee_fixed": 0.3, "orders": 120, "refund_rate_pct": 4} returns {"gross": 10140.0, "fees": 330.06, "refunds": 405.6, "net_payout": 9404.34, "effective_fee_pct": 3.26}.

Use for cash-flow planning. Not as an authoritative fee schedule: rates depend on your plan, country and card mix, so pass your own. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
ordersNoHow many orders to model. Default 1.
fee_pctNoPercentage fee per transaction. Default 2.9 — a common published rate, not a promise about your account.
fee_fixedNoFixed fee per transaction. Default 0.30.
order_totalYesValue of one order including anything the processor takes a percentage of. Must be greater than 0.
refund_rate_pctNoShare of order value refunded, as a percentage. Default 0.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

The annotations already declare read-only and idempotent behavior, and the description reinforces this with 'Every call is read-only and idempotent.' It also discloses a key behavioral trait: errors never raise protocol errors but return an error object with instructions, ensuring the agent knows how to handle failures. No contradiction with annotations.

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?

The description is succinct: three sentences covering purpose, usage guidance, and error behavior, plus a compact example. It is front-loaded with the primary function and every sentence adds substantive value with no redundancy.

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

Completeness5/5

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

The tool is moderately complex with five parameters and an output schema, but the description fully compensates: it includes an example, clarifies limitations (fees depend on plan/country/card mix), and explains error handling. Since an output schema exists, return values need not be detailed, but the example provides a concrete illustration, making the tool 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?

The schema provides 100% coverage for all five parameters. The description adds a concrete example showing how parameters combine (e.g., order_total, fee_pct, fee_fixed, orders, refund_rate_pct) and the expected output shape, which clarifies the semantic interplay beyond the schema's individual field descriptions.

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 clearly states the tool estimates the net payout after processing fees, using a specific verb (estimate) and resource (net payout). This distinguishes it from the unrelated sibling tools by focusing on financial modeling rather than bulk operations or metafields.

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

Usage Guidelines5/5

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

Explicit guidance is provided: 'Use for cash-flow planning' and 'Not as an authoritative fee schedule' with advice to 'pass your own' rates. This tells the agent when to use it and when not to rely on it, addressing usage context and limitations.

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

product_csv_checkProduct Csv CheckA
Read-onlyIdempotent
Inspect

Check a product CSV's header row against Shopify's current columns. FREE.

Catches the failure that wastes the most time: a template copied from an out-of-date guide, using column names Shopify renamed. Typical input {"header_row": ["Handle", "Title", "Body (HTML)", "Variant Price"]} returns {"ok": false, "missing_required": [], "renamed": [{"found": "Handle", "use": "URL handle"}, ...], "unrecognised": [], "verdict": "..."}.

Use before an import, on the header row alone. Not for whether the values in the rows are valid — check a handle with url_handle and a metafield key with metafield_key_check. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "header_row must contain at least one column name"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo"new" when creating products, where Shopify requires only Title; "update" when changing existing ones, where it also requires URL handle. Default "new".new
header_rowYesThe CSV's first row as a list of column names, exactly as written in the file, e.g. ["Handle", "Title", "Variant Price"].

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value beyond annotations by specifying that the tool never raises protocol errors but returns {'error': ...} and explains the safety of retrying after correction. It also provides a concrete example of the output structure, which is not in the annotations.

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 well-structured and front-loaded with the core purpose, followed by an example, usage guidelines, error handling, and retry note. While slightly verbose, every sentence provides useful information—no fluff. It is organized clearly and easy to scan.

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

Completeness5/5

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

For a tool with 2 simple parameters (one required), an output schema, and clear annotations, the description covers all necessary details: purpose, usage context, parameter examples, error handling, and behavior. It is complete for an agent to invoke correctly without additional clarification.

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 description coverage is 100% for both parameters (header_row and mode). The description adds value with a concrete input example and clarifies the mode semantics ('new' vs 'update') via the schema, but the description itself also reinforces the meaning and error conditions. The example demonstrates the expected parameter format and output, which goes beyond the schema.

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 clearly states the tool's purpose: to check a product CSV's header row against Shopify's current columns. It specifies the exact resource (header row) and the type of check (against Shopify's current columns), and it is distinct from siblings like url_handle (checks a handle) and metafield_key_check (checks a metafield key). The example and error handling reinforce the purpose.

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

Usage Guidelines5/5

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

Explicitly states when to use ('Use before an import, on the header row alone') and when not to ('Not for whether the values in the rows are valid'), and points to alternatives (url_handle, metafield_key_check). Also provides retry guidance. This is unambiguous and actionable.

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

url_handleUrl HandleA
Read-onlyIdempotent
Inspect

Turn a product title into a valid, unique Shopify URL handle. FREE.

Shopify handles are lowercase, may contain letters, numbers and dashes, and may not contain spaces. Typical input {"title": "Men's Merino Wool Socks (2-Pack)"} returns {"handle": "mens-merino-wool-socks-2-pack", "valid": true, "changed": true, "collisions": []}.

Use when generating handles for an import, or checking one you already have. Not for validating a whole header row — that is product_csv_check. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "title must not be empty"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesThe product title or a candidate handle, e.g. "Men's Merino Wool Socks".
existingNoHandles already used in the store or the file, so a collision can be reported and a suffixed alternative suggested. Optional.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description reinforces these but adds genuinely new behavioral context: the error-handling contract ('never raises a protocol error — it returns {"error": ...}') and safety of retry. No contradiction found.

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?

Well-structured and front-loaded with purpose, then format rules, example, usage guidance, errors, and idempotency. Slightly long with a few elements (FREE, format rules) that are not strictly necessary, but every sentence earns its place overall.

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

Completeness5/5

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

For a 2-param tool with 100% schema coverage, an output schema, and strong annotations, the description is comprehensive: purpose, format constraints, worked example, usage boundaries, error behavior, and idempotency. The output schema covers return values so no duplication needed.

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 coverage is 100% for both params, so baseline is 3. The description's worked example illustrates how title transforms into a handle and shows the collisions array, but the schema already documents both parameters thoroughly. The example adds modest illustrative value without deep new semantics.

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: 'Turn a product title into a valid, unique Shopify URL handle.' It provides format rules (lowercase, letters/numbers/dashes) and a concrete worked example, and explicitly distinguishes itself from the sibling product_csv_check ('Not for validating a whole header row').

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

Usage Guidelines5/5

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

Explicitly states when to use ('when generating handles for an import, or checking one you already have') and when not to ('Not for validating a whole header row — that is product_csv_check'), naming the exact alternative sibling tool.

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

variant_matrixVariant MatrixA
Read-onlyIdempotent
Inspect

Count the variants a set of options produces, and flag the ceilings. FREE.

Option counts multiply, so three modest lists become a number nobody intended. Typical input {"options": {"Size": ["S", "M", "L"], "Colour": ["Black", "Navy"]}} returns {"option_count": 2, "variant_count": 6, "within_limits": true, "per_option": {"Size": 3, "Colour": 2}}.

Use before building an import file, to find out whether the catalogue needs splitting into several products. Not for validating the resulting CSV's columns — that is product_csv_check. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "options must contain at least one option"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionsYesOption names mapped to their values, e.g. {"Size": ["S", "M"], "Colour": ["Black"]}. Each list needs at least one value.
list_rowsNoWhen true, also return every variant combination. Off by default because the list can be very large.
max_optionsNoCeiling on distinct option names. Default 3.
max_variantsNoCeiling to check against. Default 2048, which is the limit Shopify announced on 15 October 2025, up from 100. Override it if your plan differs.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description reinforces these and adds valuable detail about error handling: 'on invalid, missing, or malformed input this tool never raises a protocol error — it returns an error object'. This goes beyond the annotations by specifying the exact error contract and retry safety.

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?

The description is thorough but tightly written. Every sentence serves a purpose: purpose, usage example, use-case timing, sibling comparison, error behavior, and idempotency. No fluff or redundant repetition of the schema.

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

Completeness5/5

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

Given the tool's moderate complexity and helpful annotations, the description covers all key aspects: what it does, example I/O, when to use it, what it does not do (with sibling reference), error handling, and retry safety. This is sufficient for an agent to invoke it correctly and handle edge cases.

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?

The schema covers all parameters well (100% coverage). The description augments this with meaningful context, such as the origin of the default 'max_variants' limit ('Shopify announced on 15 October 2025') and why 'list_rows' defaults to false ('the list can be very large'), which adds semantic value beyond field descriptions.

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 begins with a clear action: 'Count the variants a set of options produces, and flag the ceilings.' It includes a concrete input/output example and explicitly contrasts with a sibling tool ('that is product_csv_check'), making the tool's unique role obvious.

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

Usage Guidelines5/5

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

It states exactly when to use the tool ('Use before building an import file, to find out whether the catalogue needs splitting into several products') and when not to, naming the sibling tool 'product_csv_check' for CSV column validation. This is textbook explicit usage guidance.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updates
    • First observedbulk_price_change
    • First observedmetafield_key_check
    • First observedpayout_estimate
    • First observedproduct_csv_check
    • First observedurl_handle
    • First observedvariant_matrix

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.7/5.0
Disambiguation5/5

Each tool serves a distinct purpose (pricing, metafields, payouts, CSV headers, URL handles, variant counts) with no overlap in functionality. Descriptions clearly delineate scope and typical use cases.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with descriptive noun+verb or compound noun structures (e.g., bulk_price_change, metafield_key_check). No stylistic inconsistencies.

Tool Count5/5

Six tools is a well-scoped set for a Shopify preparation server, covering essential tasks without redundancy or unnecessary bloat. Each tool addresses a specific preparation need.

Completeness5/5

The toolset covers the core preparation workflows: pricing adjustments, metafield validation, payout estimation, CSV format checking, URL handle generation, and variant limit assessment. No obvious gaps for the stated domain.

Resources