Skip to main content
Glama

Calculate Shopify fees

calculate_shopify_fees
Read-onlyIdempotent

Compare the monthly and annual cost of Shopify Basic, Grow, Advanced and Plus for a sales volume and payment mix, with break-even sales between plans and requirements only Plus covers. Uses Shopify's published prices and rates for the US, UK, Australia, Norway or New Zealand (market); Norway's Plus and New Zealand's subscriptions are billed in EUR or USD and converted at a dated ECB reference rate, reported in exchangeRate; pass exchangeRate to use your own. The variable Plus platform fee is unpublished, so pass plusQuoteMonthly if you have a quote. Only monthlyGmv is required; the rest defaults to one US brand fully on Shopify Payments with yearly billing.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "monthlyGmv": "<monthlyGmv>"
    },
    "name": "calculate_shopify_fees"
  }
}

Input Schema

NameRequiredDescriptionDefault
brandsNoSeparate brands; each needs its own plan or Plus contract.
marketNo
billingNoBilling for Basic, Grow and Advanced.
plusTermNoShopify Plus contract term.
monthlyGmvYesMonthly online sales in the selected market sales currency across all stores.
b2bCatalogsNoB2B company catalogs needed.
exchangeRateNoLocal sales currency units per foreign subscription currency unit (NOK/EUR in Norway; NZD/USD in New Zealand), up to 1,000,000. Overrides the market's default ECB reference rate; the estimate's exchangeRate reports which rate was applied.
staffAccountsNoStaff accounts needed besides the store owner.
providerRateBpsNoThird-party provider's own rate in basis points (290 = 2.9%).
sameBrandStoresNoStores for the same brand, such as regional stores.
plusQuoteMonthlyNoMonthly Plus price in market sales currency from a Shopify quote; replaces the list price.
premiumCardShareNoShare of Shopify Payments sales on premium cards in the US, or Amex cards in other markets (0-1).
averageOrderValueNoAverage order value in market sales currency; drives the per-order fixed card fee.
checkoutExtensionsNoWhether checkout UI extensions are needed.
providerFixedCentsNoThird-party provider's own fixed fee per order in cents.
headlessStorefrontsNoHeadless storefronts needed.
shopifyPaymentsShareNoShare of online sales processed by Shopify Payments (0-1); the rest uses a third-party provider.
internationalCardShareNoShare of Shopify Payments sales on international cards (0-1).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / exchangeRate / description
      Previous value: -"Local sales currency units per foreign subscription currency unit (NOK/EUR in Norway; NZD/USD in New Zealand), up to 1,000,000."New value: +"Local sales currency units per foreign subscription currency unit (NOK/EUR in Norway; NZD/USD in New Zealand), up to 1,000,000. Overrides the market's default ECB reference rate; the estimate's exchangeRate reports which rate was applied."
  2. Changed2 schema fields changed
    • changedInput schema / properties / billing / description
      Previous value: -"Billing for Basic, Grow and Advanced. Defaults to yearly in the US and to monthly elsewhere, where only monthly local prices are verified."New value: +"Billing for Basic, Grow and Advanced."
    • changedInput schema / properties / premiumCardShare / description
      Previous value: -"Share of Shopify Payments sales on premium cards (0-1)."New value: +"Share of Shopify Payments sales on premium cards in the US, or Amex cards in other markets (0-1)."
  3. Changed6 schema fields changed
    • changedInput schema / properties / averageOrderValue / description
      Previous value: -"Average order value in USD; drives the per-order fixed card fee."New value: +"Average order value in market sales currency; drives the per-order fixed card fee."
    • changedInput schema / properties / billing / description
      Previous value: -"Billing for Basic, Grow and Advanced."New value: +"Billing for Basic, Grow and Advanced. Defaults to yearly in the US and to monthly elsewhere, where only monthly local prices are verified."
    • addedInput schema / properties / exchangeRate
      Added value: +{
      +  "description": "Local sales currency units per foreign subscription currency unit (NOK/EUR in Norway; NZD/USD in New Zealand), up to 1,000,000.",
      +  "exclusiveMinimum": 0,
      +  "maximum": 1000000,
      +  "type": "number"
      +}
    • addedInput schema / properties / market
      Added value: +{
      +  "enum": [
      +    "us",
      +    "uk",
      +    "au",
      +    "no",
      +    "nz"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / monthlyGmv / description
      Previous value: -"Monthly online sales in USD across all stores."New value: +"Monthly online sales in the selected market sales currency across all stores."
    • changedInput schema / properties / plusQuoteMonthly / description
      Previous value: -"Monthly Plus price from a Shopify quote; replaces the list price."New value: +"Monthly Plus price in market sales currency from a Shopify quote; replaces the list price."
  4. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare a read-only, idempotent, non-destructive tool, so the bar is lower, yet the description adds real context: published Shopify prices and rates per market, a dated ECB reference rate for Norway/New Zealand with the applied rate echoed in exchangeRate, and the caveat that the variable Plus platform fee is unpublished. It does not cover error behavior or input validation limits, which keeps it short of a 5.

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?

Front-loaded with the core comparison, then caveats and defaults in descending importance; every sentence carries information. It is dense with long compound sentences, but no sentence is filler.

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 an 18-parameter, output-schema-less estimation tool, the description covers scope, data provenance, currency handling, defaults, and the main data limitation. It hints at return contents (break-even, exchangeRate) but doesn't characterize the estimate's overall shape, leaving a modest gap.

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 94%, so the baseline is 3, but the description adds meaningful semantics beyond it: which parameter is required, what the unspecified majority default to, the enumerated market scope, and the override behavior of exchangeRate and plusQuoteMonthly. That is genuinely useful for an 18-parameter tool where defaults are otherwise opaque.

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?

States a specific verb and resource: compare monthly and annual Shopify plan costs across four named tiers for a given sales volume and payment mix. It also names the analytical output (break-even sales between plans and Plus-only requirements), which no sibling tool (store speed, store detection) covers.

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?

Explains the calling model clearly: only monthlyGmv is required, everything else defaults to one US brand fully on Shopify Payments with yearly billing. It gives conditional guidance for exchangeRate and plusQuoteMonthly, but offers no explicit when-not-to-use or comparison to alternative tools.

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