protogrid

Search / com.moltlinestudio/shopify

Moltline Shopify Prep

R0· no sign-in

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

v1.2.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality91strong
Trust84of 100
Uptime, 30 days97%
Latency p50155 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "shopify": {
      "type": "http",
      "url": "https://mcp.moltlinestudio.com/shopify"
    }
  }
}
claude mcp add --transport http shopify https://mcp.moltlinestudio.com/shopify
[mcp_servers.shopify]
url = "https://mcp.moltlinestudio.com/shopify"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "shopify": {
      "type": "remote",
      "url": "https://mcp.moltlinestudio.com/shopify",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "shopify": {
      "type": "http",
      "url": "https://mcp.moltlinestudio.com/shopify"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=shopify&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLm1vbHRsaW5lc3R1ZGlvLmNvbS9zaG9waWZ5In0%3D"
}
{
  "servers": {
    "shopify": {
      "type": "http",
      "url": "https://mcp.moltlinestudio.com/shopify"
    }
  }
}
{
  "mcpServers": {
    "shopify": {
      "httpUrl": "https://mcp.moltlinestudio.com/shopify"
    }
  }
}
extensions:
  "shopify":
    enabled: true
    name: "shopify"
    type: streamable_http
    uri: "https://mcp.moltlinestudio.com/shopify"
    timeout: 300

Quality 91 / 100strong

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations6 of 6 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,391 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

6 tools, about 2,391 tokens to load them all · tool set 31547a3bb289 · checked 2026-10-20 11:08 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 84 / 100

duplicate-repo
provenance85
liveness99
freshness85
hygiene60

+repository +dns-namespace +website +reachable +uptime-97% ~updated-42d-ago -duplicate-repo(22 names)

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.moltlinestudio.com/shopify streamable-httpnoneyes97%155 ms2025-11-252026-10-20

Tools (6)

bulk_price_changeread-onlyApply 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": "<what is wrong and how to fix it>"} (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.
metafield_key_checkread-onlyValidate 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": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
payout_estimateread-onlyEstimate 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": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
product_csv_checkread-onlyCheck 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": "<what is wrong and how to fix it>"} (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.
url_handleread-onlyTurn 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": "<what is wrong and how to fix it>"} (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.
variant_matrixread-onlyCount 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": "<what is wrong and how to fix it>"} (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.

Schemas: list_tools.

Also listed as

21 other active names share this repository (showing 10): com.moltlinestudio/business, com.moltlinestudio/catalog, com.moltlinestudio/codereview, com.moltlinestudio/creator, com.moltlinestudio/data, com.moltlinestudio/dropship, com.moltlinestudio/educator, com.moltlinestudio/govern, com.moltlinestudio/humanizer, com.moltlinestudio/merchant

Similar MCP servers

More from com.moltlinestudio

And 15 more from this publisher.

Official server.json
{
  "name": "com.moltlinestudio/shopify",
  "icons": [
    {
      "src": "https://moltlinestudio.com/icon-192.png",
      "sizes": [
        "192x192"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "Moltline Shopify Prep",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.moltlinestudio.com/shopify",
      "type": "streamable-http"
    }
  ],
  "version": "1.2.0",
  "repository": {
    "url": "https://github.com/GarphenGate/moltline-mcp",
    "source": "github"
  },
  "websiteUrl": "https://moltlinestudio.com/servers.html#shopify",
  "description": "Check a product CSV, handles, variant matrices and metafield keys. 4 of 6 free."
}