{"name":"io.github.AIWerk/mcp-server-shopify","slug":"aiwerk-mcp-server-shopify","title":null,"description":"Shopify Admin GraphQL API: products, orders, customers, inventory, and more (read and write).","url":"https://mcp.market/server/aiwerk-mcp-server-shopify","rating":null,"grade":"B","score":75,"certified":false,"status":"active","category":"ecommerce","tags":["ecommerce"],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":43,"last_push_at":"2026-08-10T14:34:01.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/AIWerk/mcp-server-shopify","website":null,"version":"0.1.2","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@aiwerk/mcp-server-shopify","version":"0.1.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your store domain, e.g. my-store.myshopify.com.","isRequired":true,"format":"string","name":"SHOPIFY_STORE_DOMAIN"},{"description":"Shopify app/client ID for the Admin API.","isRequired":true,"format":"string","isSecret":true,"name":"SHOPIFY_CLIENT_ID"},{"description":"Shopify app/client secret for the Admin API.","isRequired":true,"format":"string","isSecret":true,"name":"SHOPIFY_CLIENT_SECRET"}]}],"tools":[{"name":"shopify_add_customer_note","description":"Add a note to a customer. mode=append (default) reads the current note and concatenates with two newlines; mode=replace overwrites. Append makes one extra read query.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_add_order_note","description":"Add a note to an order. mode=append (default) reads the current note and concatenates with two newlines; mode=replace overwrites. Required: id, note. Append makes one extra read query.","write_action":true,"price_micros":0,"input_schema":null},{"name":"shopify_add_product_tag","description":"Add one or more tags to a product. Required: productId, tags (non-empty array). Idempotent server-side. Returns the updated product node + userErrors.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_adjust_inventory_level","description":"Adjust the available or on_hand quantity at a location by a delta (positive or negative integer, non-zero). Uses inventoryAdjustQuantities. Defaults: name=available, reason=correction. Optional: referenceDocumentUri.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_archive_product","description":"Archive a product (sets status to ARCHIVED, hiding it from sale). Reversible. Destructive: requires confirm=true. Without confirm, returns a structured \"would do X\" response without firing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_cancel_order","description":"Cancel an order asynchronously (orderCancel returns a job). Destructive: requires confirm=true. Default reason=OTHER, restock=true, refund=false, notifyCustomer omitted.","write_action":true,"price_micros":0,"input_schema":null},{"name":"shopify_complete_draft_order","description":"Complete a draft order, converting it into a real order (draftOrderComplete). Destructive: requires confirm=true. paymentPending=true marks the resulting order as payment pending instead of paid.","write_action":true,"price_micros":0,"input_schema":null},{"name":"shopify_create_customer","description":"Create a customer (customerCreate). At least one of email/phone is required. Optional: firstName, lastName, note, tags, locale.","write_action":true,"price_micros":0,"input_schema":null},{"name":"shopify_create_draft_order","description":"Create a draft order. Required: lineItems (non-empty). Each line item needs quantity, plus either variantId (existing variant) or title+originalUnitPrice (custom item). Optional: email, customerId, note, tags, shippingAddress, billingAddress, useCustomerDefaultAddress.","write_action":true,"price_micros":0,"input_schema":null},{"name":"shopify_create_product","description":"Create a new product. Required: title. Optional: descriptionHtml, productType, vendor, tags, status (ACTIVE|ARCHIVED|DRAFT, default ACTIVE), handle. Returns product + userErrors.","write_action":true,"price_micros":0,"input_schema":null},{"name":"shopify_get_customer","description":"Get a single customer by GID or numeric ID. Returns full detail including default address, addresses (with truncation marker), tags, locale, and lifetime value.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_get_inventory_level","description":"Get the inventory level (available, on_hand, committed, incoming, reserved) for an inventory item at a single location. Required: inventoryItemId, locationId.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_get_order","description":"Get a single order by GID or numeric ID. Returns full detail including line items (with truncation marker), customer, addresses, and financial totals.","write_action":true,"price_micros":0,"input_schema":null},{"name":"shopify_get_product","description":"Get a product by GID or numeric ID (e.g. \"gid://shopify/Product/123\" or \"123\"). Returns full product detail including variants and images, with truncation markers when capped.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_get_shop_info","description":"Get shop-level metadata: name, primary domain, currency, timezone, plan, billing address, contact email, weight unit.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_list_collections","description":"List collections with optional Shopify search query. Returns id, title, handle, descriptionHtml, sortOrder, productsCount.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_list_customers","description":"List customers with optional Shopify search query (e.g. \"orders_count:>0 country:CH\"). Default first=50, max=250.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_list_locations","description":"List shop locations (warehouses, retail stores). By default excludes inactive and legacy locations; toggle with includeInactive / includeLegacy.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_list_metafields","description":"List metafields on any HasMetafields resource (Product, ProductVariant, Customer, Order, Collection, Shop, Company, Location). Required: ownerId, ownerType. Optional: namespace filter.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_list_orders","description":"List orders with optional Shopify search query (e.g. \"financial_status:paid created_at:>2026-01-01\"). Default first=50, max=250.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_list_products","description":"List products with optional Shopify search query syntax (e.g. \"status:active vendor:Acme\"). Optional pagination via cursor. Default first=50, max=250.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_mark_order_paid","description":"Mark an order as paid (orderMarkAsPaid). Use for offline payments where the funds were captured outside Shopify. Returns updated order + userErrors.","write_action":true,"price_micros":0,"input_schema":null},{"name":"shopify_remove_product_tag","description":"Remove one or more tags from a product. Required: productId, tags (non-empty array). Returns the updated product node + userErrors.","write_action":true,"price_micros":0,"input_schema":null},{"name":"shopify_search_customers","description":"Search customers by Shopify search query (e.g. \"email:foo@bar.com OR last_name:Smith\"). Required: query.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_search_orders","description":"Search orders by Shopify search query (e.g. \"name:#1001 OR email:foo@bar.com\"). Required: query.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_search_products","description":"Search products by Shopify search query (full-text + filters like \"title:T-Shirt status:active\"). Required: query. Optional pagination + sort.","write_action":false,"price_micros":0,"input_schema":null},{"name":"shopify_update_customer","description":"Update a customer (customerUpdate). Required: id. All other fields are optional and only applied if provided.","write_action":true,"price_micros":0,"input_schema":null},{"name":"shopify_update_product","description":"Update fields on an existing product by GID or numeric ID. Required: id. All other fields are optional and only applied if provided. Returns product + userErrors.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":75,"grade":"B","scanned_at":"2026-09-26T16:36:22.229Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T16:36:22.226Z","components":{"code":{"score":25,"max":25,"notes":["11 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 47 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@aiwerk/mcp-server-shopify","version":"0.1.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-06-24T00:21:11.086Z","repositoryUrl":"git+https://github.com/AIWerk/mcp-server-shopify.git","weeklyDownloads":43}],"repo":{"found":true,"owner":"AIWerk","repo":"mcp-server-shopify","archived":false,"pushedAt":"2026-08-10T14:34:01Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/258244526?v=4","ownerCreatedAt":"2026-01-30T13:51:41Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/258244526?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":43,"license":"MIT","lastPushAt":"2026-08-10T14:34:01.000Z","score":18}}}},"grade_history":[],"reviews":[]}