Skip to main content
Glama

Choose products

choose_products
Read-onlyIdempotent

Presents open product choices side by side with photos so users can pick one candidate per decision; leaves the cart unchanged and handles up to 10 decisions in one call.

Instructions

Show the user the open choices of a request side by side, with photos where the client supports it, so they pick one product for each. Use it only when the user must decide between candidates, such as two milks or 500 g against 1 kg; settle everything else yourself (favorites, usual purchases, cheapest per kg). Put all open choices of a list in one call, at most 10, each with 2 to 4 candidates and your suggestion. It changes nothing: the choices come back as a chat message, then change the cart with set_cart_item_quantity.

Input Schema

NameRequiredDescriptionDefault
decisionsYesEvery open choice of the request, at most 10, shown together in one picker.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.12.1
    • changedOutput schema / properties / result / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "data": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "decisions": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "failures": {
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "error": {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "code": {
      -                            "enum": [
      -                              "invalid_data",
      -                              "invalid_input",
      -                              "not_authenticated",
      -                              "upstream_unavailable",
      -                              "not_found",
      -                              "sale_rules_unknown",
      -                              "quantity_below_minimum",
      -                              "cart_change_rejected",
      -                              "cart_change_unconfirmed",
      -                              "cache_unavailable",
      -                              "order_details_unavailable",
      -                              "cancelled",
      -                              "deadline_exceeded",
      -                              "server_closed",
      -                              "queue_full",
      -                              "browser_unavailable"
      -                            ],
      -                            "type": "string"
      -                          },
      -                          "issues": {
      -                            "items": {
      -                              "additionalProperties": false,
      -                              "properties": {
      -                                "code": {
      -                                  "type": "string"
      -                                },
      -                                "path": {
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "path",
      -                                "code"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "type": "array"
      -                          },
      -                          "message": {
      -                            "minLength": 1,
      -                            "type": "string"
      -                          },
      -                          "retryable": {
      -                            "type": "boolean"
      -                          }
      -                        },
      -                        "required": [
      -                          "code",
      -                          "message",
      -                          "retryable"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "productId": {
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "productId",
      -                      "error"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "options": {
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "availability": {
      -                        "enum": [
      -                          "available",
      -                          "unavailable",
      -                          "unknown"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "imageUrl": {
      -                        "anyOf": [
      -                          {
      -                            "format": "uri",
      -                            "type": "string"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ]
      -                      },
      -                      "name": {
      -                        "type": "string"
      -                      },
      -                      "packageText": {
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "price": {
      -                        "anyOf": [
      -                          {
      -                            "additionalProperties": false,
      -                            "properties": {
      -                              "amount": {
      -                                "additionalProperties": false,
      -                                "properties": {
      -                                  "currency": {
      -                                    "const": "EUR",
      -                                    "type": "string"
      -                                  },
      -                                  "minorUnits": {
      -                                    "maximum": 9007199254740991,
      -                                    "minimum": 0,
      -                                    "type": "integer"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "currency",
      -                                  "minorUnits"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              "per": {
      -                                "enum": [
      -                                  "item",
      -                                  "piece",
      -                                  "kg",
      -                                  "l"
      -                                ],
      -                                "type": "string"
      -                              }
      -                            },
      -                            "required": [
      -                              "amount",
      -                              "per"
      -                            ],
      -                            "type": "object"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ]
      -                      },
      -                      "productId": {
      -                        "maxLength": 200,
      -                        "minLength": 1,
      -                        "pattern": "^\\d+$",
      -                        "type": "string"
      -                      },
      -                      "unitPrice": {
      -                        "anyOf": [
      -                          {
      -                            "additionalProperties": false,
      -                            "properties": {
      -                              "amount": {
      -                                "additionalProperties": false,
      -                                "properties": {
      -                                  "currency": {
      -                                    "const": "EUR",
      -                                    "type": "string"
      -                                  },
      -                                  "minorUnits": {
      -                                    "maximum": 9007199254740991,
      -                                    "minimum": 0,
      -                                    "type": "integer"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "currency",
      -                                  "minorUnits"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              "basis": {
      -                                "enum": [
      -                                  "drained",
      -                                  "website",
      -                                  "pack"
      -                                ],
      -                                "type": "string"
      -                              },
      -                              "per": {
      -                                "enum": [
      -                                  "kg",
      -                                  "l"
      -                                ],
      -                                "type": "string"
      -                              }
      -                            },
      -                            "required": [
      -                              "amount",
      -                              "per",
      -                              "basis"
      -                            ],
      -                            "type": "object"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ]
      -                      }
      -                    },
      -                    "required": [
      -                      "productId",
      -                      "name",
      -                      "packageText",
      -                      "price",
      -                      "unitPrice",
      -                      "availability",
      -                      "imageUrl"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "question": {
      -                  "type": "string"
      -                },
      -                "suggested": {
      -                  "anyOf": [
      -                    {
      -                      "maxLength": 200,
      -                      "minLength": 1,
      -                      "pattern": "^\\d+$",
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "question",
      -                "suggested",
      -                "options",
      -                "failures"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "observedAt": {
      -            "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "observedAt",
      -          "decisions"
      -        ],
      -        "type": "object"
      -      },
      -      "status": {
      -        "enum": [
      -          "success",
      -          "empty",
      -          "partial"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "status",
      -      "data"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "code": {
      -            "anyOf": [
      -              {
      -                "enum": [
      -                  "invalid_data",
      -                  "invalid_input",
      -                  "not_authenticated",
      -                  "upstream_unavailable",
      -                  "not_found",
      -                  "sale_rules_unknown",
      -                  "quantity_below_minimum",
      -                  "cart_change_rejected",
      -                  "cart_change_unconfirmed",
      -                  "cache_unavailable",
      -                  "order_details_unavailable",
      -                  "cancelled",
      -                  "deadline_exceeded",
      -                  "server_closed",
      -                  "queue_full",
      -                  "browser_unavailable"
      -                ],
      -                "type": "string"
      -              },
      -              {
      -                "enum": [
      -                  "internal_error",
      -                  "invalid_result"
      -                ],
      -                "type": "string"
      -              }
      -            ]
      -          },
      -          "issues": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "code": {
      -                  "type": "string"
      -                },
      -                "path": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "path",
      -                "code"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "message": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "retryable": {
      -            "type": "boolean"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message",
      -          "retryable"
      -        ],
      -        "type": "object"
      -      },
      -      "mutation": {
      -        "oneOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "outcome": {
      -                "const": "not_applied",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "outcome"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "outcome": {
      -                "const": "unknown",
      -                "type": "string"
      -              },
      -              "recovery": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "action": {
      -                    "const": "get_cart",
      -                    "type": "string"
      -                  },
      -                  "automaticReplay": {
      -                    "const": false,
      -                    "type": "boolean"
      -                  }
      -                },
      -                "required": [
      -                  "action",
      -                  "automaticReplay"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "outcome",
      -              "recovery"
      -            ],
      -            "type": "object"
      -          }
      -        ]
      -      },
      -      "signIn": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "action": {
      -            "enum": [
      -              "configure_credentials",
      -              "check_credentials_or_sign_in"
      -            ],
      -            "type": "string"
      -          },
      -          "command": {
      -            "const": "continentept-mcp login --show-browser",
      -            "type": "string"
      -          },
      -          "credentials": {
      -            "enum": [
      -              "configured",
      -              "missing",
      -              "unknown"
      -            ],
      -            "type": "string"
      -          },
      -          "guide": {
      -            "format": "uri",
      -            "type": "string"
      -          },
      -          "publicTools": {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "settings": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "claudeDesktopExtension": {
      -                "items": false,
      -                "maxItems": 2,
      -                "minItems": 2,
      -                "prefixItems": [
      -                  {
      -                    "const": "email",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "const": "password",
      -                    "type": "string"
      -                  }
      -                ],
      -                "type": "array"
      -              },
      -              "environment": {
      -                "items": false,
      -                "maxItems": 2,
      -                "minItems": 2,
      -                "prefixItems": [
      -                  {
      -                    "const": "CONTINENTE_EMAIL",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "const": "CONTINENTE_PASSWORD",
      -                    "type": "string"
      -                  }
      -                ],
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "environment",
      -              "claudeDesktopExtension"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "credentials",
      -          "action",
      -          "settings",
      -          "command",
      -          "guide",
      -          "publicTools"
      -        ],
      -        "type": "object"
      -      },
      -      "status": {
      -        "const": "error",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "status",
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "data": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "decisions": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "failures": {
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "error": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "code": {
      +                            "enum": [
      +                              "invalid_data",
      +                              "invalid_input",
      +                              "not_authenticated",
      +                              "upstream_unavailable",
      +                              "not_found",
      +                              "sale_rules_unknown",
      +                              "quantity_below_minimum",
      +                              "cart_change_rejected",
      +                              "cart_change_unconfirmed",
      +                              "cache_unavailable",
      +                              "order_details_unavailable",
      +                              "cancelled",
      +                              "deadline_exceeded",
      +                              "server_closed",
      +                              "queue_full",
      +                              "browser_unavailable"
      +                            ],
      +                            "type": "string"
      +                          },
      +                          "issues": {
      +                            "items": {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "code": {
      +                                  "type": "string"
      +                                },
      +                                "path": {
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "path",
      +                                "code"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "type": "array"
      +                          },
      +                          "message": {
      +                            "minLength": 1,
      +                            "type": "string"
      +                          },
      +                          "retryable": {
      +                            "type": "boolean"
      +                          }
      +                        },
      +                        "required": [
      +                          "code",
      +                          "message",
      +                          "retryable"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "productId": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "productId",
      +                      "error"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "options": {
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "availability": {
      +                        "enum": [
      +                          "available",
      +                          "unavailable",
      +                          "unknown"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "imageUrl": {
      +                        "anyOf": [
      +                          {
      +                            "format": "uri",
      +                            "type": "string"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ]
      +                      },
      +                      "name": {
      +                        "type": "string"
      +                      },
      +                      "packageText": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "price": {
      +                        "anyOf": [
      +                          {
      +                            "additionalProperties": false,
      +                            "properties": {
      +                              "amount": {
      +                                "additionalProperties": false,
      +                                "properties": {
      +                                  "currency": {
      +                                    "const": "EUR",
      +                                    "type": "string"
      +                                  },
      +                                  "minorUnits": {
      +                                    "maximum": 9007199254740991,
      +                                    "minimum": 0,
      +                                    "type": "integer"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "currency",
      +                                  "minorUnits"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "per": {
      +                                "enum": [
      +                                  "item",
      +                                  "piece",
      +                                  "kg",
      +                                  "l"
      +                                ],
      +                                "type": "string"
      +                              }
      +                            },
      +                            "required": [
      +                              "amount",
      +                              "per"
      +                            ],
      +                            "type": "object"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ]
      +                      },
      +                      "productId": {
      +                        "maxLength": 200,
      +                        "minLength": 1,
      +                        "pattern": "^\\d+$",
      +                        "type": "string"
      +                      },
      +                      "unitPrice": {
      +                        "anyOf": [
      +                          {
      +                            "additionalProperties": false,
      +                            "properties": {
      +                              "amount": {
      +                                "additionalProperties": false,
      +                                "properties": {
      +                                  "currency": {
      +                                    "const": "EUR",
      +                                    "type": "string"
      +                                  },
      +                                  "minorUnits": {
      +                                    "maximum": 9007199254740991,
      +                                    "minimum": 0,
      +                                    "type": "integer"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "currency",
      +                                  "minorUnits"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "basis": {
      +                                "enum": [
      +                                  "drained",
      +                                  "website",
      +                                  "pack"
      +                                ],
      +                                "type": "string"
      +                              },
      +                              "per": {
      +                                "enum": [
      +                                  "kg",
      +                                  "l"
      +                                ],
      +                                "type": "string"
      +                              }
      +                            },
      +                            "required": [
      +                              "amount",
      +                              "per",
      +                              "basis"
      +                            ],
      +                            "type": "object"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ]
      +                      }
      +                    },
      +                    "required": [
      +                      "productId",
      +                      "name",
      +                      "packageText",
      +                      "price",
      +                      "unitPrice",
      +                      "availability",
      +                      "imageUrl"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "question": {
      +                  "type": "string"
      +                },
      +                "suggested": {
      +                  "anyOf": [
      +                    {
      +                      "maxLength": 200,
      +                      "minLength": 1,
      +                      "pattern": "^\\d+$",
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "question",
      +                "suggested",
      +                "options",
      +                "failures"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "observedAt": {
      +            "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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "observedAt",
      +          "decisions"
      +        ],
      +        "type": "object"
      +      },
      +      "status": {
      +        "enum": [
      +          "success",
      +          "empty",
      +          "partial"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "code": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "invalid_data",
      +                  "invalid_input",
      +                  "not_authenticated",
      +                  "upstream_unavailable",
      +                  "not_found",
      +                  "sale_rules_unknown",
      +                  "quantity_below_minimum",
      +                  "cart_change_rejected",
      +                  "cart_change_unconfirmed",
      +                  "cache_unavailable",
      +                  "order_details_unavailable",
      +                  "cancelled",
      +                  "deadline_exceeded",
      +                  "server_closed",
      +                  "queue_full",
      +                  "browser_unavailable"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "enum": [
      +                  "internal_error",
      +                  "invalid_result"
      +                ],
      +                "type": "string"
      +              }
      +            ]
      +          },
      +          "issues": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "code": {
      +                  "type": "string"
      +                },
      +                "path": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "path",
      +                "code"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "message": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "retryable": {
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message",
      +          "retryable"
      +        ],
      +        "type": "object"
      +      },
      +      "mutation": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "outcome": {
      +                "const": "not_applied",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "outcome"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "outcome": {
      +                "const": "unknown",
      +                "type": "string"
      +              },
      +              "recovery": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "action": {
      +                    "const": "get_cart",
      +                    "type": "string"
      +                  },
      +                  "automaticReplay": {
      +                    "const": false,
      +                    "type": "boolean"
      +                  }
      +                },
      +                "required": [
      +                  "action",
      +                  "automaticReplay"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "outcome",
      +              "recovery"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      },
      +      "signIn": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "action": {
      +            "enum": [
      +              "configure_credentials",
      +              "check_credentials_or_sign_in",
      +              "confirm_not_a_robot"
      +            ],
      +            "type": "string"
      +          },
      +          "command": {
      +            "const": "continentept-mcp login --show-browser",
      +            "type": "string"
      +          },
      +          "credentials": {
      +            "enum": [
      +              "configured",
      +              "missing",
      +              "unknown"
      +            ],
      +            "type": "string"
      +          },
      +          "guide": {
      +            "format": "uri",
      +            "type": "string"
      +          },
      +          "publicTools": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "settings": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "claudeDesktopExtension": {
      +                "items": false,
      +                "maxItems": 2,
      +                "minItems": 2,
      +                "prefixItems": [
      +                  {
      +                    "const": "email",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "const": "password",
      +                    "type": "string"
      +                  }
      +                ],
      +                "type": "array"
      +              },
      +              "environment": {
      +                "items": false,
      +                "maxItems": 2,
      +                "minItems": 2,
      +                "prefixItems": [
      +                  {
      +                    "const": "CONTINENTE_EMAIL",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "const": "CONTINENTE_PASSWORD",
      +                    "type": "string"
      +                  }
      +                ],
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "environment",
      +              "claudeDesktopExtension"
      +            ],
      +            "type": "object"
      +          },
      +          "signInWindow": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "opened",
      +                  "already_open",
      +                  "not_available"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "credentials",
      +          "action",
      +          "signInWindow",
      +          "settings",
      +          "command",
      +          "guide",
      +          "publicTools"
      +        ],
      +        "type": "object"
      +      },
      +      "status": {
      +        "const": "error",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Addedv0.10.0

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses the actual mechanism: nothing is mutated, the choices surface as a chat message, and the cart is changed separately with set_cart_item_quantity. It also flags a client-dependent behavior (photos shown only where the client supports it) and the batching limits, which annotations cannot express.

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 purpose, then the usage rule and the exclusion, then the side-effect clarification and the follow-up tool. Roughly 90 words with no filler; each clause (photos, batch caps, suggestion, next tool) carries actionable information.

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?

Covers purpose, trigger conditions, batching constraints, and the non-mutating return channel; an output schema exists so return-value detail is unnecessary. An agent has everything it needs to decide to call this instead of resolving the choice itself.

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% and the per-field descriptions are already rich, so the baseline is 3. The description adds semantics the schema does not: one call should carry all open choices of a list (max 10), each decision is 2–4 candidates, and a suggestion must accompany each — clarifying intent rather than duplicating structure.

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 and resource ('Show the user the open choices ... side by side') and the goal ('so they pick one product for each'). It is clearly separable from siblings: it presents candidates rather than searching (search_products) or mutating the cart (set_cart_item_quantity, which it names).

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?

Gives an explicit when-to-use rule ('only when the user must decide between candidates, such as two milks or 500 g against 1 kg') plus an explicit when-not clause ('settle everything else yourself: favorites, usual purchases, cheapest per kg'). It also points to the sibling that performs the resulting cart change, so the agent knows both the trigger and the follow-up.

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