vivid-ads-commerce
Was dieses MCP kann
Supports Australian signage product discovery, configuration, pricing, quotes, artwork handling, draft orders, proofs, delivery, pickup, and fulfillment tracking.
Tools
Eingabeschema
{'type': 'object', 'required': ['quote_number', 'email'], 'properties': {'email': {'type': 'string', 'description': 'the email the quote was sent to (required)'}, 'quote_number': {'type': 'string', 'description': "quote/draft number, e.g. '#D786069'"}}}
Eingabeschema
{'type': 'object', 'properties': {'fileId': {'type': 'string', 'description': 'after a direct upload completes, pass the returned file id here to finalise and get the share link'}, 'filename': {'type': 'string', 'description': "filename (required with requestUpload), e.g. 'flyer.pdf'"}, 'sourceUrl': {'type': 'string', 'description': 'a shareable https link to the print-ready artwork (PDF/PNG/JPG/AI/EPS) â\x80\x94 the easiest path'}, 'contentType': {'type': 'string'}, 'requestUpload': {'type': 'boolean', 'description': 'set true to get a direct-upload URL for a large file (client uploads straight to storage)'}}}
Eingabeschema
{'type': 'object', 'required': ['file_url'], 'properties': {'file_url': {'type': 'string', 'description': 'downloadable URL of the artwork PDF (e.g. the fileUrl from vivid_upload_artwork)'}, 'width_mm': {'type': 'number', 'description': 'ordered width in mm, if known â\x80\x94 enables the size check'}, 'height_mm': {'type': 'number', 'description': 'ordered height in mm, if known'}}}
Eingabeschema
{'type': 'object', 'properties': {'product': {'type': 'string', 'description': "the product handle the customer chose, e.g. 'pull-up-banners' â\x80\x94 returns items frequently bought with it from real order history"}, 'use_case': {'type': 'string', 'description': "curated fallback: 'trade-show', 'school-open-day', 'construction-fence', 'retail-promotion', 'real-estate', or 'corporate-conference'"}, 'already_have': {'type': 'array', 'items': {'type': 'string'}, 'description': 'product keys/handles the customer already chose (optional) â\x80\x94 excluded from suggestions'}}}
Eingabeschema
{'type': 'object', 'required': ['postcode'], 'properties': {'product': {'type': 'string', 'description': 'product name â\x80\x94 used to read its real production time'}, 'postcode': {'type': 'string', 'description': '4-digit Australian delivery postcode'}, 'artwork_ready': {'type': 'boolean', 'description': 'true if artwork is print-ready and the proof will be approved immediately'}}}
Eingabeschema
{'type': 'object', 'required': ['product', 'postcode'], 'properties': {'size': {'type': 'string', 'description': "(simple products) size, e.g. '850x2050'"}, 'state': {'type': 'string', 'description': 'VIC/NSW/QLD/SA/WA/TAS/NT/ACT (derived from postcode if omitted)'}, 'suburb': {'type': 'string'}, 'options': {'type': 'object', 'description': 'FULL selected options for option-rich/custom products (same shape as vivid_price.options)'}, 'product': {'type': 'string', 'description': "product name, e.g. 'pull up banner'"}, 'postcode': {'type': 'string', 'description': '4-digit Australian postcode'}, 'quantity': {'type': 'number'}}}
Eingabeschema
{'type': 'object', 'anyOf': [{'required': ['order_id']}, {'required': ['order_name']}], 'required': ['customer_email'], 'properties': {'order_id': {'type': 'string', 'description': 'Shopify order GID, e.g. gid://shopify/Order/123.'}, 'order_name': {'type': 'string', 'description': 'Human order name, e.g. "#12345" (alias for order_id).'}, 'line_item_id': {'type': 'string', 'description': 'Optional Shopify line item GID to scope to one item.'}, 'customer_email': {'type': 'string', 'description': 'The email address on the order. REQUIRED for identity â\x80\x94 order details are only returned when this email matches the order. The customer must give their email AND one of their order numbers.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'anyOf': [{'required': ['order_id']}, {'required': ['order_name']}], 'required': ['customer_email'], 'properties': {'order_id': {'type': 'string', 'description': 'Shopify order GID, e.g. gid://shopify/Order/123.'}, 'order_name': {'type': 'string', 'description': 'Human order name, e.g. "#12345" (alias for order_id).'}, 'line_item_id': {'type': 'string', 'description': 'Optional Shopify line item GID to scope to one item.'}, 'customer_email': {'type': 'string', 'description': 'The email address on the order. REQUIRED for identity â\x80\x94 order details are only returned when this email matches the order. The customer must give their email AND one of their order numbers.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'anyOf': [{'required': ['order_id']}, {'required': ['order_name']}], 'required': ['customer_email'], 'properties': {'order_id': {'type': 'string', 'description': 'Shopify order GID, e.g. gid://shopify/Order/123.'}, 'order_name': {'type': 'string', 'description': 'Human order name, e.g. "#12345" (alias for order_id).'}, 'line_item_id': {'type': 'string', 'description': 'Optional Shopify line item GID to scope to one item.'}, 'customer_email': {'type': 'string', 'description': 'The email address on the order. REQUIRED for identity â\x80\x94 order details are only returned when this email matches the order. The customer must give their email AND one of their order numbers.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'anyOf': [{'required': ['order_id']}, {'required': ['order_name']}], 'required': ['customer_email'], 'properties': {'order_id': {'type': 'string', 'description': 'Shopify order GID, e.g. gid://shopify/Order/123.'}, 'order_name': {'type': 'string', 'description': 'Human order name, e.g. "#12345" (alias for order_id).'}, 'line_item_id': {'type': 'string', 'description': 'Optional Shopify line item GID to scope to one item.'}, 'customer_email': {'type': 'string', 'description': 'The email address on the order. REQUIRED for identity â\x80\x94 order details are only returned when this email matches the order. The customer must give their email AND one of their order numbers.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['email'], 'properties': {'email': {'type': 'string', 'description': "the customer's email to verify"}, 'purpose': {'type': 'string', 'description': 'reorder | order_status | saved_details (optional)'}}}
Eingabeschema
{'type': 'object', 'required': ['verificationId', 'code'], 'properties': {'code': {'type': 'string', 'description': 'the 6-digit code the customer received by email'}, 'verificationId': {'type': 'string', 'description': 'from vivid_identity_start'}}}
Eingabeschema
{'type': 'object', 'required': ['order', 'email'], 'properties': {'email': {'type': 'string', 'description': "the customer's email (must match the identity token)"}, 'order': {'type': 'string', 'description': "the order number to show artwork for, e.g. '117478'"}, 'token': {'type': 'string', 'description': 'the identity token from vivid_identity_verify (required â\x80\x94 proves the customer owns this email/order)'}}}
Eingabeschema
{'type': 'object', 'properties': {'email': {'type': 'string', 'description': "alternatively, the customer's email to list recent orders (requires verified identity)"}, 'reference': {'type': 'string', 'description': "order # or quote/draft # (e.g. '#119581' or '#D776755')"}}}
Eingabeschema
{'type': 'object', 'required': ['email'], 'properties': {'name': {'type': 'string'}, 'size': {'type': 'string'}, 'email': {'type': 'string'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'size': {'type': 'string'}, 'artwork': {'type': 'object', 'description': "THIS line's artwork { mode:'ai_design'|'upload_file'|'design_brief', ... } (same shape as top-level artwork)."}, 'options': {'type': 'object'}, 'product': {'type': 'string'}, 'quantity': {'type': 'number'}}}, 'description': 'For a MULTI-LINE order (e.g. two banners with DIFFERENT designs): one entry per line, each { product, size?, options?, quantity?, artwork? }. Different designs must be SEPARATE entries (quantity 1 each) with their OWN artwork. If provided, this replaces the single top-level product; contact/delivery/PO stay at the top level.'}, 'phone': {'type': 'string'}, 'artwork': {'type': 'object', 'description': "{ mode:'ai_design'|'upload_file'|'design_brief', designId?, imageUrl?, printPdfUrl?, fileUrl?, brief? }"}, 'company': {'type': 'string'}, 'confirm': {'type': 'boolean', 'description': 'set true ONLY after the customer reviews and confirms'}, 'options': {'type': 'object', 'description': 'FULL selected options (same shape as vivid_price.options). Use vivid_product to see them. Prefer this over `size` for option-rich products.'}, 'product': {'type': 'string'}, 'delivery': {'type': 'object', 'description': "pickup or delivery details. PICKUP: { method:'pickup', name, email, phone, pickupLocation?, notes? }. DELIVERY: { method:'delivery', name, email, phone, company?, address1, address2?, suburb, state, postcode, country, notes? }. Contact (name/email/phone) can live here or at the top level. Omit entirely to keep the old behaviour."}, 'poNumber': {'type': 'string'}, 'quantity': {'type': 'number'}, 'customerType': {'type': 'string', 'description': 'retail|corporate|school|government|account â\x80\x94 sets payment terms'}}}
Eingabeschema
{'type': 'object', 'required': ['product'], 'properties': {'size': {'type': 'string', 'description': "(simple products) size, e.g. '850x2000', or a named size like 'medium'"}, 'options': {'type': 'object', 'description': "FULL selected options keyed by the schema keys from vivid_product, e.g. { size:'Medium', sides:'Double-sided', base:'Heavy Duty Metal Plate (5kg)' } or { size:'Custom', widthMm:700, heightMm:1000, eyelets:'4 x eyelets (all corners)', cutting:'Square or Rectangle' }"}, 'product': {'type': 'string', 'description': "product name, e.g. 'pull up banner', 'corflute', 'a-frame', 'feather flag'"}, 'quantity': {'type': 'number', 'description': 'how many'}}}
Eingabeschema
{'type': 'object', 'required': ['product'], 'properties': {'size': {'type': 'string', 'description': 'size â\x80\x94 breaks are per size/variant'}, 'product': {'type': 'string', 'description': "product name, e.g. 'premium pull up banner'"}, 'quantity': {'type': 'number', 'description': "the customer's current quantity, to highlight the next worthwhile break"}}}
Eingabeschema
{'type': 'object', 'required': ['product'], 'properties': {'product': {'type': 'string', 'description': "product name, e.g. 'feather flag', 'corflute', 'table throw'"}}}
Eingabeschema
{'type': 'object', 'required': ['order_number', 'email'], 'properties': {'email': {'type': 'string', 'description': 'the email address the order was placed under (required)'}, 'order_number': {'type': 'string', 'description': "order number, e.g. '#121978'"}}}
Eingabeschema
{'type': 'object', 'properties': {'goal': {'type': 'string', 'description': 'e.g. foot-traffic, promote-sale, stand-out-expo, advertise-outside, opening-store, brand-presence'}, 'business': {'type': 'string', 'description': 'e.g. cafe-hospitality, retail, real-estate, events-expo, corporate, school, gym-fitness'}}}
Eingabeschema
{'type': 'object', 'required': ['email'], 'properties': {'name': {'type': 'string'}, 'email': {'type': 'string', 'description': 'the email the customer ordered under (required to find past orders)'}, 'order': {'type': 'string', 'description': "order name to reorder from, e.g. '#D12345' (optional)"}, 'token': {'type': 'string', 'description': 'the identity token from vivid_identity_verify (required â\x80\x94 proves the customer owns this email)'}, 'action': {'type': 'string', 'description': "'list' (show past orders) or 'reorder' (repeat one)"}, 'artwork': {'type': 'string', 'description': 'new print-ready artwork file URL (optional; default = reuse previous)'}, 'confirm': {'type': 'boolean', 'description': 'set true to place the reorder (draft, proof-gated, never charges)'}, 'product': {'type': 'string', 'description': "which product to reorder, e.g. 'corflute' (optional; default = most recent eligible)"}, 'quantity': {'type': 'number', 'description': 'override quantity (optional; default = same as last time)'}}}
Eingabeschema
{'type': 'object', 'required': ['email'], 'properties': {'name': {'type': 'string'}, 'size': {'type': 'string'}, 'email': {'type': 'string'}, 'phone': {'type': 'string', 'description': 'customer phone (optional)'}, 'design': {'type': 'string', 'description': "design preference: 'ai_design' | 'upload_own' | 'design_later'"}, 'company': {'type': 'string'}, 'message': {'type': 'string', 'description': "the customer's full request in their own words (multi-item OK)"}, 'options': {'type': 'object', 'description': 'FULL selected options (same shape as vivid_price.options) so the quotation is priced exactly â\x80\x94 include size + any dropdowns/add-ons.'}, 'product': {'type': 'string'}, 'quantity': {'type': 'number'}, 'artworkUrl': {'type': 'string', 'description': "link to the customer's uploaded artwork (e.g. the fileUrl returned by vivid_upload_artwork), if any"}, 'discountCode': {'type': 'string', 'description': 'any reseller/trade or discount code the customer mentioned (recorded, NOT applied here)'}}}
Eingabeschema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': "what the customer is looking for (a product name, a category, or a use-case like 'expo' or 'shopfront')"}}}
Eingabeschema
{'type': 'object', 'required': ['question'], 'properties': {'question': {'type': 'string', 'description': "the customer's support question, in their own words"}}}
Eingabeschema
{'type': 'object', 'required': ['filename', 'contentBase64'], 'properties': {'email': {'type': 'string', 'description': 'customer email (optional). Only recorded once verified â\x80\x94 see token.'}, 'token': {'type': 'string', 'description': 'identity token from vivid_identity_verify. Required to attach this upload to an order or to record the email; without it the file is still stored, just not claimed by anyone.'}, 'orderId': {'type': 'string', 'description': "attach to an existing order (optional). Ignored unless a valid token is supplied â\x80\x94 an unverified caller must not be able to put a file on somebody else's order."}, 'quoteId': {'type': 'string', 'description': 'associate with a quote request (optional)'}, 'filename': {'type': 'string', 'description': "original filename incl. extension, e.g. 'banner-artwork.pdf'"}, 'mimeType': {'type': 'string', 'description': "MIME type, e.g. 'application/pdf'"}, 'sessionId': {'type': 'string', 'description': 'associate with a design session (optional)'}, 'contentBase64': {'type': 'string', 'description': 'the file contents, base64-encoded (data URI prefix OK). Small files only; for very large files share a download link instead.'}}}
Letzte Tool-Änderungen
Ähnliche MCP-Server
Ask AI
Answers questions about connected e-commerce data from Shopify, Klaviyo, GA4, Triple Whale, and other sources, covering sales, ma…
Neonjelly
Analyzes Shopify stores, products, apps, traffic, competitors, catalog changes, market cohorts and outreach contacts across a lar…
Resonance Reward Agent
Finds cashback deals and rewards, compares brands and offers, and provides analytics and management tools for reward programs.
Real Real Genuine
Enables browsing fashion brands and listings, submitting designs, purchasing digital or physical products, referrals, vouchers, l…
Postscript
Retrieves Shopify Postscript SMS marketing subscribers, opt-in keywords, and subscriber or keyword details.
AgentIQ
Operates an agent-oriented advertising network for campaigns, placements, creative and coupon delivery, attribution, affiliate li…
Jungle Scout
Provides Amazon product searches, sales estimates, keyword metrics, pricing, rankings, and marketplace research.
Finewisdom 社媒与电商数据接口
Retrieves social media content and engagement data and searches products, shops, reviews, and sellers across Chinese and internat…