Skip to main content
Glama

vivid-ads-commerce

Server Details

Live signage pricing, formal quotes and draft orders from Vivid Ads Australia. Open pre-sales MCP.

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.

Tool Definition Quality

Score is being calculated. Check back soon.

Available Tools

25 tools
vivid_accept_quote
Read-onlyIdempotent
Inspect

Return the secure payment link for a formal quote Vivid already emailed (e.g. #D786069) so the customer can complete the order without leaving the conversation. Requires the quote number AND the email it was sent to (identity). Read-only — nothing is charged; it returns the customer's existing Shopify checkout link. If the quote has already become an order, it says so instead of issuing another link.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesthe email the quote was sent to (required)
quote_numberYesquote/draft number, e.g. '#D786069'
vivid_artworkInspect

Attach a customer-provided artwork file or link to a signage order (a successful attach does NOT mean it is print-ready — the team still checks it). EASIEST: pass a shareable link to the file (sourceUrl) — Google Drive, Dropbox, WeTransfer, etc. — and use the returned fileUrl in vivid_place_order's artwork {mode:'upload_file', fileUrl}. For a large file with no link yet, set requestUpload:true to get a direct-upload URL (the file uploads straight to storage — handles 50–200MB+), then call again with the returned fileId to get the share link.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdNoafter a direct upload completes, pass the returned file id here to finalise and get the share link
filenameNofilename (required with requestUpload), e.g. 'flyer.pdf'
sourceUrlNoa shareable https link to the print-ready artwork (PDF/PNG/JPG/AI/EPS) — the easiest path
contentTypeNo
requestUploadNoset true to get a direct-upload URL for a large file (client uploads straight to storage)
vivid_check_artwork
Read-onlyIdempotent
Inspect

Check whether a customer's artwork PDF is print-ready BEFORE they order — powered by Vivid's own production preflight engine. Reports size vs the ordered size, bleed, RGB-vs-CMYK colour, font embedding and effective resolution, each with a plain-English fix. ADVISORY ONLY: it never blocks anything. If the customer is happy to proceed with the file as-is, that is always accepted — say so explicitly. Every order also gets a free digital proof before printing.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_urlYesdownloadable URL of the artwork PDF (e.g. the fileUrl from vivid_upload_artwork)
width_mmNoordered width in mm, if known — enables the size check
height_mmNoordered height in mm, if known
vivid_cross_sell
Read-onlyIdempotent
Inspect

Suggest relevant, NON-pushy add-on products to round out a customer's order — 1–2 genuinely useful companions with a reason. PREFERS real frequently-bought-together data from Vivid Ads' order history (pass product = the product handle the customer chose); falls back to curated use-case bundles (pass use_case). Omit both to get guidance. Pass already_have to avoid re-suggesting what they've chosen. Never pressure — helpful suggestions only.

ParametersJSON Schema
NameRequiredDescriptionDefault
productNothe product handle the customer chose, e.g. 'pull-up-banners' — returns items frequently bought with it from real order history
use_caseNocurated fallback: 'trade-show', 'school-open-day', 'construction-fence', 'retail-promotion', 'real-estate', or 'corporate-conference'
already_haveNoproduct keys/handles the customer already chose (optional) — excluded from suggestions
vivid_delivery_estimate
Read-onlyIdempotent
Inspect

Estimate WHEN an order would arrive at an Australian postcode — the question behind 'can I get it by Friday?'. Works the timeline through honestly: production starts only after the customer approves their digital proof (3pm AEST cutoff), then production time for that product, then transit for their postcode (metro/regional/remote bands). Returns an arrival WINDOW plus the assumptions it made. This is an ESTIMATE, never a guarantee — always relay the caveat, and for a hard deadline tell them to call 1300 721 614. Free pickup from Derrimut VIC is usually the fastest option.

ParametersJSON Schema
NameRequiredDescriptionDefault
productNoproduct name — used to read its real production time
postcodeYes4-digit Australian delivery postcode
artwork_readyNotrue if artwork is print-ready and the proof will be approved immediately
vivid_delivery_quote
Read-onlyIdempotent
Inspect

EXACT delivery/freight cost to an Australian postcode for a product configuration — the SAME live rates the vividads.com.au checkout shows (carrier + shipping-rules apps; incl. GST). Use whenever the customer asks what shipping/delivery costs. Resolve the product + size/options + quantity first (vivid_product / vivid_price), then call with the postcode (suburb improves accuracy). Never estimate freight yourself. Always also mention free pickup from Derrimut VIC 3026.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo(simple products) size, e.g. '850x2050'
stateNoVIC/NSW/QLD/SA/WA/TAS/NT/ACT (derived from postcode if omitted)
suburbNo
optionsNoFULL selected options for option-rich/custom products (same shape as vivid_price.options)
productYesproduct name, e.g. 'pull up banner'
postcodeYes4-digit Australian postcode
quantityNo
vivid_fulfilment_order_status
Read-onlyIdempotent
Inspect

Authoritative order state with a per-line-item breakdown and an order-level rollup. States: received, in_production, partially_ready, ready_for_pickup, dispatched, in_transit, out_for_delivery, delivered, completed, on_hold, cancelled. Includes the StarShipit shipping summary where available.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idNoShopify order GID, e.g. gid://shopify/Order/123.
order_nameNoHuman order name, e.g. "#12345" (alias for order_id).
line_item_idNoOptional Shopify line item GID to scope to one item.
customer_emailYesThe email address on the order. REQUIRED for identity — order details are only returned when this email matches the order. The customer must give their email AND one of their order numbers.
vivid_fulfilment_pickup_status
Read-onlyIdempotent
Inspect

Whether an order (or specific line items) is ready for pickup at Derrimut VIC — ready once printed and cut, before dispatch.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idNoShopify order GID, e.g. gid://shopify/Order/123.
order_nameNoHuman order name, e.g. "#12345" (alias for order_id).
line_item_idNoOptional Shopify line item GID to scope to one item.
customer_emailYesThe email address on the order. REQUIRED for identity — order details are only returned when this email matches the order. The customer must give their email AND one of their order numbers.
vivid_fulfilment_production_stage
Read-onlyIdempotent
Inspect

Where each line item is in production, per item plus a rollup. Stages (in order): received, in preflight, awaiting proof, proof approved, imposing, queued for print, sent to Caldera, printing, printed, at Zund cutter, cut, dispatched. Needs-action states: missing file, preflight failed, with design team, on hold (unpaid), proof rejected, duplicate. Each item also returns the press and the print timestamp.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idNoShopify order GID, e.g. gid://shopify/Order/123.
order_nameNoHuman order name, e.g. "#12345" (alias for order_id).
line_item_idNoOptional Shopify line item GID to scope to one item.
customer_emailYesThe email address on the order. REQUIRED for identity — order details are only returned when this email matches the order. The customer must give their email AND one of their order numbers.
vivid_fulfilment_shipping
Read-onlyIdempotent
Inspect

StarShipit shipping: carrier, tracking number, tracking URL, ETA and delivered flag. shipping_state: not_dispatched, shipped, in_transit, out_for_delivery, delivered, exception.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idNoShopify order GID, e.g. gid://shopify/Order/123.
order_nameNoHuman order name, e.g. "#12345" (alias for order_id).
line_item_idNoOptional Shopify line item GID to scope to one item.
customer_emailYesThe email address on the order. REQUIRED for identity — order details are only returned when this email matches the order. The customer must give their email AND one of their order numbers.
vivid_identity_startInspect

Start email verification before showing a customer's private data (past orders, reorder, saved address, email order-status). Sends a 6-digit code to the email. Returns a verificationId. Then ask the customer for the code and call vivid_identity_verify. Use this whenever a customer asks to see 'my orders', 'reorder', or 'status by email' and you don't already have a valid identity token.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesthe customer's email to verify
purposeNoreorder | order_status | saved_details (optional)
vivid_identity_verifyInspect

Complete email verification: pass the verificationId from vivid_identity_start and the 6-digit code the customer received. On success returns a short-lived identity token — pass that token to vivid_reorder / vivid_order_status to unlock the customer's private data. Codes expire in 10 minutes; attempts are limited.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesthe 6-digit code the customer received by email
verificationIdYesfrom vivid_identity_start
vivid_order_artwork
Read-onlyIdempotent
Inspect

Show a VERIFIED customer the PRINT-READY artwork files produced for one of their past orders (the actual files that went to print), so they can confirm them before reordering. Requires the order number and a valid identity token bound to the customer's email; only returns artwork for orders that belong to that customer. Returns view links to each print layout. Use when a customer asks 'what artwork did I print', 'show me my last print file', or before confirming a reorder.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesthe customer's email (must match the identity token)
orderYesthe order number to show artwork for, e.g. '117478'
tokenNothe identity token from vivid_identity_verify (required — proves the customer owns this email/order)
vivid_order_status
Read-onlyIdempotent
Inspect

Check the LIVE status of an order — real production stage (from the Enfocus Switch print workflow), ready-for-pickup, or shipped with carrier + tracking (from StarShipit, authoritative). Look up a real order by number (e.g. #119581) or a quote/draft by number (e.g. #D776755). Requires the customer's email, which must match the order. Use for 'where is my order', 'track order 12345', 'is my order ready'. Shipped/delivered from StarShipit is final; otherwise the live Switch stage is returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoalternatively, the customer's email to list recent orders (requires verified identity)
referenceNoorder # or quote/draft # (e.g. '#119581' or '#D776755')
vivid_place_orderInspect

Create a Shopify DRAFT order for Vivid Ads team review — NOT a final/placed order, and NEVER charges a card. Before calling, summarise the exact product, quantity, configuration, verified price (if available), customer details, and delivery/pickup, then get the customer's explicit confirmation. Call WITHOUT confirm to get a Review summary; confirm:true only AFTER they confirm. Do NOT auto-retry after a timeout without first checking whether a draft was already created. Payment is a secure invoice/pay-link from the team; production waits on proof approval.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
sizeNo
emailYes
itemsNoFor 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.
phoneNo
artworkNo{ mode:'ai_design'|'upload_file'|'design_brief', designId?, imageUrl?, printPdfUrl?, fileUrl?, brief? }
companyNo
confirmNoset true ONLY after the customer reviews and confirms
optionsNoFULL selected options (same shape as vivid_price.options). Use vivid_product to see them. Prefer this over `size` for option-rich products.
productNo
deliveryNopickup 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.
poNumberNo
quantityNo
customerTypeNoretail|corporate|school|government|account — sets payment terms
vivid_price
Read-onlyIdempotent
Inspect

Calculate the current price for an EXACT product configuration. Pass options with the full selected configuration (use vivid_product first), or just size for simple products. Some products take several seconds or need manual confirmation. Before calling, briefly tell the customer you're checking the live price. Never estimate or reuse another configuration's price. When presenting, repeat the exact product title, quantity, dimensions, and price-affecting options.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo(simple products) size, e.g. '850x2000', or a named size like 'medium'
optionsNoFULL 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' }
productYesproduct name, e.g. 'pull up banner', 'corflute', 'a-frame', 'feather flag'
quantityNohow many
vivid_price_breaks
Read-onlyIdempotent
Inspect

Vivid's REAL published volume price breaks for a product + size (e.g. 1 → $135 ea, 2 → $132.30, 5 → $128.25, 10 → $121.50 — save 10%). Use for bulk/trade pricing questions, or right after a price when a slightly larger quantity would save the customer money. Prices are AUD incl. GST and come from the same source as the live price, so they can never contradict a quote. If the product has no breaks it says so — never invent a discount.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNosize — breaks are per size/variant
productYesproduct name, e.g. 'premium pull up banner'
quantityNothe customer's current quantity, to highlight the next worthwhile break
vivid_product
Read-onlyIdempotent
Inspect

Get a product's FULL real option schema (all dimensions, not just size) so you can configure it correctly before pricing/ordering. Returns each option's key, label, allowed values, default, whether it's required, whether it affects price, and display order — plus turnaround (the live production/lead time from the product page, e.g. 24 hours if artwork is approved by 3 pm AEST on a business day). Flags have Size/Printed Sides/Flag Base; corflute has Size (or custom W×H)/Eyelets/Cutting; table throws have Style/Size/Backside.

ParametersJSON Schema
NameRequiredDescriptionDefault
productYesproduct name, e.g. 'feather flag', 'corflute', 'table throw'
vivid_proof_status
Read-onlyIdempotent
Inspect

Check a customer's DIGITAL PROOF status: has the proof been emailed, is it awaiting their approval, being revised after rejection, or already approved (production underway). Use for 'where's my proof', 'did you send my proof', 'when do I approve'. Requires the order number AND the email on the order (identity — details only return when they match). Relay the returned agent_hint concisely; production starts only after the customer approves the emailed proof.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesthe email address the order was placed under (required)
order_numberYesorder number, e.g. '#121978'
vivid_recommend
Read-onlyIdempotent
Inspect

Recommend Vivid Ads signage for a goal + business type (real Australian signage: pull-up banners, A-frames, corflute, fabric banners, flags, media walls). Call with goal and business; omit either to get the next question to ask the customer.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalNoe.g. foot-traffic, promote-sale, stand-out-expo, advertise-outside, opening-store, brand-presence
businessNoe.g. cafe-hospitality, retail, real-estate, events-expo, corporate, school, gym-fitness
vivid_reorderAInspect

Reorder a customer's previous signage job — fast. Requires identity verification (emailed one-time code), not just an order number. action:'list' shows their past orders; action:'reorder' repeats one. ARTWORK: it reuses only the customer's previously APPROVED artwork (the print file), never a pre-approval upload; if it can't be confirmed automatically the team confirms it. A fresh proof is ALWAYS re-issued to confirm the artwork before printing. The customer may also supply new artwork or change the quantity. Re-prices with CURRENT pricing (never the old price). Creates a proof-gated draft order; never charges a card.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
emailYesthe email the customer ordered under (required to find past orders)
orderNoorder name to reorder from, e.g. '#D12345' (optional)
tokenNothe identity token from vivid_identity_verify (required — proves the customer owns this email)
actionNo'list' (show past orders) or 'reorder' (repeat one)
artworkNonew print-ready artwork file URL (optional; default = reuse previous)
confirmNoset true to place the reorder (draft, proof-gated, never charges)
productNowhich product to reorder, e.g. 'corflute' (optional; default = most recent eligible)
quantityNooverride quantity (optional; default = same as last time)
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds extensive behavioral details beyond annotations: reuses only approved artwork, always re-issues proof, re-prices with current pricing, creates draft never charges. Annotations confirm non-readonly and non-destructive, and description aligns perfectly. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is well-structured with clear sections, but slightly lengthy. Front-loads the main purpose ('Reorder a customer's previous signage job — fast'). Every sentence adds value, but could be tightened without loss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers key behavioral aspects and workflow, but lacks description of return values (e.g., what the tool outputs, such as a draft order ID). Given the complexity and no output schema, a brief note on response would enhance completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 89% with parameter descriptions. The tool description adds workflow context (e.g., token from vivid_identity_verify, action values 'list'/'reorder', optional artwork override). It provides meaning beyond schema without redundancy.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists past orders ('list' action) and reorders them ('reorder' action), specifying the resource as customer's previous signage jobs. It distinguishes itself from siblings like vivid_place_order (which places new orders) by focusing on reordering.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly requires identity verification via vivid_identity_verify, not just an order number. States the two actions and their purpose. While it doesn't explicitly list alternatives, it implies when to use this versus vivid_place_order for new orders. Provides clear context for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vivid_request_quoteInspect

Email the customer a formal QUOTATION. If the exact configuration can be priced and an email is given, this INSTANTLY emails a branded PDF-style quotation (line items, GST, total, quote number, 14-day validity, accept-online link) — status 'quoted'. For custom/unpriceable products it logs the request for the team to prepare and send (status 'received'). Never takes payment. Confirm product, quantity, size/options, name, and email before submitting.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
sizeNo
emailYes
phoneNocustomer phone (optional)
designNodesign preference: 'ai_design' | 'upload_own' | 'design_later'
companyNo
messageNothe customer's full request in their own words (multi-item OK)
optionsNoFULL selected options (same shape as vivid_price.options) so the quotation is priced exactly — include size + any dropdowns/add-ons.
productNo
quantityNo
artworkUrlNolink to the customer's uploaded artwork (e.g. the fileUrl returned by vivid_upload_artwork), if any
discountCodeNoany reseller/trade or discount code the customer mentioned (recorded, NOT applied here)
vivid_support_answer
Read-onlyIdempotent
Inspect

Answer a customer's support / FAQ question in Vivid Ads' voice, grounded in the team's real support history + verified policy. Covers turnaround & production time, digital proofs & approval, artwork specs & file setup, products & options, quotes & pricing, delivery & pickup, changing/cancelling orders, reorders, and the print guarantee. Returns the best-matching answer(s) and topic; if nothing matches it returns escalate:true so you can hand off to the team. Use for questions like 'how long does it take?', 'what file format do you need?', 'can I change my order?', 'where do I pick up?'.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesthe customer's support question, in their own words
vivid_upload_artworkAInspect

Upload a customer's artwork FILE through the agent (no website file picker needed). Accepts the file as base64, stores it in Vivid's Google Drive, and returns a stable shareable link plus metadata. Optionally attaches the link to a quote, order, or design session. Accepts PDF / AI / EPS / JPG / PNG. Does NOT verify print-readiness — the team checks that. Use when a customer wants to send their print file via chat.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNocustomer email to associate with the upload (optional but recommended)
orderIdNoassociate with an order/draft (optional)
quoteIdNoassociate with a quote request (optional)
filenameYesoriginal filename incl. extension, e.g. 'banner-artwork.pdf'
mimeTypeNoMIME type, e.g. 'application/pdf'
sessionIdNoassociate with a design session (optional)
contentBase64Yesthe file contents, base64-encoded (data URI prefix OK). Small files only; for very large files share a download link instead.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the storage mechanism ('stores in Vivid's Google Drive'), output format ('shareable link plus metadata'), and file size limitation ('Small files only'). It aligns with annotations (readOnlyHint=false for a write operation) and adds context not in annotations, such as the non-verification of print-readiness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main purpose, and contains no superfluous words. Every sentence serves a purpose: what the tool does, what it accepts, what it returns, and when to use it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description explains the return value ('stable shareable link plus metadata'). It covers file types, size limits, and associations. All necessary context for an AI to invoke the tool correctly is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to repeat parameter descriptions. It adds valuable context: 'Small files only' for contentBase64 and the optional association with quote/order/session for email, orderId, quoteId, sessionId. This enhances understanding beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Upload a customer's artwork FILE'), the resource ('artwork'), and the distinguishing feature ('through the agent, no website file picker needed'). It specifies the return value ('stable shareable link plus metadata') and file types accepted, making the tool's purpose unmistakable and distinct from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage guidance is provided: 'Use when a customer wants to send their print file via chat.' It also gives an exclusion ('for very large files share a download link instead') and explains what the tool does not do ('Does NOT verify print-readiness'), enabling appropriate selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources