Skip to main content
Glama

vivid-ads-commerce

Create & email a quote (draft)

vivid_request_quote

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.

Input 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)
idempotency_keyNooptional: a unique key for this request — a retry with the same key returns the first result instead of repeating the action

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / idempotency_key
      Added value: +{
      +  "description": "optional: a unique key for this request — a retry with the same key returns the first result instead of repeating the action",
      +  "maxLength": 128,
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing the two terminal statuses ('quoted' / 'received'), the content of the outgoing quotation (line items, GST, total, quote number, 14-day validity, accept-online link), and the hard constraint that no payment is taken. The main gap is retry behavior: with idempotentHint=false and no mention of idempotency_key in the description, an agent is not warned that a re-call without the key sends a second email.

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?

Front-loads the action, then the branch logic, then the pre-submission checklist, then the safety constraint. Every clause carries distinct information — the parenthetical enumeration of quotation contents is the only dense stretch, and it usefully sets agent expectations. No filler or restatement of the name/title.

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?

For a 13-parameter, open-world mutation tool with no output schema, the description supplies the essentials: the two outcomes, the trigger condition for each, the required confirmations, and the no-payment guarantee. It is not fully complete because the reseller/discount recording path and the idempotency/duplicate-email behavior are never surfaced in prose.

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 only 54%, so the description must carry weight, and it does: its confirmation checklist (product, quantity, size/options, name, email) covers exactly the fields the schema leaves undescribed, while the remaining parameters (design, message, options, artworkUrl, discountCode, idempotency_key) already carry schema text. It adds no syntax, format, or shape guidance of its own, capping this at 4.

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?

States a concrete verb+resource ('Email the customer a formal QUOTATION') and immediately delimits scope with two named outcomes ('quoted' for priceable configurations vs 'received' for custom products) plus 'Never takes payment'. That last clause cleanly separates it from order-oriented siblings such as vivid_place_order and vivid_accept_quote, so an agent can place it in the flow without opening a schema.

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?

Gives an explicit routing condition: if the exact configuration can be priced and an email is supplied, the tool instantly quotes; for custom/unpriceable products it degrades to a logged request. It also sets a precondition ('Confirm product, quantity, size/options, name, and email before submitting'). It stops short of naming the sibling to use instead when the customer actually wants to buy now.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources