vivid-ads-commerce
このMCPでできること
Supports Australian signage product discovery, configuration, pricing, quotes, artwork handling, draft orders, proofs, delivery, pickup, and fulfillment tracking.
ツール
入力スキーマ
{'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'"}}}
入力スキーマ
{'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)'}}}
入力スキーマ
{'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'}}}
入力スキーマ
{'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'}}}
入力スキーマ
{'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'}}}
入力スキーマ
{'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'}}}
入力スキーマ
{'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}
入力スキーマ
{'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}
入力スキーマ
{'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}
入力スキーマ
{'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}
入力スキーマ
{'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)'}}}
入力スキーマ
{'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'}}}
入力スキーマ
{'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)'}}}
入力スキーマ
{'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')"}}}
入力スキーマ
{'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'}}}
入力スキーマ
{'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'}}}
入力スキーマ
{'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"}}}
入力スキーマ
{'type': 'object', 'required': ['product'], 'properties': {'product': {'type': 'string', 'description': "product name, e.g. 'feather flag', 'corflute', 'table throw'"}}}
入力スキーマ
{'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'"}}}
入力スキーマ
{'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'}}}
入力スキーマ
{'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)'}}}
入力スキーマ
{'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)'}}}
入力スキーマ
{'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')"}}}
入力スキーマ
{'type': 'object', 'required': ['question'], 'properties': {'question': {'type': 'string', 'description': "the customer's support question, in their own words"}}}
入力スキーマ
{'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.'}}}
最近のツール変更
類似のMCPサーバー
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…