Moltline Shopify Prep
Server Details
Check a product CSV, handles, variant matrices and metafield keys. 4 of 6 free.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Score is being calculated. Check back soon.
Available Tools
6 toolsbulk_price_changeBulk Price ChangeRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| prices | Yes | Current prices, at least one, each greater than 0. | |
| round_to | No | Rounding increment applied last, e.g. 0.01 or 0.05. Default 0.01. | |
| change_pct | No | Percentage change applied first, e.g. 10 to raise by 10% or -5 to cut by 5%. Default 0. | |
| change_flat | No | Flat amount applied after the percentage. Default 0. | |
| charm_ending | No | Force every price to end in these cents, e.g. ".99" or ".95". Applied after rounding. Empty by default. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
metafield_key_checkMetafield Key CheckRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | The metafield key, e.g. "care_instructions". | |
| namespace | Yes | The metafield namespace, e.g. "custom". | |
| value_type | No | The 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
payout_estimatePayout EstimateRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| orders | No | How many orders to model. Default 1. | |
| fee_pct | No | Percentage fee per transaction. Default 2.9 — a common published rate, not a promise about your account. | |
| fee_fixed | No | Fixed fee per transaction. Default 0.30. | |
| order_total | Yes | Value of one order including anything the processor takes a percentage of. Must be greater than 0. | |
| refund_rate_pct | No | Share of order value refunded, as a percentage. Default 0. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
product_csv_checkProduct Csv CheckRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | "new" when creating products, where Shopify requires only Title; "update" when changing existing ones, where it also requires URL handle. Default "new". | new |
| header_row | Yes | The CSV's first row as a list of column names, exactly as written in the file, e.g. ["Handle", "Title", "Variant Price"]. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
url_handleUrl HandleRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | The product title or a candidate handle, e.g. "Men's Merino Wool Socks". | |
| existing | No | Handles already used in the store or the file, so a collision can be reported and a suffixed alternative suggested. Optional. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
variant_matrixVariant MatrixRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| options | Yes | Option names mapped to their values, e.g. {"Size": ["S", "M"], "Colour": ["Black"]}. Each list needs at least one value. | |
| list_rows | No | When true, also return every variant combination. Off by default because the list can be very large. | |
| max_options | No | Ceiling on distinct option names. Default 3. | |
| max_variants | No | Ceiling 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
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceValidates Mermaid diagrams with comprehensive grammar parsing supporting 28+ diagram types. Processes markdown files, ZIP archives, and direct input with detailed error reporting and enterprise-grade performance capabilities.1342Apache 2.0
- Flicense-qualityAmaintenanceProvides tools to analyze local PDFs and CSVs (page count, text search, scoring, column stats) with strict refusal to guess ambiguous data. Requires a paid license.
- Alicense-qualityBmaintenanceClassifies product descriptions to official HS codes and validates supplier-provided codes using government tariff schedules via the HSPing API.135MIT
- Alicense-qualityAmaintenanceValidates Excel (.xlsx) workbooks against reviewed, lockable acceptance contracts, catching errors and outputting structured issues that agents can repair.1MIT