Skip to main content
Glama

vivid-ads-commerce

Get product options

vivid_product
Read-onlyIdempotent

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.

Input Schema

NameRequiredDescriptionDefault
productYesproduct name, e.g. 'feather flag', 'corflute', 'table throw'

Output Schema

NameRequiredDescriptionDefault
nameNo
statusYesoutcome discriminator, e.g. ok / priced / need_size / manual_quote / unknown_product / error
messageNo
optionsNoeach option: key, label, required, values[], default, affectsPrice, dependsOn
productNo
agent_noteNo
turnaroundNo
pricingTypeNo
instantPriceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "agent_note": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "instantPrice": {},
      +    "message": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "name": {},
      +    "options": {
      +      "description": "each option: key, label, required, values[], default, affectsPrice, dependsOn",
      +      "type": "array"
      +    },
      +    "pricingType": {},
      +    "product": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "description": "outcome discriminator, e.g. ok / priced / need_size / manual_quote / unknown_product / error",
      +      "type": "string"
      +    },
      +    "turnaround": {}
      +  },
      +  "required": [
      +    "status"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive), so the description's real contribution is the reliability caveat: `turnaround` is live, quantity-aware, 'ready to dispatch in working days after proof approval by 3pm Melbourne time' and 'never quote a flat 24 hours or AEST'. That is actionable behavioral context an agent could otherwise get wrong. The rest of the description enumerates return fields, which the output schema already carries.

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?

Front-loaded with the outcome and its purpose, then the caveat, then examples — a sensible ordering. It is dense and the turnaround parenthesis is long, but nearly every clause adds decision-relevant information with no filler.

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?

With annotations and an output schema present, the description only needs to explain purpose, sequencing, and pitfalls, all of which it covers. Minor gap: it does not say what happens when the product name is unrecognized or ambiguous (fuzzy match vs. error), which matters for openWorldHint lookups.

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% for the single `product` parameter, so the baseline is 3. The description earns above that by instantiating valid product names and mapping each to its option shape ('Flags have Size/Printed Sides/Flag Base; corflute has Size (or custom W×H)/Eyelets/Cutting'), which helps the agent format and sanity-check the input rather than just repeat the schema.

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 specific verb and resource ('Get a product's FULL real option schema'), explicitly scopes it ('all dimensions, not just size'), and gives the downstream reason ('before pricing/ordering'), which separates it from vivid_price and vivid_price_breaks. The concrete product/option examples (flags, corflute, table throws) make the resource unmistakable.

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?

The phrase 'so you can configure it correctly before pricing/ordering' gives clear sequencing context: call this first, then price/order. It does not, however, name an alternative sibling or state exclusions (e.g., when to use vivid_price_breaks or vivid_search instead if the product name is unknown), so it stops short of explicit when-not guidance.

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