au.com.vividads/vivid-ads-commerce
REMOTE · AGENT.VIVIDADS.COM.AU
Live signage pricing, formal quotes and draft orders from Vivid Ads Australia. Open pre-sales MCP.
Available components
Last scanned (18 hours ago)
Scores higher than 94% of remote servers
Reachable. Last reached 5 Nov 2026.
Category E-commerce
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability76
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 8254 tokens (~284/item across 29 items; 27 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage95
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 83% of tool parameters carry a description.Partial
- Structured output schemas are declared (33% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 27 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Checks we ran (13)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “vivid_support_answer” rewrote its description, which is the text the model reads security
- 30 Oct 26 −1
- DNSSEC: pass → fail ▼ security
- 25 Oct 26 0
- Tool “vivid_delivery_estimate” rewrote its description, which is the text the model reads security
- Tool “vivid_product” rewrote its description, which is the text the model reads security
- “vivid_delivery_estimate” added an optional parameter “quantity” cosmetic
- 21 Oct 26 +3
- The server rewrote its instructions, which are the text every model session reads security
- Tool “vivid_accept_quote” rewrote its description, which is the text the model reads security
- Tool “vivid_order_artwork” rewrote its description, which is the text the model reads security
- Tool “vivid_order_status” rewrote its description, which is the text the model reads security
- Tool “vivid_proof_status” rewrote its description, which is the text the model reads security
- Tool “vivid_reorder” rewrote its description, which is the text the model reads security
- Tool “vivid_search” rewrote its description, which is the text the model reads security
- Schema quality: 6437 → 8123 ▼ functional
- MCP protocol: fail → pass ▲ functional
- Tool “vivid_delivery_estimate” now declares an output schema ▲ functional
- Tool “vivid_delivery_quote” now declares an output schema ▲ functional
- Tool “vivid_price” now declares an output schema ▲ functional
- Tool “vivid_price_breaks” now declares an output schema ▲ functional
- Tool “vivid_product” now declares an output schema ▲ functional
- Tool “vivid_recommend” now declares an output schema ▲ functional
- Tool “vivid_search” now declares an output schema ▲ functional
- Tool “vivid_support_answer” now declares an output schema ▲ functional
- The server now declares the “prompts” capability functional
- The server now declares the “completions” capability functional
- The server now declares the “resources” capability functional
- First check of Tool coverage: 33 functional
- First check of Schema quality: 100 functional
- New prompt “choose_signage” functional
- New prompt “quote_a_sign” functional
- New prompt “track_my_order” functional
- MCP protocol version: 2025-06-18 → 2025-11-25 functional
- New resource “catalogue” functional
- New resource “ordering-guide” functional
- Server version: 0.1.0 → 0.2.0 functional
- New tool “vivid_artwork_template” functional
- New tool “vivid_contact_team” functional
- “vivid_accept_quote” added an optional parameter “token” cosmetic
- “vivid_fulfilment_order_status” added an optional parameter “token” cosmetic
- “vivid_fulfilment_pickup_status” added an optional parameter “token” cosmetic
- “vivid_fulfilment_production_stage” added an optional parameter “token” cosmetic
- “vivid_fulfilment_shipping” added an optional parameter “token” cosmetic
- “vivid_order_status” added an optional parameter “token” cosmetic
- “vivid_place_order” added an optional parameter “idempotency_key” cosmetic
- “vivid_reorder” added an optional parameter “idempotency_key” cosmetic
- “vivid_request_quote” added an optional parameter “idempotency_key” cosmetic
- “vivid_search” added an optional parameter “limit” cosmetic
- “vivid_search” added an optional parameter “offset” cosmetic
- “vivid_upload_artwork” added an optional parameter “idempotency_key” cosmetic
- “vivid_order_status” reworded the description of “email” cosmetic
- Tool “vivid_accept_quote” changed its title: Get a quote's payment link cosmetic
- Tool “vivid_artwork” changed its title: Attach artwork to an order cosmetic
- Tool “vivid_check_artwork” changed its title: Check artwork is print-ready cosmetic
- Tool “vivid_cross_sell” changed its title: Suggest add-ons cosmetic
- Tool “vivid_delivery_estimate” changed its title: Estimate delivery timing cosmetic
- Tool “vivid_delivery_quote” changed its title: Get delivery cost cosmetic
- Tool “vivid_identity_start” changed its title: Start email verification cosmetic
- Tool “vivid_identity_verify” changed its title: Complete email verification cosmetic
- Tool “vivid_order_artwork” changed its title: Show a past order's artwork cosmetic
- Tool “vivid_order_status” changed its title: Check order status cosmetic
- Tool “vivid_place_order” changed its title: Place an order (creates a draft for team review) cosmetic
- Tool “vivid_price” changed its title: Get a live price cosmetic
- Tool “vivid_price_breaks” changed its title: Show volume price breaks cosmetic
- Tool “vivid_product” changed its title: Get product options cosmetic
- Tool “vivid_proof_status” changed its title: Check digital-proof status cosmetic
- Tool “vivid_recommend” changed its title: Recommend signage cosmetic
- Tool “vivid_reorder” changed its title: Reorder a past job (creates a draft) cosmetic
- Tool “vivid_request_quote” changed its title: Create & email a quote (draft) cosmetic
- Tool “vivid_search” changed its title: Search catalogue cosmetic
- Tool “vivid_support_answer” changed its title: Answer a support question cosmetic
- Tool “vivid_upload_artwork” changed its title: Upload artwork cosmetic
- 2 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “vivid_place_order” rewrote its description, which is the text the model reads security
- “vivid_proof_status” added an optional parameter “token” cosmetic
- 1 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “vivid_place_order” rewrote its description, which is the text the model reads security
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://agent.vividads.com.au/api/ucp/public/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=agent.vividads.com.au | CN=YE1,O=Let's Encrypt,C=US | 10 Sept 2026 | 9 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 5b6be5bfc74f2d0c59b05066defb01d7cdf |
| SANs: agent.vividads.com.au | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of agent.vividads.com.au. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| au. | DS published | 26642 | 8 | Verified |
| com.au. | DS published | 14185 | 8 | Verified |
| vividads.com.au. | No DS | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://agent.vividads.com.au/api/ucp/public/mcp | Verified | 200 | |
| http (plaintext) | http://agent.vividads.com.au/api/ucp/public/mcp | HTTPS enforced | 301 | https://agent.vividads.com.au/api/ucp/public/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
vivid_accept_quote Get a quote's payment link ~220
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. CODE REQUIRED: needs the customer's email AND a verified identity token. Without a token this tool emails the customer a 6-digit code and returns status need_verification with a verificationId — ask the customer for the code, call vivid_identity_verify, then call this tool again with the token. It shows nothing before that.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | the email the quote was sent to (required) | |
| quote_number | string | yes | quote/draft number, e.g. '#D786069' |
| token | string | – | identity token from vivid_identity_verify (required to see any details; without it a code is emailed to the customer) |
No output schema declared.
No examples provided.
vivid_artwork Attach artwork to an order ~255
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.
| Name | Type | Req | Description |
|---|---|---|---|
| contentType | string | – | – |
| fileId | string | – | after a direct upload completes, pass the returned file id here to finalise and get the share link |
| filename | string | – | filename (required with requestUpload), e.g. 'flyer.pdf' |
| requestUpload | boolean | – | set true to get a direct-upload URL for a large file (client uploads straight to storage) |
| sourceUrl | string | – | a shareable https link to the print-ready artwork (PDF/PNG/JPG/AI/EPS) — the easiest path |
No output schema declared.
No examples provided.
vivid_artwork_template Get artwork templates ~128
Get the official print-ready artwork TEMPLATE download links (PDF/AI, per size) for a product, straight from its vividads.com.au product page — for the customer or their designer to set up artwork correctly (bleed, safe area, size). Public, read-only; nothing is emailed. Give the links exactly as returned.
| Name | Type | Req | Description |
|---|---|---|---|
| product | string | yes | product name or handle, e.g. 'pull up banner', 'teardrop flag' |
| size | string | – | optional — only return the template for this size, e.g. '850x2000' |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_note | string|null | – | – |
| message | string|null | – | – |
| name | – | – | – |
| product | – | – | – |
| productUrl | – | – | – |
| status | string | yes | outcome discriminator, e.g. ok / priced / need_size / manual_quote / unknown_product / error |
| templates | – | – | [{ size, format, url }] official template downloads |
No examples provided.
vivid_check_artwork Check artwork is print-ready ~168
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.
| Name | Type | Req | Description |
|---|---|---|---|
| file_url | string | yes | downloadable URL of the artwork PDF (e.g. the fileUrl from vivid_upload_artwork) |
| height_mm | number | – | ordered height in mm, if known |
| width_mm | number | – | ordered width in mm, if known — enables the size check |
No output schema declared.
No examples provided.
vivid_contact_team Contact the Vivid team (opens a support case) ~395
Open a support case with the Vivid Ads team (emails the team and saves a record) for anything the other tools cannot do: a problem with an order (damaged, faulty, missing, wrong item or colour — reprint/refund claims), an order change (address, cancel, hold, split into one line per design), proof help (resend, changes), a human design service request, a sample/swatch request, a trade/reseller or payment-terms account, a price-match request, a tight deadline, or simply 'I want to talk to a person'. Call it ONCE per issue, after collecting a clear summary and the customer's email or phone. It never returns order details: an order number is passed to the team as the customer's own reference (marked unverified unless an identity token from vivid_identity_verify is supplied). For B2B AI-automation enquiries use reason 'ai_automation'. Never use this to take payment or approve a proof.
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | – | – |
| string | – | how the team replies (email or phone required) | |
| idempotency_key | string | – | optional: a unique key for this request — a retry with the same key returns the first result instead of repeating the action |
| name | string | – | – |
| order_number | string | – | the customer's order or quote number, if this is about an existing order |
| phone | string | – | – |
| product | string | – | – |
| reason | string | yes | what the case is about |
| summary | string | yes | everything the team needs, in the customer's words: what happened / what they want, product, size, quantity, deadline. For a problem: what is wrong and when it arrived (photos can be sent with vivid_… |
| token | string | – | optional identity token from vivid_identity_verify — marks the order reference as verified for the team |
No output schema declared.
No examples provided.
vivid_cross_sell Suggest add-ons ~204
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.
| Name | Type | Req | Description |
|---|---|---|---|
| already_have | array | – | product keys/handles the customer already chose (optional) — excluded from suggestions |
| product | string | – | the product handle the customer chose, e.g. 'pull-up-banners' — returns items frequently bought with it from real order history |
| use_case | string | – | curated fallback: 'trade-show', 'school-open-day', 'construction-fence', 'retail-promotion', 'real-estate', or 'corporate-conference' |
No output schema declared.
No examples provided.
vivid_delivery_estimate Estimate delivery timing ~248
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 Melbourne time cut-off), then the QUANTITY-based production time (1–15 items → 1 working day, 16–40 → 2, 41–100 → 3, 101–200 → 4, 201+ → the team sets the date), 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.
| Name | Type | Req | Description |
|---|---|---|---|
| artwork_ready | boolean | – | true if artwork is print-ready and the proof will be approved immediately |
| postcode | string | yes | 4-digit Australian delivery postcode |
| product | string | – | product name — used to read its real production time |
| quantity | number | – | how many identical items — turnaround depends on it (default 1) |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_note | string|null | – | – |
| message | string|null | – | – |
| production_hours | – | – | – |
| quantity | – | – | – |
| status | string | yes | outcome discriminator, e.g. ok / priced / need_size / manual_quote / unknown_product / error |
| turnaround | – | – | quantity-aware ready-to-dispatch: { ready_to_dispatch, approve_by, working_days, basis: tier|provisional, sentence } |
No examples provided.
vivid_delivery_quote Get delivery cost ~221
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.
| Name | Type | Req | Description |
|---|---|---|---|
| options | object | – | FULL selected options for option-rich/custom products (same shape as vivid_price.options) |
| postcode | string | yes | 4-digit Australian postcode |
| product | string | yes | product name, e.g. 'pull up banner' |
| quantity | number | – | – |
| size | string | – | (simple products) size, e.g. '850x2050' |
| state | string | – | VIC/NSW/QLD/SA/WA/TAS/NT/ACT (derived from postcode if omitted) |
| suburb | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_note | string|null | – | – |
| gstIncluded | – | – | – |
| message | string|null | – | – |
| pickup | – | – | – |
| rates | – | – | live checkout freight options, AUD incl. GST |
| status | string | yes | outcome discriminator, e.g. ok / priced / need_size / manual_quote / unknown_product / error |
No examples provided.
vivid_fulfilment_order_status ~225
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.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_email | string | yes | The 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. |
| line_item_id | string | – | Optional Shopify line item GID to scope to one item. |
| order_id | string | – | Shopify order GID, e.g. gid://shopify/Order/123. |
| order_name | string | – | Human order name, e.g. "#12345" (alias for order_id). |
| token | string | – | identity token from vivid_identity_verify — REQUIRED to see any details. Without it a 6-digit code is emailed to customer_email and the tool returns need_verification. |
No output schema declared.
No examples provided.
vivid_fulfilment_pickup_status ~191
Whether an order (or specific line items) is ready for pickup at Derrimut VIC — ready once printed and cut, before dispatch.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_email | string | yes | The 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. |
| line_item_id | string | – | Optional Shopify line item GID to scope to one item. |
| order_id | string | – | Shopify order GID, e.g. gid://shopify/Order/123. |
| order_name | string | – | Human order name, e.g. "#12345" (alias for order_id). |
| token | string | – | identity token from vivid_identity_verify — REQUIRED to see any details. Without it a 6-digit code is emailed to customer_email and the tool returns need_verification. |
No output schema declared.
No examples provided.
vivid_fulfilment_production_stage ~258
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.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_email | string | yes | The 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. |
| line_item_id | string | – | Optional Shopify line item GID to scope to one item. |
| order_id | string | – | Shopify order GID, e.g. gid://shopify/Order/123. |
| order_name | string | – | Human order name, e.g. "#12345" (alias for order_id). |
| token | string | – | identity token from vivid_identity_verify — REQUIRED to see any details. Without it a 6-digit code is emailed to customer_email and the tool returns need_verification. |
No output schema declared.
No examples provided.
vivid_fulfilment_shipping ~201
StarShipit shipping: carrier, tracking number, tracking URL, ETA and delivered flag. shipping_state: not_dispatched, shipped, in_transit, out_for_delivery, delivered, exception.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_email | string | yes | The 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. |
| line_item_id | string | – | Optional Shopify line item GID to scope to one item. |
| order_id | string | – | Shopify order GID, e.g. gid://shopify/Order/123. |
| order_name | string | – | Human order name, e.g. "#12345" (alias for order_id). |
| token | string | – | identity token from vivid_identity_verify — REQUIRED to see any details. Without it a 6-digit code is emailed to customer_email and the tool returns need_verification. |
No output schema declared.
No examples provided.
vivid_identity_start Start email verification ~119
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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | the customer's email to verify | |
| purpose | string | – | reorder | order_status | saved_details (optional) |
No output schema declared.
No examples provided.
vivid_identity_verify Complete email verification ~98
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.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | the 6-digit code the customer received by email |
| verificationId | string | yes | from vivid_identity_start |
No output schema declared.
No examples provided.
vivid_order_artwork Show a past order's artwork ~230
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. CODE REQUIRED: needs the customer's email AND a verified identity token. Without a token this tool emails the customer a 6-digit code and returns status need_verification with a verificationId — ask the customer for the code, call vivid_identity_verify, then call this tool again with the token. It shows nothing before that.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | the customer's email (must match the identity token) | |
| order | string | yes | the order number to show artwork for, e.g. '117478' |
| token | string | – | the identity token from vivid_identity_verify (required — proves the customer owns this email/order) |
No output schema declared.
No examples provided.
vivid_order_status Check order status ~269
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. CODE REQUIRED: needs the customer's email AND a verified identity token. Without a token this tool emails the customer a 6-digit code and returns status need_verification with a verificationId — ask the customer for the code, call vivid_identity_verify, then call this tool again with the token. It shows nothing before that.
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | the email the order was placed under (always required) | |
| reference | string | – | order # or quote/draft # (e.g. '#119581' or '#D776755') |
| token | string | – | identity token from vivid_identity_verify (required to see any details; without it a code is emailed to the customer) |
No output schema declared.
No examples provided.
vivid_place_order Place an order (creates a draft for team review) ~552
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. Artwork is OPTIONAL here: an order can be placed with no file at all — the customer uploads later via the upload link emailed when the order is placed, or any time from My Account on the customer portal (portal.vividads.com.au), so never hold up an order waiting for artwork.
| Name | Type | Req | Description |
|---|---|---|---|
| artwork | object | – | { mode:'ai_design'|'upload_file'|'design_brief', designId?, imageUrl?, printPdfUrl?, fileUrl?, brief? } |
| company | string | – | – |
| confirm | boolean | – | set true ONLY after the customer reviews and confirms |
| customerType | string | – | retail|corporate|school|government|account — sets payment terms |
| delivery | object | – | pickup or delivery details. PICKUP: { method:'pickup', name, email, phone, pickupLocation?, notes? }. DELIVERY: { method:'delivery', name, email, phone, company?, address1, address2?, suburb, state,… |
| string | yes | – | |
| idempotency_key | string | – | optional: a unique key for this request — a retry with the same key returns the first result instead of repeating the action |
| items | array | – | 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 ea… |
| name | string | – | – |
| options | object | – | FULL selected options (same shape as vivid_price.options). Use vivid_product to see them. Prefer this over `size` for option-rich products. |
| phone | string | – | – |
| poNumber | string | – | – |
| product | string | – | – |
| quantity | number | – | – |
| size | string | – | – |
No output schema declared.
No examples provided.
vivid_price Get a live price ~240
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.
| Name | Type | Req | Description |
|---|---|---|---|
| options | object | – | 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, ey… |
| product | string | yes | product name, e.g. 'pull up banner', 'corflute', 'a-frame', 'feather flag' |
| quantity | number | – | how many |
| size | string | – | (simple products) size, e.g. '850x2000', or a named size like 'medium' |
| Name | Type | Req | Description |
|---|---|---|---|
| addOns | – | – | – |
| agent_note | string|null | – | – |
| assumedOptions | – | – | – |
| currency | – | – | – |
| gstIncluded | – | – | – |
| message | string|null | – | – |
| product | – | – | – |
| quantity | – | – | – |
| size | – | – | – |
| sizes | – | – | – |
| status | string | yes | outcome discriminator, e.g. ok / priced / need_size / manual_quote / unknown_product / error |
| summary | – | – | – |
| tierApplied | – | – | – |
| totalPrice | number|null | – | AUD, GST-inclusive |
| unitPrice | number|null | – | AUD, GST-inclusive |
No examples provided.
vivid_price_breaks Show volume price breaks ~177
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.
| Name | Type | Req | Description |
|---|---|---|---|
| product | string | yes | product name, e.g. 'premium pull up banner' |
| quantity | number | – | the customer's current quantity, to highlight the next worthwhile break |
| size | string | – | size — breaks are per size/variant |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_note | string|null | – | – |
| currentTier | – | – | – |
| message | string|null | – | – |
| nextTier | – | – | – |
| product | – | – | – |
| size | – | – | – |
| status | string | yes | outcome discriminator, e.g. ok / priced / need_size / manual_quote / unknown_product / error |
| tiers | – | – | [{ qty, unitPrice }] real published breaks, AUD incl. GST |
No examples provided.
vivid_product Get product options ~172
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, quantity-aware: ready to dispatch in working days after proof approval by 3pm Melbourne time — never quote a flat 24 hours or AEST). Flags have Size/Printed Sides/Flag Base; corflute has Size (or custom W×H)/Eyelets/Cutting; table throws have Style/Size/Backside.
| Name | Type | Req | Description |
|---|---|---|---|
| product | string | yes | product name, e.g. 'feather flag', 'corflute', 'table throw' |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_note | string|null | – | – |
| instantPrice | – | – | – |
| message | string|null | – | – |
| name | – | – | – |
| options | array | – | each option: key, label, required, values[], default, affectsPrice, dependsOn |
| pricingType | – | – | – |
| product | string|null | – | – |
| status | string | yes | outcome discriminator, e.g. ok / priced / need_size / manual_quote / unknown_product / error |
| turnaround | – | – | – |
No examples provided.
vivid_proof_status Check digital-proof status ~229
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. CODE REQUIRED: needs the customer's email AND a verified identity token. Without a token this tool emails the customer a 6-digit code and returns status need_verification with a verificationId — ask the customer for the code, call vivid_identity_verify, then call this tool again with the token. It shows nothing before that.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | the email address the order was placed under (required) | |
| order_number | string | yes | order number, e.g. '#121978' |
| token | string | – | identity token from vivid_identity_verify. Without it the proof STATE is returned but not the approve/reject link. |
No output schema declared.
No examples provided.
vivid_recommend Recommend signage ~127
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.
| Name | Type | Req | Description |
|---|---|---|---|
| business | string | – | e.g. cafe-hospitality, retail, real-estate, events-expo, corporate, school, gym-fitness |
| goal | string | – | e.g. foot-traffic, promote-sale, stand-out-expo, advertise-outside, opening-store, brand-presence |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_note | string|null | – | – |
| message | string|null | – | – |
| options | – | – | – |
| products | array | – | – |
| question | – | – | – |
| status | string | yes | outcome discriminator, e.g. ok / priced / need_size / manual_quote / unknown_product / error |
No examples provided.
vivid_reorder Reorder a past job (creates a draft) ~420
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. CODE REQUIRED: needs the customer's email AND a verified identity token. Without a token this tool emails the customer a 6-digit code and returns status need_verification with a verificationId — ask the customer for the code, call vivid_identity_verify, then call this tool again with the token. It shows nothing before that.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | 'list' (show past orders) or 'reorder' (repeat one) |
| artwork | string | – | new print-ready artwork file URL (optional; default = reuse previous) |
| confirm | boolean | – | set true to place the reorder (draft, proof-gated, never charges) |
| string | yes | the email the customer ordered under (required to find past orders) | |
| idempotency_key | string | – | optional: a unique key for this request — a retry with the same key returns the first result instead of repeating the action |
| name | string | – | – |
| order | string | – | order name to reorder from, e.g. '#D12345' (optional) |
| product | string | – | which product to reorder, e.g. 'corflute' (optional; default = most recent eligible) |
| quantity | number | – | override quantity (optional; default = same as last time) |
| token | string | – | the identity token from vivid_identity_verify (required — proves the customer owns this email) |
No output schema declared.
No examples provided.
vivid_request_quote Create & email a quote (draft) ~326
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.
| Name | Type | Req | Description |
|---|---|---|---|
| artworkUrl | string | – | link to the customer's uploaded artwork (e.g. the fileUrl returned by vivid_upload_artwork), if any |
| company | string | – | – |
| design | string | – | design preference: 'ai_design' | 'upload_own' | 'design_later' |
| discountCode | string | – | any reseller/trade or discount code the customer mentioned (recorded, NOT applied here) |
| string | yes | – | |
| idempotency_key | string | – | optional: a unique key for this request — a retry with the same key returns the first result instead of repeating the action |
| message | string | – | the customer's full request in their own words (multi-item OK) |
| name | string | – | – |
| options | object | – | FULL selected options (same shape as vivid_price.options) so the quotation is priced exactly — include size + any dropdowns/add-ons. |
| phone | string | – | customer phone (optional) |
| product | string | – | – |
| quantity | number | – | – |
| size | string | – | – |
No output schema declared.
No examples provided.
vivid_search Search catalogue ~237
Search the Vivid Ads catalogue by product name, category, or intended use (e.g. 'corflute', 'pull up banner', 'expo', 'shopfront'). Returns matching products grounded in Vivid's own Shopify collections, so it also surfaces same-range, same-purpose alternatives — products flagged `sameRange:true` come from the top match's curated collection (returned as `collection`). ALWAYS mention these to the customer (e.g. 'we have two Pull Up Banner options, and Fabric Banner Stands do the same job'). Treat a from-price as INDICATIVE only — use vivid_product for options then vivid_price for the exact configuration. Paginated: returns `total`, `has_more` and `next_offset`; pass `offset` to get the next page.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | max products to return (default 8) |
| offset | integer | – | skip this many results — use next_offset from the previous page (default 0) |
| query | string | yes | what the customer is looking for (a product name, a category, or a use-case like 'expo' or 'shopfront') |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_note | string|null | – | – |
| collection | – | – | – |
| count | integer | – | – |
| has_more | boolean | – | – |
| message | string|null | – | – |
| next_offset | integer|null | – | – |
| offset | integer | – | – |
| products | array | – | – |
| query | – | – | – |
| status | string | yes | outcome discriminator, e.g. ok / priced / need_size / manual_quote / unknown_product / error |
| total | integer | – | – |
No examples provided.
vivid_support_answer Answer a support question ~180
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, the print guarantee, and customer reviews & ratings (live Yotpo figures + Google Business Profile, with verification links). 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?', 'what are your reviews like?'.
| Name | Type | Req | Description |
|---|---|---|---|
| question | string | yes | the customer's support question, in their own words |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_note | string|null | – | – |
| answers | – | – | – |
| escalate | – | – | – |
| message | string|null | – | – |
| reviews | – | – | reviews questions only: { yotpo:{count,rating,product,store}, google:{count,rating,as_at}, source: live|partial|static, as_at } |
| source | – | – | – |
| status | string | yes | outcome discriminator, e.g. ok / priced / need_size / manual_quote / unknown_product / error |
| verify | – | – | reviews questions only: public verification links |
No examples provided.
vivid_upload_artwork Upload artwork ~368
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. Accepts PDF / AI / EPS / JPG / PNG. Does NOT verify print-readiness — the team checks that. Uploading needs no verification, but ATTACHING the file to an existing order does: pass the identity token from vivid_identity_verify, otherwise the file is held unattached and the reply says so. Use when a customer wants to send their print file via chat.
| Name | Type | Req | Description |
|---|---|---|---|
| contentBase64 | string | yes | the file contents, base64-encoded (data URI prefix OK). Small files only; for very large files share a download link instead. |
| string | – | customer email (optional). Only recorded once verified — see token. | |
| filename | string | yes | original filename incl. extension, e.g. 'banner-artwork.pdf' |
| idempotency_key | string | – | optional: a unique key for this request — a retry with the same key returns the first result instead of repeating the action |
| mimeType | string | – | MIME type, e.g. 'application/pdf' |
| orderId | string | – | attach to an existing order (optional). Ignored unless a valid token is supplied — an unverified caller must not be able to put a file on somebody else's order. |
| quoteId | string | – | associate with a quote request (optional) |
| sessionId | string | – | associate with a design session (optional) |
| token | string | – | 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. |
No output schema declared.
No examples provided.
How do I install the au.com.vividads/vivid-ads-commerce MCP server?
au.com.vividads/vivid-ads-commerce is a hosted endpoint at https://agent.vividads.com.au/api/ucp/public/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · agent.vividads.com.au
claude mcp add --transport http au-com-vividads-vivid-ads-commerce 'https://agent.vividads.com.au/api/ucp/public/mcp'
What is the au.com.vividads/vivid-ads-commerce MCP server?
au.com.vividads/vivid-ads-commerce is an MCP server listed in the public MCP registry as au.com.vividads/vivid-ads-commerce. Live signage pricing, formal quotes and draft orders from Vivid Ads Australia. Open pre-sales MCP. This page covers its hosted endpoint (https://agent.vividads.com.au/api/ucp/public/mcp).
Is the au.com.vividads/vivid-ads-commerce MCP server safe to use?
au.com.vividads/vivid-ads-commerce scores 87 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the au.com.vividads/vivid-ads-commerce MCP server expose?
au.com.vividads/vivid-ads-commerce exposes 27 tools: vivid_search, vivid_recommend, vivid_cross_sell, vivid_support_answer, vivid_product, and 22 more. Their descriptions and schemas cost roughly 6,458 tokens of context every time the server is loaded.
Does the au.com.vividads/vivid-ads-commerce MCP server require authentication?
No. We connected to au.com.vividads/vivid-ads-commerce without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the au.com.vividads/vivid-ads-commerce MCP server still maintained?
au.com.vividads/vivid-ads-commerce is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the au.com.vividads/vivid-ads-commerce MCP server?
VerifyMCP ran 13 checks on au.com.vividads/vivid-ads-commerce, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.