Skip to main content
Glama

nexbid_purchase

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cart_idNoOptional cart UUID. Server generates one if omitted.
quantityNoQuantity for single-item purchase (default: 1, ignored in cart-mode)
line_itemsNoArray of line items for cart purchase. Mutually exclusive with product_id.
product_idNoProduct UUID to purchase. Mutually exclusive with line_items.
checkout_modeNoCheckout mode. Default: prefill_link. wallet_pay requires a connected wallet with active mandate.
cart_ttl_secondsNoCart mandate lifetime in seconds (default 900, max 3600)
cart_total_max_centsNoCart-level hard-bound on total amount (only with line_items)
publisher_content_idNoOptional UUID of the publisher content (recipe, editorial, review, etc.) that surfaced this product to the user. When set, a successful purchase emits a premium-tier enriched_snippet_impression and the publisher gets credited 90% of the conversion value. Pass-through from nexbid_search, where it is returned alongside each product as `match_publisher_content_id` (when applicable).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / properties / cart_id
      Added value: +{
      +  "description": "Optional cart UUID. Server generates one if omitted.",
      +  "format": "uuid",
      +  "type": "string"
      +}
    • addedInput schema / properties / cart_total_max_cents
      Added value: +{
      +  "description": "Cart-level hard-bound on total amount (only with line_items)",
      +  "exclusiveMinimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / cart_ttl_seconds
      Added value: +{
      +  "description": "Cart mandate lifetime in seconds (default 900, max 3600)",
      +  "exclusiveMinimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / line_items
      Added value: +{
      +  "description": "Array of line items for cart purchase. Mutually exclusive with product_id.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount_cents": {
      +        "description": "Per-line maximum amount authorized for this item, in cents",
      +        "exclusiveMinimum": 0,
      +        "type": "integer"
      +      },
      +      "product_id": {
      +        "description": "Product UUID for this line item",
      +        "format": "uuid",
      +        "type": "string"
      +      },
      +      "quantity": {
      +        "default": 1,
      +        "description": "Quantity for this line (default: 1)",
      +        "maximum": 99,
      +        "minimum": 1,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "product_id",
      +      "amount_cents"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 50,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • changedInput schema / properties / product_id / description
      Previous value: -"Product UUID to purchase"New value: +"Product UUID to purchase. Mutually exclusive with line_items."
    • addedInput schema / properties / publisher_content_id
      Added value: +{
      +  "description": "Optional UUID of the publisher content (recipe, editorial, review, etc.) that surfaced this product to the user. When set, a successful purchase emits a premium-tier enriched_snippet_impression and the publisher gets credited 90% of the conversion value. Pass-through from nexbid_search, where it is returned alongside each product as `match_publisher_content_id` (when applicable).",
      +  "format": "uuid",
      +  "type": "string"
      +}
    • changedInput schema / properties / quantity / description
      Previous value: -"Quantity to purchase (default: 1)"New value: +"Quantity for single-item purchase (default: 1, ignored in cart-mode)"
    • removedInput schema / required
      Removed value: -[
      -  "product_id"
      -]
  2. Changed1 schema field changed
    • addedInput schema / properties / checkout_mode
      Added value: +{
      +  "description": "Checkout mode. Default: prefill_link. wallet_pay requires a connected wallet with active mandate.",
      +  "enum": [
      +    "prefill_link",
      +    "wallet_pay"
      +  ],
      +  "type": "string"
      +}
  3. Added

TDQS

A4.9/5.0
Behavior5/5

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

The description discloses that the tool initiates rather than completes a purchase, mandates presenting the checkout link for user confirmation, and differentiates output behavior by mode (prefill_link vs wallet_pay). It adds meaningful context (wallet requirement, intent ID/status) beyond the basic readOnlyHint=false annotation, with no contradiction.

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 front-loaded with the core purpose in two sentences, then organized into compact, high-value sections (when_to_use, combination_hints, output_format). Every sentence contributes essential guidance; there is no fluff or repetition of schema content.

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 the absence of an output schema, the output_format section clearly describes return values for both modes. The description covers prerequisites, user confirmation, tool sequencing, and parameter selection, making it fully actionable for an agent. All 8 parameters have schema descriptions, and the description fills remaining gaps (e.g., wallet_pay mandate).

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 baseline is high. The description adds practical parameter semantics: requiring a product UUID from nexbid_search, guiding checkout_mode selection based on wallet state, and noting publisher_content_id pass-through from search. This enhances schema documentation 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 'Initiate a purchase for a product found via nexbid_search' with a specific verb and resource, and explains the returned checkout link. It distinguishes this tool from nexbid_search (finding vs purchasing) and other siblings like nexbid_order_status, making its unique role unmistakable.

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?

The 'when_to_use' section explicitly limits invocation to after clear purchase intent and requires confirmation, while the 'combination_hints' sequence (nexbid_search → nexbid_purchase → nexbid_order_status) and wallet_pay prerequisite provide concrete context for when this tool is appropriate versus alternatives.

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.