Skip to main content
Glama

Ręczniki Haftowane

get_product_options

Read-onlyIdempotent

Skład produktu (contents): przedmioty, ilości, positions (1-based), customizable i liczba kolorów. Wzory dla pozycji z design_category_id wybieraj z list_designs, których categories zawiera tę kategorię. Kolory pobierz przez list_colors dopiero przy wyborze koloru, podając asset_type_id. Dostawa, terminy i materiał: get_shop_policies. Ceny: *_minor (grosze), formatted (PLN); regular_price tylko w promocji. Po link z wyborami użyj get_creator_link.

Input Schema

NameRequiredDescriptionDefault
product_idYes

Output Schema

NameRequiredDescriptionDefault
idNo
nameNo
errorNoTylko przy isError: { code, message, ... }
contentsNo
currencyNoKod waluty, zawsze PLN
creator_urlNo
price_minorNoAktualna cena w groszach (PLN), liczba całkowita; null gdy brak
price_formattedNoAktualna cena jako tekst w PLN, np. „339,00 zł”; null gdy brak
text_max_lengthNoMaksymalna długość tekstu haftu (znaki)
regular_price_minorNoCena regularna (tylko w promocji) w groszach (PLN), liczba całkowita; null gdy brak
regular_price_formattedNoCena regularna (tylko w promocji) jako tekst w PLN, np. „339,00 zł”; null gdy brak

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / error / properties / details
      Added value: +{
      +  "description": "Powody odrzucenia kolorów (invalid_input z get_creator_link)",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "allowed_option_ids": {
      +        "description": "Aktywne option_id typu slotu; wybierz jedno z nich",
      +        "items": {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        },
      +        "type": "array"
      +      },
      +      "asset_type_id": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "field": {
      +        "description": "Np. slots[0].option_id",
      +        "type": "string"
      +      },
      +      "given": {
      +        "description": "Podany option_id",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "reason": {
      +        "enum": [
      +          "unknown_option",
      +          "inactive",
      +          "type_mismatch",
      +          "slot_out_of_range",
      +          "no_color_choice"
      +        ],
      +        "type": "string"
      +      },
      +      "slot_position": {
      +        "description": "Pozycja slotu 1-based",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "field",
      +      "slot_position",
      +      "asset_type_id",
      +      "reason",
      +      "given",
      +      "allowed_option_ids",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • addedOutput schema / properties / error / properties / hint
      Added value: +{
      +  "description": "Wskazówka naprawy (invalid_input), np. lista nieznanych tagów",
      +  "type": "string"
      +}
  3. Changed4 schema fields changed
    • addedOutput schema / properties / error / properties / cause
      Added value: +{
      +  "pattern": "^(timeout|http_\\d{3}|matomo_error|invalid_response|not_configured|matomo_method_unavailable)$",
      +  "type": "string"
      +}
    • changedOutput schema / properties / error / properties / code / enum
      Previous value: -[
      -  "invalid_input",
      -  "not_found",
      -  "shop_unavailable"
      -]New value: +[
      +  "invalid_input",
      +  "not_found",
      +  "shop_unavailable",
      +  "analytics_unavailable"
      +]
    • changedOutput schema / properties / error / properties / retry_after_seconds / description
      Previous value: -"Po ilu sekundach ponowić żądanie (shop_unavailable)"New value: +"Po ilu sekundach ponowić żądanie (niedostępność źródła)"
    • addedOutput schema / properties / error / properties / status
      Added value: +{
      +  "description": "Status błędu analityki; report_unavailable oznacza brak raportu/konfiguracji",
      +  "enum": [
      +    "report_unavailable",
      +    "error"
      +  ],
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • addedOutput schema / properties / contents / items / properties / design_category_id
      Added value: +{
      +  "description": "Wzory dla tej pozycji wybieraj z list_designs, których categories zawiera tę kategorię",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
  5. Changed10 schema fields changed
    • addedOutput schema / properties / contents
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "asset_type_id": {
      +        "description": "Parametr list_colors, tylko gdy colors > 1",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "colors": {
      +        "description": "Liczba kolorów, tylko dla customizable",
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "customizable": {
      +        "type": "boolean"
      +      },
      +      "disabled": {
      +        "description": "Wyłączone elementy haftu; brak = wszystkie dostępne",
      +        "items": {
      +          "enum": [
      +            "drawing",
      +            "text",
      +            "thread",
      +            "font"
      +          ],
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "item": {
      +        "description": "Nazwa i rozmiar przedmiotu",
      +        "type": "string"
      +      },
      +      "positions": {
      +        "description": "Numery slotów 1..n; slots[n-1] w get_creator_link",
      +        "items": {
      +          "maximum": 9007199254740991,
      +          "minimum": 1,
      +          "type": "integer"
      +        },
      +        "type": "array"
      +      },
      +      "quantity": {
      +        "maximum": 9007199254740991,
      +        "minimum": 1,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "item",
      +      "quantity",
      +      "positions",
      +      "customizable"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / dimensions
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / is_on_sale
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedOutput schema / properties / lead_time
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "additionalProperties": {},
      -          "propertyNames": {
      -            "type": "string"
      -          },
      -          "type": "object"
      -        }
      -      ]
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "Czas realizacji (tekst lub obiekt z etykietami z API sklepu)"
      -}
    • removedOutput schema / properties / material
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • changedOutput schema / properties / regular_price_formatted / description
      Previous value: -"Cena regularna jako tekst w PLN, np. „339,00 zł”; null gdy brak"New value: +"Cena regularna (tylko w promocji) jako tekst w PLN, np. „339,00 zł”; null gdy brak"
    • changedOutput schema / properties / regular_price_minor / description
      Previous value: -"Cena regularna w groszach (PLN), liczba całkowita; null gdy brak"New value: +"Cena regularna (tylko w promocji) w groszach (PLN), liczba całkowita; null gdy brak"
    • removedOutput schema / properties / shipping
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": false,
      -      "properties": {
      -        "cheapest_price_formatted": {
      -          "anyOf": [
      -            {
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "Najtańsza wysyłka jako tekst w PLN, np. „339,00 zł”; null gdy brak"
      -        },
      -        "cheapest_price_minor": {
      -          "anyOf": [
      -            {
      -              "maximum": 9007199254740991,
      -              "minimum": -9007199254740991,
      -              "type": "integer"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "Najtańsza wysyłka w groszach (PLN), liczba całkowita; null gdy brak"
      -        },
      -        "currency": {
      -          "type": "string"
      -        },
      -        "free_shipping_threshold_formatted": {
      -          "anyOf": [
      -            {
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "Próg darmowej wysyłki jako tekst w PLN, np. „339,00 zł”; null gdy brak"
      -        },
      -        "free_shipping_threshold_minor": {
      -          "anyOf": [
      -            {
      -              "maximum": 9007199254740991,
      -              "minimum": -9007199254740991,
      -              "type": "integer"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "Próg darmowej wysyłki w groszach (PLN), liczba całkowita; null gdy brak"
      -        },
      -        "methods": {
      -          "items": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "description": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "name": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "price_formatted": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "description": "Koszt metody wysyłki jako tekst w PLN, np. „339,00 zł”; null gdy brak"
      -              },
      -              "price_minor": {
      -                "anyOf": [
      -                  {
      -                    "maximum": 9007199254740991,
      -                    "minimum": -9007199254740991,
      -                    "type": "integer"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "description": "Koszt metody wysyłki w groszach (PLN), liczba całkowita; null gdy brak"
      -              },
      -              "type": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "name",
      -              "type",
      -              "description",
      -              "price_minor",
      -              "price_formatted"
      -            ],
      -            "type": "object"
      -          },
      -          "type": "array"
      -        }
      -      },
      -      "required": [
      -        "currency",
      -        "cheapest_price_minor",
      -        "cheapest_price_formatted",
      -        "free_shipping_threshold_minor",
      -        "free_shipping_threshold_formatted",
      -        "methods"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / slots
      Removed value: -{
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "allows": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "color": {
      -            "type": "boolean"
      -          },
      -          "drawing": {
      -            "type": "boolean"
      -          },
      -          "font": {
      -            "type": "boolean"
      -          },
      -          "text": {
      -            "type": "boolean"
      -          },
      -          "thread": {
      -            "type": "boolean"
      -          }
      -        },
      -        "required": [
      -          "color",
      -          "drawing",
      -          "text",
      -          "thread",
      -          "font"
      -        ],
      -        "type": "object"
      -      },
      -      "customizable": {
      -        "type": "boolean"
      -      },
      -      "name": {
      -        "type": "string"
      -      },
      -      "options": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "color_hex": {
      -              "anyOf": [
      -                {
      -                  "pattern": "^#[0-9A-Fa-f]{6}$",
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Kolor w formacie #RRGGBB lub null"
      -            },
      -            "id": {
      -              "maximum": 9007199254740991,
      -              "minimum": -9007199254740991,
      -              "type": "integer"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "price_premium_formatted": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Dopłata za opcję jako tekst w PLN, np. „339,00 zł”; null gdy brak"
      -            },
      -            "price_premium_minor": {
      -              "anyOf": [
      -                {
      -                  "maximum": 9007199254740991,
      -                  "minimum": -9007199254740991,
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Dopłata za opcję w groszach (PLN), liczba całkowita; null gdy brak"
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "name",
      -            "color_hex",
      -            "price_premium_minor",
      -            "price_premium_formatted"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "position": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "name",
      -      "position",
      -      "customizable",
      -      "allows",
      -      "options"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / tracked_creator_url
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "format": "uri",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "URL z parametrami UTM do mierzenia ruchu z asystenta AI; null, gdy śledzone linki są wyłączone (MCP_TRACKED_URLS=0)"
      -}
  6. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "creator_url": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "currency": {
      +      "description": "Kod waluty, zawsze PLN",
      +      "type": "string"
      +    },
      +    "dimensions": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "error": {
      +      "additionalProperties": false,
      +      "description": "Tylko przy isError: { code, message, ... }",
      +      "properties": {
      +        "code": {
      +          "enum": [
      +            "invalid_input",
      +            "not_found",
      +            "shop_unavailable"
      +          ],
      +          "type": "string"
      +        },
      +        "correlation_id": {
      +          "description": "Identyfikator do zgłoszenia problemu (shop_unavailable)",
      +          "type": "string"
      +        },
      +        "fields": {
      +          "description": "Nazwy błędnych parametrów (invalid_input)",
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "message": {
      +          "type": "string"
      +        },
      +        "retry_after_seconds": {
      +          "description": "Po ilu sekundach ponowić żądanie (shop_unavailable)",
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message"
      +      ],
      +      "type": "object"
      +    },
      +    "id": {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "is_on_sale": {
      +      "type": "boolean"
      +    },
      +    "lead_time": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "additionalProperties": {},
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Czas realizacji (tekst lub obiekt z etykietami z API sklepu)"
      +    },
      +    "material": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "price_formatted": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Aktualna cena jako tekst w PLN, np. „339,00 zł”; null gdy brak"
      +    },
      +    "price_minor": {
      +      "anyOf": [
      +        {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Aktualna cena w groszach (PLN), liczba całkowita; null gdy brak"
      +    },
      +    "regular_price_formatted": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Cena regularna jako tekst w PLN, np. „339,00 zł”; null gdy brak"
      +    },
      +    "regular_price_minor": {
      +      "anyOf": [
      +        {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Cena regularna w groszach (PLN), liczba całkowita; null gdy brak"
      +    },
      +    "shipping": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "cheapest_price_formatted": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Najtańsza wysyłka jako tekst w PLN, np. „339,00 zł”; null gdy brak"
      +            },
      +            "cheapest_price_minor": {
      +              "anyOf": [
      +                {
      +                  "maximum": 9007199254740991,
      +                  "minimum": -9007199254740991,
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Najtańsza wysyłka w groszach (PLN), liczba całkowita; null gdy brak"
      +            },
      +            "currency": {
      +              "type": "string"
      +            },
      +            "free_shipping_threshold_formatted": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Próg darmowej wysyłki jako tekst w PLN, np. „339,00 zł”; null gdy brak"
      +            },
      +            "free_shipping_threshold_minor": {
      +              "anyOf": [
      +                {
      +                  "maximum": 9007199254740991,
      +                  "minimum": -9007199254740991,
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Próg darmowej wysyłki w groszach (PLN), liczba całkowita; null gdy brak"
      +            },
      +            "methods": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "description": {
      +                    "anyOf": [
      +                      {
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "name": {
      +                    "anyOf": [
      +                      {
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "price_formatted": {
      +                    "anyOf": [
      +                      {
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ],
      +                    "description": "Koszt metody wysyłki jako tekst w PLN, np. „339,00 zł”; null gdy brak"
      +                  },
      +                  "price_minor": {
      +                    "anyOf": [
      +                      {
      +                        "maximum": 9007199254740991,
      +                        "minimum": -9007199254740991,
      +                        "type": "integer"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ],
      +                    "description": "Koszt metody wysyłki w groszach (PLN), liczba całkowita; null gdy brak"
      +                  },
      +                  "type": {
      +                    "anyOf": [
      +                      {
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "name",
      +                  "type",
      +                  "description",
      +                  "price_minor",
      +                  "price_formatted"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "currency",
      +            "cheapest_price_minor",
      +            "cheapest_price_formatted",
      +            "free_shipping_threshold_minor",
      +            "free_shipping_threshold_formatted",
      +            "methods"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "slots": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "allows": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "color": {
      +                "type": "boolean"
      +              },
      +              "drawing": {
      +                "type": "boolean"
      +              },
      +              "font": {
      +                "type": "boolean"
      +              },
      +              "text": {
      +                "type": "boolean"
      +              },
      +              "thread": {
      +                "type": "boolean"
      +              }
      +            },
      +            "required": [
      +              "color",
      +              "drawing",
      +              "text",
      +              "thread",
      +              "font"
      +            ],
      +            "type": "object"
      +          },
      +          "customizable": {
      +            "type": "boolean"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "options": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "color_hex": {
      +                  "anyOf": [
      +                    {
      +                      "pattern": "^#[0-9A-Fa-f]{6}$",
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "Kolor w formacie #RRGGBB lub null"
      +                },
      +                "id": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": -9007199254740991,
      +                  "type": "integer"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "price_premium_formatted": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "Dopłata za opcję jako tekst w PLN, np. „339,00 zł”; null gdy brak"
      +                },
      +                "price_premium_minor": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 9007199254740991,
      +                      "minimum": -9007199254740991,
      +                      "type": "integer"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "Dopłata za opcję w groszach (PLN), liczba całkowita; null gdy brak"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "name",
      +                "color_hex",
      +                "price_premium_minor",
      +                "price_premium_formatted"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "position": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "position",
      +          "customizable",
      +          "allows",
      +          "options"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "text_max_length": {
      +      "anyOf": [
      +        {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Maksymalna długość tekstu haftu (znaki)"
      +    },
      +    "tracked_creator_url": {
      +      "anyOf": [
      +        {
      +          "format": "uri",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "URL z parametrami UTM do mierzenia ruchu z asystenta AI; null, gdy śledzone linki są wyłączone (MCP_TRACKED_URLS=0)"
      +    }
      +  },
      +  "type": "object"
      +}
  7. Changed1 schema field changed
    • changedInput schema / properties / product_id / minimum
      Previous value: -1New value: +-9007199254740991
  8. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered; the description instead adds semantic behavior: positions are 1-based, prices appear as *_minor in grosze and *_formatted in PLN, and regular_price_* is present only during a promotion. These are non-obvious output traits an agent would otherwise misread, though error behavior (product without options) and pagination/size limits are not mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first clause, but the rest is a semicolon-chain mixing return-value notes (positions, price units) with downstream-tool routing, in a Polish/English hybrid ('content', 'positions', 'customizable'). Every fragment is arguably useful, yet the grab-bag ordering and lack of separation make it harder to scan than a two-part 'what you get / what to use next' structure would.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 1-parameter read tool, annotations cover safety, an output schema covers structure, and the description still supplies the unit conventions and sibling routing an agent needs to act on the result. What is missing is modest: how to obtain product_id and what happens when a product has no options or no designs match its category.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is exactly one parameter (product_id, required integer) and the schema has 0% description coverage, so the description carries the burden – yet it never explains what product_id refers to or where to obtain it (presumably search_products, unstated). With a self-evident single key this is a minor gap, but the description adds nothing beyond the schema here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening clause states the resource concretely – produkt 'skład' (contents) with items, quantities, 1-based positions, customizable flag and color count – so an agent knows what it gets back for a given product. It stops short of a clean verb+resource phrasing (the verb is only in the tool name) and never explicitly says 'returns the option/composition list for product_id', but the returned content is specific enough to distinguish it from siblings like list_designs or list_colors.

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?

Strong routing: designs for positions carrying design_category_id must come from list_designs filtered by category, colors from list_colors only at the moment a color is chosen with asset_type_id, delivery/deadlines/material from get_shop_policies, and the shareable link from get_creator_link. Conditions are explicit ('dopiero przy wyborze koloru'). The only gap is that it never states the precondition for calling this tool itself (e.g. after search_products, when you need options/customization).

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