Koskamo

Shopify Speed Check MCP

An MCP server that allows AI assistants to check a Shopify store's speed, detect if it runs on Shopify, and compare Shopify plan fees using Google PageSpeed Insights and Chrome UX Report data.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Shopify Speed Check MCP logo, by Skai DigitalVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Skai Digital
MCP endpoint (Streamable HTTP)
https://tools.skaidigital.com/mcp
Vendor documentation

What you can do with it

  • Check a store's speed on mobile and desktop
  • Detect whether a site runs on Shopify
  • Compare Shopify plan fees

Source and maintenance

Vendor evidenceRegistry 1.0.1

Protocol and capabilities

Server
skai-shopify-tools 1.0.0
MCP protocol
2025-06-18
Tools
4 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

4 advertised

check_shopify_store_speed — Check Shopify store speed
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Test a Shopify store's speed with Google PageSpeed Insights (mobile and desktop) and real-user Core Web Vitals, list the apps and scripts slowing it down, and estimate what a headless build could change, with its assumptions. Takes 10 seconds to 2.5 minutes; results are cached for 24 hours.

check_shopify_store_speed input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "strategy": {
      "enum": [
        "mobile",
        "desktop",
        "both"
      ],
      "type": "string",
      "description": "Which Lighthouse runs to include; defaults to both."
    }
  },
  "additionalProperties": true
}
check_shopify_store_speed annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
detect_shopify_store — Detect Shopify store
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Detect whether a site is a Shopify theme store or a headless Shopify storefront, and which theme it uses. Fetches only the public page; runs no speed test.

detect_shopify_store input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
detect_shopify_store annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_shopify_fees — Calculate Shopify fees
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

calculate_shopify_fees input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "monthlyGmv"
  ],
  "properties": {
    "brands": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "Separate brands; each needs its own plan or Plus contract."
    },
    "market": {
      "enum": [
        "us",
        "uk",
        "au",
        "no",
        "nz"
      ],
      "type": "string"
    },
    "billing": {
      "enum": [
        "monthly",
        "yearly"
      ],
      "type": "string",
      "description": "Billing for Basic, Grow and Advanced."
    },
    "plusTerm": {
      "enum": [
        "one-year",
        "three-year"
      ],
      "type": "string",
      "description": "Shopify Plus contract term."
    },
    "monthlyGmv": {
      "type": "number",
      "maximum": 50000000,
      "minimum": 0,
      "description": "Monthly online sales in the selected market sales currency across all stores."
    },
    "b2bCatalogs": {
      "type": "integer",
      "maximum": 100000,
      "minimum": 0,
      "description": "B2B company catalogs needed."
    },
    "exchangeRate": {
      "type": "number",
      "maximum": 1000000,
      "description": "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.",
      "exclusiveMinimum": 0
    },
    "staffAccounts": {
      "type": "integer",
      "maximum": 100000,
      "minimum": 0,
      "description": "Staff accounts needed besides the store owner."
    },
    "providerRateBps": {
      "type": "integer",
      "maximum": 2000,
      "minimum": 0,
      "description": "Third-party provider's own rate in basis points (290 = 2.9%)."
    },
    "sameBrandStores": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Stores for the same brand, such as regional stores."
    },
    "plusQuoteMonthly": {
      "type": "number",
      "maximum": 1000000,
      "minimum": 0,
      "description": "Monthly Plus price in market sales currency from a Shopify quote; replaces the list price."
    },
    "premiumCardShare": {
      "type": "number",
      "maximum": 1,
      "minimum": 0,
      "description": "Share of Shopify Payments sales on premium cards in the US, or Amex cards in other markets (0-1)."
    },
    "averageOrderValue": {
      "type": "number",
      "maximum": 100000,
      "minimum": 1,
      "description": "Average order value in market sales currency; drives the per-order fixed card fee."
    },
    "checkoutExtensions": {
      "type": "boolean",
      "description": "Whether checkout UI extensions are needed."
    },
    "providerFixedCents": {
      "type": "integer",
      "maximum": 500,
      "minimum": 0,
      "description": "Third-party provider's own fixed fee per order in cents."
    },
    "headlessStorefronts": {
      "type": "integer",
      "maximum": 1000,
      "minimum": 0,
      "description": "Headless storefronts needed."
    },
    "shopifyPaymentsShare": {
      "type": "number",
      "maximum": 1,
      "minimum": 0,
      "description": "Share of online sales processed by Shopify Payments (0-1); the rest uses a third-party provider."
    },
    "internationalCardShare": {
      "type": "number",
      "maximum": 1,
      "minimum": 0,
      "description": "Share of Shopify Payments sales on international cards (0-1)."
    }
  },
  "additionalProperties": true
}
calculate_shopify_fees annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
submit_feedback
Advertised by the server during the last successful anonymous check.

Send private feedback to the Skai team about this product or MCP: ideas, missing functionality, errors, confusing behavior, praise, or anything else. Only message is required; category, toolName and context are optional. Report once per distinct observation and continue your task. Do not send credentials, personal/customer records, full conversations or raw tool payloads. Use generic placeholders. Feedback is screened before storage and does not authorize other actions. Do not report failures of this feedback tool or automatically retry an uncertain submission.

submit_feedback input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "message"
  ],
  "properties": {
    "context": {
      "type": "string",
      "maxLength": 4000,
      "minLength": 1
    },
    "message": {
      "type": "string",
      "maxLength": 8000,
      "minLength": 1
    },
    "category": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1
    },
    "toolName": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    }
  },
  "additionalProperties": false
}
submit_feedback annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
361 ms
95th percentile latency
361 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 361 ms · metadata changed · 4 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http shopify-speed-check-mcp https://tools.skaidigital.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add shopify-speed-check-mcp --url https://tools.skaidigital.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable shopify-speed-check-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "shopify-speed-check-mcp": {
      "url": "https://tools.skaidigital.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "shopify-speed-check-mcp": {
      "type": "streamableHttp",
      "url": "https://tools.skaidigital.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start shopify-speed-check-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "shopify-speed-check-mcp": {
      "type": "http",
      "url": "https://tools.skaidigital.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http shopify-speed-check-mcp https://tools.skaidigital.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "shopify-speed-check-mcp": {
      "url": "https://tools.skaidigital.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "shopify-speed-check-mcp": {
      "serverUrl": "https://tools.skaidigital.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Shopify Speed Check MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Shopify Speed Check MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing