Moltline Shopify Prep
com.moltlinestudio/shopifyVersion 1.2.0Check a product CSV, handles, variant matrices and metafield keys. 4 of 6 free.
Status
Responds423 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:07 UTC
- Latency
- 423 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://mcp.moltlinestudio.com/shopifyResponds423 msNo sign-in
Claude Code
claude mcp add --transport http shopify https://mcp.moltlinestudio.com/shopifyClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: shopify
Remote MCP server URL: https://mcp.moltlinestudio.com/shopifyCursor
{
"mcpServers": {
"shopify": {
"url": "https://mcp.moltlinestudio.com/shopify"
}
}
}VS Code
code --add-mcp '{"name":"shopify","type":"http","url":"https://mcp.moltlinestudio.com/shopify"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
6 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
bulk_price_changeApply 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. | No | Yes | Yes | No |
metafield_key_checkValidate 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. | No | Yes | Yes | No |
payout_estimateEstimate 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. | No | Yes | Yes | No |
product_csv_checkCheck 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. | No | Yes | Yes | No |
url_handleTurn 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. | No | Yes | Yes | No |
variant_matrixCount 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. | No | Yes | Yes | No |
Details
- Registry status
- Active
- Published
- Sep 8, 2026
- Updated
- Sep 8, 2026
- Categories (suggested)
- E-commerceSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared