이 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…