Skip to main content
Glama

list_products

Read-only

Retrieve a paginated list of your products, newest first. Filter with role: orderbump to find the products you can offer as order bumps with create_order_bump; page products are also reachable from their page. Read-only.

Input Schema

NameRequiredDescriptionDefault
roleNoOnly return products with this role. `orderbump` lists the products you can add to a page as order bumps; `product` lists page products. Omit for both.
limitNoNumber of records per page (integer, max 100, default 10).
searchNoCase-insensitive contains match against the product title and SKU.
ending_beforeNoCursor-based pagination. Pass a record `id` to return results before it. Cannot be used with `starting_after`.
starting_afterNoCursor-based pagination. Pass a record `id` to return results after it. Cannot be used with `ending_before`.

Output Schema

NameRequiredDescriptionDefault
dataYes
totalYesTotal number of records matching the query across all pages.
has_moreYesWhether more records exist beyond the current page.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / data / items / properties / prices / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "description": "A single price entry on a multi-price product.",
      -      "properties": {
      -        "amount": {
      -          "description": "Price in smallest currency unit (cents).",
      -          "example": 4900,
      -          "type": "number"
      -        },
      -        "badge": {
      -          "description": "Optional short label shown over the price card.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "badgeIcon": {
      -          "anyOf": [
      -            {
      -              "description": "Icon shown before the badge text.",
      -              "enum": [
      -                "star",
      -                "sparkles",
      -                "fire",
      -                "bolt",
      -                "rocket",
      -                "trophy",
      -                "check",
      -                "x-mark",
      -                "plus",
      -                "arrow-right",
      -                "check-badge",
      -                "check-circle",
      -                "shield-check",
      -                "thumbs-up",
      -                "heart",
      -                "smile",
      -                "light-bulb",
      -                "sun",
      -                "moon",
      -                "gift",
      -                "tag",
      -                "percent",
      -                "dollar",
      -                "banknotes",
      -                "credit-card",
      -                "shopping-bag",
      -                "shopping-cart",
      -                "truck",
      -                "clock",
      -                "calendar",
      -                "bell",
      -                "megaphone",
      -                "trending-up",
      -                "chart",
      -                "refresh",
      -                "lock",
      -                "key",
      -                "ticket",
      -                "users",
      -                "academic-cap",
      -                "book",
      -                "music",
      -                "video",
      -                "document",
      -                "download",
      -                "mobile",
      -                "camera",
      -                "paint-brush",
      -                "puzzle",
      -                "cube",
      -                "globe",
      -                "map-pin",
      -                "storefront",
      -                "tools",
      -                "beaker",
      -                "lifebuoy",
      -                "chat",
      -                "envelope",
      -                "phone",
      -                "cake",
      -                "scale",
      -                "eye"
      -              ],
      -              "example": "star",
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "Optional icon shown before the badge text."
      -        },
      -        "billingType": {
      -          "description": "Billing type. Immutable once the price exists (see the pricing-type identity lock).",
      -          "enum": [
      -            "one_time",
      -            "recurring"
      -          ],
      -          "example": "one_time",
      -          "type": "string"
      -        },
      -        "currency": {
      -          "description": "Lowercase ISO 4217 currency code.",
      -          "example": "usd",
      -          "type": "string"
      -        },
      -        "discountedFromPrice": {
      -          "description": "Original price before discount, in cents.",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "enabled": {
      -          "description": "Whether this price is selectable by customers.",
      -          "type": "boolean"
      -        },
      -        "hidden": {
      -          "description": "Hide this price. Hidden prices can still be shown using query parameters.",
      -          "type": [
      -            "boolean",
      -            "null"
      -          ]
      -        },
      -        "id": {
      -          "description": "Unique price identifier.",
      -          "example": "507f1f77bcf86cd799439011",
      -          "type": "string"
      -        },
      -        "isDefault": {
      -          "description": "Whether checkout pre-selects this price: the entry `defaultPriceId` names. False on every price when the product has several prices and no default.",
      -          "type": "boolean"
      -        },
      -        "label": {
      -          "description": "Optional seller-facing label (e.g. \"Monthly\", \"Annual\").",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "order": {
      -          "description": "Dashboard display order.",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "payWhatYouWant": {
      -          "description": "Whether pay-what-you-want pricing is enabled.",
      -          "type": [
      -            "boolean",
      -            "null"
      -          ]
      -        },
      -        "paymentPlan": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "billingCycleAnchorConfig": {
      -                  "anyOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "dayOfMonth": {
      -                          "anyOf": [
      -                            {
      -                              "maximum": 31,
      -                              "minimum": 1,
      -                              "type": "number"
      -                            },
      -                            {
      -                              "type": "null"
      -                            }
      -                          ],
      -                          "description": "Day of month the billing cycle is anchored to."
      -                        },
      -                        "enabled": {
      -                          "type": [
      -                            "boolean",
      -                            "null"
      -                          ]
      -                        },
      -                        "month": {
      -                          "anyOf": [
      -                            {
      -                              "maximum": 12,
      -                              "minimum": 1,
      -                              "type": "number"
      -                            },
      -                            {
      -                              "type": "null"
      -                            }
      -                          ]
      -                        }
      -                      },
      -                      "type": "object"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "interval": {
      -                  "anyOf": [
      -                    {
      -                      "enum": [
      -                        "day",
      -                        "week",
      -                        "month",
      -                        "year"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "Billing interval (day, week, month, year).",
      -                  "example": "month"
      -                },
      -                "intervalCount": {
      -                  "description": "Number of intervals between billings.",
      -                  "example": 1,
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "planIterations": {
      -                  "description": "Number of billing cycles after which the plan completes.",
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "startDate": {
      -                  "anyOf": [
      -                    {
      -                      "format": "date-time",
      -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "The date on which the subscription begins."
      -                },
      -                "trialPeriodDays": {
      -                  "description": "Trial period in days.",
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "Payment plan configuration — recurring billing that completes after `planIterations` cycles. Never present together with recurring."
      -        },
      -        "pwywSuggestedPrice": {
      -          "description": "Suggested price in cents for PWYW prices.",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "recurring": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "billingCycleAnchorConfig": {
      -                  "anyOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "dayOfMonth": {
      -                          "anyOf": [
      -                            {
      -                              "maximum": 31,
      -                              "minimum": 1,
      -                              "type": "number"
      -                            },
      -                            {
      -                              "type": "null"
      -                            }
      -                          ],
      -                          "description": "Day of month the billing cycle is anchored to."
      -                        },
      -                        "enabled": {
      -                          "type": [
      -                            "boolean",
      -                            "null"
      -                          ]
      -                        },
      -                        "month": {
      -                          "anyOf": [
      -                            {
      -                              "maximum": 12,
      -                              "minimum": 1,
      -                              "type": "number"
      -                            },
      -                            {
      -                              "type": "null"
      -                            }
      -                          ]
      -                        }
      -                      },
      -                      "type": "object"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "interval": {
      -                  "anyOf": [
      -                    {
      -                      "enum": [
      -                        "day",
      -                        "week",
      -                        "month",
      -                        "year"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "Billing interval (day, week, month, year).",
      -                  "example": "month"
      -                },
      -                "intervalCount": {
      -                  "description": "Number of intervals between billings.",
      -                  "example": 1,
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "startDate": {
      -                  "anyOf": [
      -                    {
      -                      "format": "date-time",
      -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "The date on which the subscription begins."
      -                },
      -                "trialPeriodDays": {
      -                  "description": "Trial period in days.",
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "Recurring billing configuration. Never present together with paymentPlan."
      -        },
      -        "reference": {
      -          "description": "Merchant-facing internal id used in exports and reports (e.g. `price_one_time_fixed_5000`).",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "setupFee": {
      -          "description": "One-time setup fee in cents.",
      -          "type": [
      -            "number",
      -            "null"
      -          ]
      -        },
      -        "setupFeeMultipliesWithQuantity": {
      -          "type": [
      -            "boolean",
      -            "null"
      -          ]
      -        }
      -      },
      -      "required": [
      -        "amount",
      -        "currency",
      -        "id",
      -        "enabled",
      -        "isDefault",
      -        "billingType"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "description": "A single price entry on a multi-price product.",
      +      "properties": {
      +        "amount": {
      +          "description": "Price in smallest currency unit (cents).",
      +          "example": 4900,
      +          "type": "number"
      +        },
      +        "badge": {
      +          "description": "Optional short label shown over the price card.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "badgeIcon": {
      +          "anyOf": [
      +            {
      +              "description": "Icon shown before the badge text.",
      +              "enum": [
      +                "star",
      +                "sparkles",
      +                "fire",
      +                "bolt",
      +                "rocket",
      +                "trophy",
      +                "check",
      +                "x-mark",
      +                "plus",
      +                "arrow-right",
      +                "check-badge",
      +                "check-circle",
      +                "shield-check",
      +                "thumbs-up",
      +                "heart",
      +                "smile",
      +                "light-bulb",
      +                "sun",
      +                "moon",
      +                "gift",
      +                "tag",
      +                "percent",
      +                "dollar",
      +                "banknotes",
      +                "credit-card",
      +                "shopping-bag",
      +                "shopping-cart",
      +                "truck",
      +                "clock",
      +                "calendar",
      +                "bell",
      +                "megaphone",
      +                "trending-up",
      +                "chart",
      +                "refresh",
      +                "lock",
      +                "key",
      +                "ticket",
      +                "users",
      +                "academic-cap",
      +                "book",
      +                "music",
      +                "video",
      +                "document",
      +                "download",
      +                "mobile",
      +                "camera",
      +                "paint-brush",
      +                "puzzle",
      +                "cube",
      +                "globe",
      +                "map-pin",
      +                "storefront",
      +                "tools",
      +                "beaker",
      +                "lifebuoy",
      +                "chat",
      +                "envelope",
      +                "phone",
      +                "cake",
      +                "scale",
      +                "eye"
      +              ],
      +              "example": "star",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Optional icon shown before the badge text."
      +        },
      +        "billingType": {
      +          "description": "Billing type. Immutable once the price exists (see the pricing-type identity lock).",
      +          "enum": [
      +            "one_time",
      +            "recurring"
      +          ],
      +          "example": "one_time",
      +          "type": "string"
      +        },
      +        "currency": {
      +          "description": "Lowercase ISO 4217 currency code.",
      +          "example": "usd",
      +          "type": "string"
      +        },
      +        "discountedFromPrice": {
      +          "description": "Original price before discount, in cents.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "enabled": {
      +          "description": "Whether this price is selectable by customers.",
      +          "type": "boolean"
      +        },
      +        "hidden": {
      +          "description": "Hide this price. Hidden prices can still be shown using query parameters.",
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "id": {
      +          "description": "Unique price identifier.",
      +          "example": "507f1f77bcf86cd799439011",
      +          "type": "string"
      +        },
      +        "isDefault": {
      +          "description": "Whether checkout pre-selects this price: the entry `defaultPriceId` names. False on every price when the product has several prices and no default.",
      +          "type": "boolean"
      +        },
      +        "label": {
      +          "description": "Optional seller-facing label (e.g. \"Monthly\", \"Annual\").",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "order": {
      +          "description": "Dashboard display order.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "payWhatYouWant": {
      +          "description": "Whether pay-what-you-want pricing is enabled.",
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "paymentPlan": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "billingCycleAnchorConfig": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "dayOfMonth": {
      +                          "anyOf": [
      +                            {
      +                              "maximum": 31,
      +                              "minimum": 1,
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ],
      +                          "description": "Day of month the billing cycle is anchored to."
      +                        },
      +                        "enabled": {
      +                          "type": [
      +                            "boolean",
      +                            "null"
      +                          ]
      +                        },
      +                        "month": {
      +                          "anyOf": [
      +                            {
      +                              "maximum": 12,
      +                              "minimum": 1,
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        }
      +                      },
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "interval": {
      +                  "anyOf": [
      +                    {
      +                      "enum": [
      +                        "day",
      +                        "week",
      +                        "month",
      +                        "year"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "Billing interval (day, week, month, year).",
      +                  "example": "month"
      +                },
      +                "intervalCount": {
      +                  "description": "Number of intervals between billings.",
      +                  "example": 1,
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "planIterations": {
      +                  "description": "Number of billing cycles after which the plan completes.",
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "startDate": {
      +                  "anyOf": [
      +                    {
      +                      "format": "date-time",
      +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "The date on which the subscription begins."
      +                },
      +                "trialPeriodDays": {
      +                  "description": "Trial period in days.",
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Payment plan configuration — recurring billing that completes after `planIterations` cycles. Never present together with recurring."
      +        },
      +        "pwywSuggestedPrice": {
      +          "description": "Suggested price in cents for PWYW prices.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "recurring": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "billingCycleAnchorConfig": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "dayOfMonth": {
      +                          "anyOf": [
      +                            {
      +                              "maximum": 31,
      +                              "minimum": 1,
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ],
      +                          "description": "Day of month the billing cycle is anchored to."
      +                        },
      +                        "enabled": {
      +                          "type": [
      +                            "boolean",
      +                            "null"
      +                          ]
      +                        },
      +                        "month": {
      +                          "anyOf": [
      +                            {
      +                              "maximum": 12,
      +                              "minimum": 1,
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        }
      +                      },
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "interval": {
      +                  "anyOf": [
      +                    {
      +                      "enum": [
      +                        "day",
      +                        "week",
      +                        "month",
      +                        "year"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "Billing interval (day, week, month, year).",
      +                  "example": "month"
      +                },
      +                "intervalCount": {
      +                  "description": "Number of intervals between billings.",
      +                  "example": 1,
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "startDate": {
      +                  "anyOf": [
      +                    {
      +                      "format": "date-time",
      +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "The date on which the subscription begins."
      +                },
      +                "trialPeriodDays": {
      +                  "description": "Trial period in days.",
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Recurring billing configuration. Never present together with paymentPlan."
      +        },
      +        "reference": {
      +          "description": "Stable label for this price, sent to exports, Zapier, Google Sheets and webhooks as `priceReference`. A generated reference can contain the amount the price was created with, such as `price_one_time_fixed_5000`. It is not updated when the amount changes, and does not need to be.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "setupFee": {
      +          "description": "One-time setup fee in cents.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "setupFeeMultipliesWithQuantity": {
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "amount",
      +        "currency",
      +        "id",
      +        "enabled",
      +        "isDefault",
      +        "billingType"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true/destructiveHint=false, and the description is consistent ('Read-only'). Beyond annotations it adds real behavior: ordering (newest first) and pagination with cursors. It doesn't state default page size or what the response looks like, but the output schema covers the latter.

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?

Two sentences, front-loaded with purpose, then the filtering/alternative hint. No filler; the 'Read-only' tag is the only near-redundancy with annotations.

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?

With 100% schema coverage, a full output schema, and annotations covering safety, the description supplies order, scope, and the one non-obvious cross-tool relationship. Nothing an agent needs to select or invoke it correctly is missing.

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 3. The description adds value beyond the schema by tying `role: orderbump` to create_order_bump and noting page products are reachable from their page — a cross-parameter relationship the schema doesn't express.

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 gives a specific verb and resource ('Retrieve a paginated list of your products') plus ordering ('newest first'), which immediately separates it from get_product (single) and list_order_bumps (a different resource listing). An agent can identify the tool's function without opening the 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?

It explicitly routes one use case: filter with `role: orderbump` to find products offerable via create_order_bump. That is concrete when-to-use guidance with a named sibling. It doesn't cover other alternatives (get_product, list_order_bumps) or the `product` role case in the description, so it falls short of full when/when-not coverage.

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