[{"slug":"ZV-2026-1123","server_name":"swop-mcp.vercel.app","severity":"breaking","title":"swop-mcp.vercel.app: Field description on swop_create_product is now required.","summary":"[safe] Description of swop_create_product changed (17% word delta). [risky] Optional field digitalDeliveryNote was added to swop_create_product; may shift model behaviour. [risky] Optional field extraImages was added to swop_create_product; may shift model behaviour. [risky] Optional field keywords was added to swop_create_product; may shift model behaviour. [risky] Optional field nftType was added to swop_create_product; may shift model behaviour. [risky] Optional field requiresShipping was added to swop_create_product; may shift model behaviour. [risky] Optional field royaltyPercentage was added to swop_create_product; may shift model behaviour. [risky] Optional field royaltyRecipient was added to swop_create_product; may shift model behaviour. [risky] Optional field shippingCost was added to swop_create_product; may shift model behaviour. [risky] Optional field variants was added to swop_create_product; may shift model behaviour. [breaking] Field description on swop_create_product is now required. [breaking] Field image on swop_create_product is now required. [breaking] productType on swop_create_product narrowed to a closed enum (physical, digital, in_person_checkout); previously valid values may now be rejected. [risky] Description of swop_update_product changed (26% word delta). [risky] Optional field digitalDeliveryNote was added to swop_update_product; may shift model behaviour. [risky] Optional field extraImages was added to swop_update_product; may shift model behaviour. [risky] Optional field keywords was added to swop_update_product; may shift model behaviour. [risky] Optional field requiresShipping was added to swop_update_product; may shift model behaviour. [risky] Optional field royaltyPercentage was added to swop_update_product; may shift model behaviour. [risky] Optional field royaltyRecipient was added to swop_update_product; may shift model behaviour. [risky] Optional field shippingCost was added to swop_update_product; may shift model behaviour. ","changes":[{"kind":"description_changed","tool":"swop_create_product","after":"Create a sellable product on the linked account's SmartSite. It becomes instantly purchasable by humans at the SmartSite and by AI agents over x402. name, description and image are all REQUIRED by the backend. Confirm name and price with the user before creating.","before":"Create a sellable product on the linked account's SmartSite. It becomes instantly purchasable by humans at the SmartSite and by AI agents over x402. Confirm name and price with the user before creating.","detail":"Description of `swop_create_product` changed (17% word delta).","severity":"safe","descriptionDelta":0.17142857142857137},{"kind":"input_property_added","path":"inputSchema.properties.digitalDeliveryNote","tool":"swop_create_product","after":{"type":"string","maxLength":500,"description":"Digital goods: what the buyer receives after purchase"},"detail":"Optional field `digitalDeliveryNote` was added to `swop_create_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.extraImages","tool":"swop_create_product","after":{"type":"array","items":{"type":"string","format":"uri"},"maxItems":9,"description":"Additional image URLs, shown after the primary one"},"detail":"Optional field `extraImages` was added to `swop_create_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.keywords","tool":"swop_create_product","after":{"type":"array","items":{"type":"string"},"maxItems":20,"description":"Search keywords"},"detail":"Optional field `keywords` was added to `swop_create_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.nftType","tool":"swop_create_product","after":{"enum":["phygital","menu","collectible","subscription","membership","coupon"],"type":"string","description":"Fine-grained type; overrides productType. phygital/menu are physical, the rest digital"},"detail":"Optional field `nftType` was added to `swop_create_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.requiresShipping","tool":"swop_create_product","after":{"type":"boolean","description":"Physical goods: collect a shipping address"},"detail":"Optional field `requiresShipping` was added to `swop_create_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.royaltyPercentage","tool":"swop_create_product","after":{"type":"number","maximum":100,"minimum":0,"description":"Resale royalty percent"},"detail":"Optional field `royaltyPercentage` was added to `swop_create_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.royaltyRecipient","tool":"swop_create_product","after":{"type":"string","description":"Wallet receiving royalties"},"detail":"Optional field `royaltyRecipient` was added to `swop_create_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.shippingCost","tool":"swop_create_product","after":{"type":"number","minimum":0,"description":"Flat shipping cost in USD"},"detail":"Optional field `shippingCost` was added to `swop_create_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.variants","tool":"swop_create_product","after":{"type":"array","items":{"type":"object","required":["name","options"],"properties":{"name":{"type":"string","minLength":1,"description":"Variant group, e.g. \"Color\" or \"Size\""},"options":{"type":"array","items":{"type":"string","minLength":1},"description":"Choices, e.g. [\"Black\",\"White\"]"}},"additionalProperties":false},"description":"Buyer-selectable options. Replaces the existing set when given."},"detail":"Optional field `variants` was added to `swop_create_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_required_added","path":"inputSchema.required.description","tool":"swop_create_product","detail":"Field `description` on `swop_create_product` is now required.","severity":"breaking"},{"kind":"input_required_added","path":"inputSchema.required.image","tool":"swop_create_product","detail":"Field `image` on `swop_create_product` is now required.","severity":"breaking"},{"kind":"enum_narrowed","path":"inputSchema.properties.productType","tool":"swop_create_product","after":"enum[physical,digital,in_person_checkout]","before":"open","detail":"`productType` on `swop_create_product` narrowed to a closed enum (physical, digital, in_person_checkout); previously valid values may now be rejected.","severity":"breaking"},{"kind":"description_changed","tool":"swop_update_product","after":"Edit one of the linked account's products, or unlist it. Pass its productId (from swop_list_my_products) plus ONLY the fields to change — anything omitted keeps its current value. To unlist it, set status to 'archived'. Confirm price and name changes with the user first.","before":"Edit one of the linked account's products, or unlist it. Pass its productId (from swop_list_my_products) plus only the fields to change: name, description, priceUsd, image, mintLimit. To unlist/remove it from sale, set status to 'archived'. Confirm price and name changes with the user first.","detail":"Description of `swop_update_product` changed (26% word delta).","severity":"risky","descriptionDelta":0.2558139534883721},{"kind":"input_property_added","path":"inputSchema.properties.digitalDeliveryNote","tool":"swop_update_product","after":{"type":"string","maxLength":500,"description":"What a buyer receives"},"detail":"Optional field `digitalDeliveryNote` was added to `swop_update_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.extraImages","tool":"swop_update_product","after":{"type":"array","items":{"type":"string","format":"uri"},"maxItems":9,"description":"Replaces the additional images. Requires image, since the full list is rewritten"},"detail":"Optional field `extraImages` was added to `swop_update_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.keywords","tool":"swop_update_product","after":{"type":"array","items":{"type":"string"},"maxItems":20,"description":"Replaces the keywords"},"detail":"Optional field `keywords` was added to `swop_update_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.requiresShipping","tool":"swop_update_product","after":{"type":"boolean","description":"Collect a shipping address"},"detail":"Optional field `requiresShipping` was added to `swop_update_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.royaltyPercentage","tool":"swop_update_product","after":{"type":"number","maximum":100,"minimum":0,"description":"Resale royalty percent"},"detail":"Optional field `royaltyPercentage` was added to `swop_update_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.royaltyRecipient","tool":"swop_update_product","after":{"type":"string","description":"Wallet receiving royalties"},"detail":"Optional field `royaltyRecipient` was added to `swop_update_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.shippingCost","tool":"swop_update_product","after":{"type":"number","minimum":0,"description":"Flat shipping cost in USD"},"detail":"Optional field `shippingCost` was added to `swop_update_product`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.variants","tool":"swop_update_product","after":{"type":"array","items":{"type":"object","required":["name","options"],"properties":{"name":{"type":"string","minLength":1,"description":"Variant group, e.g. \"Color\" or \"Size\""},"options":{"type":"array","items":{"type":"string","minLength":1},"description":"Choices, e.g. [\"Black\",\"White\"]"}},"additionalProperties":false},"description":"Buyer-selectable options. Replaces the existing set when given."},"detail":"Optional field `variants` was added to `swop_update_product`; may shift model behaviour.","severity":"risky"}],"published_at":"2026-09-16T19:17:14.075Z"}]