{
  "server": {
    "name": "Mathem MCP Server",
    "instructions": "Mathem MCP Server - Your online grocery assistant. The MCP server lets you interact with the user's cart and curate cart contents from multiple sources.\n\nCheckout and payment happen in the shop, not through MCP. When the user is ready to checkout, call get_cart and share the url field as a clickable link.\n\nWhen the user asks for an unsupported capability, or you discover a missing capability, explain the limitation clearly and offer to submit MCP feedback using the feedback tool. Ask for consent first; if they agree, call feedback with a short summary of what they wanted, which tools you tried, and what was missing. Use feedback for MCP server and tool improvements only — not for shop, delivery, or order complaints.\n\nUse of this server is governed by the terms in the terms://mcp resource. Share that link when the user asks about terms, privacy or what the assistant may do.\n\nCurrent server version: 2.0.0. If the user's connection shows an older version, if a tool is missing or its arguments do not match, their client likely has a stale cached tool list. Ask them to refresh the connection using whatever their client supports until the displayed version matches 2.0.0.",
    "version": "2.0.0",
    "website_url": "https://www.mathem.se",
    "icons": [
      {
        "src": "https://www.mathem.se/favicons/mathem/apple-touch-icon.png?v=4",
        "mimeType": "image/png",
        "sizes": [
          "180x180"
        ]
      }
    ],
    "generation": 2,
    "capabilities": {
      "tools": {
        "listChanged": true
      },
      "resources": {
        "subscribe": false,
        "listChanged": false
      },
      "prompts": {
        "listChanged": false
      },
      "logging": {}
    }
  },
  "environment": {
    "fastmcp": "3.4.11",
    "mcp": "1.30.0"
  },
  "tools": [
    {
      "key": "tool:product_search@",
      "name": "product_search",
      "description": "Search for products by name or keywords for one or more query strings. Returns matching products per query with has_more when more results exist. Pagination is batch-wide: the same page and size apply to every query in the batch. Use get_category or get_brand to browse by category or brand instead.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "queries": {
            "description": "A list of query strings to search for products. Maximum 10 queries allowed.",
            "items": {
              "type": "string"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
          },
          "page": {
            "default": 1,
            "description": "Page number for products.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "size": {
            "default": 5,
            "description": "Maximum number of products to return per page.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "queries"
        ],
        "type": "object"
      },
      "output_schema": {
        "properties": {
          "result": {
            "items": {
              "description": "Represents a single product search result",
              "properties": {
                "query": {
                  "type": "string"
                },
                "hasMore": {
                  "description": "Whether more products are available for this query on the next page.",
                  "type": "boolean"
                },
                "products": {
                  "description": "The products that match the search query",
                  "items": {
                    "description": "Represents a single product",
                    "properties": {
                      "id": {
                        "type": "integer"
                      },
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "price": {
                        "description": "The price of the product",
                        "type": "string"
                      },
                      "unitPrice": {
                        "description": "The unit price of the product",
                        "type": "string"
                      },
                      "unitName": {
                        "description": "The name of the unit price",
                        "type": "string"
                      },
                      "brand": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "The brand of the product, if available"
                      },
                      "brandId": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "The ID of the brand of the product, if available"
                      },
                      "url": {
                        "anyOf": [
                          {
                            "format": "uri",
                            "maxLength": 2083,
                            "minLength": 1,
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "The URL to the product's page"
                      },
                      "availability": {
                        "anyOf": [
                          {
                            "description": "Product availability",
                            "properties": {
                              "isAvailable": {
                                "description": "Whether the product can be purchased right now.",
                                "type": "boolean"
                              },
                              "description": {
                                "description": "Human-readable explanation of the availability status.",
                                "type": "string"
                              },
                              "code": {
                                "enum": [
                                  "available",
                                  "available_later",
                                  "available_weekdays",
                                  "not_for_sale",
                                  "restricted_item_user_policy",
                                  "sold_out",
                                  "sold_out_partial",
                                  "sold_out_supplier",
                                  "unavailable_alcohol_time",
                                  "unavailable_date",
                                  "unavailable_time",
                                  "unavailable_in_area",
                                  "unavailable_temporarily",
                                  "unavailable_unattended",
                                  "unavailable_weekday",
                                  "unknown"
                                ],
                                "type": "string",
                                "description": "Machine-readable availability status code."
                              }
                            },
                            "required": [
                              "isAvailable",
                              "description",
                              "code"
                            ],
                            "type": "object"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "Product availability. Omitted for historical order lines."
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "description",
                      "price",
                      "unitPrice",
                      "unitName"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "query",
                "hasMore",
                "products"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "result"
        ],
        "type": "object",
        "x-fastmcp-wrap-result": true
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Search for products",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:recipe_search@",
      "name": "recipe_search",
      "description": "Search for recipes by name or keywords. Results are paginated; use page and size to browse, and has_more in the response to fetch the next page.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "query": {
            "description": "Search query, e.g. a recipe name or ingredient.",
            "type": "string"
          },
          "page": {
            "default": 1,
            "description": "Page number for recipes.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "size": {
            "default": 5,
            "description": "Maximum number of recipes to return per page.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "output_schema": {
        "description": "Paginated recipes for the current user.",
        "properties": {
          "hasMore": {
            "description": "Whether more recipes are available on the next page.",
            "type": "boolean"
          },
          "recipes": {
            "description": "The recipes on this page.",
            "items": {
              "description": "A recipe with its metadata.",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "title": {
                  "type": "string"
                },
                "url": {
                  "anyOf": [
                    {
                      "format": "uri",
                      "maxLength": 2083,
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "providerName": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "difficultyString": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "cookingDurationIso8601": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "likeCount": {
                  "type": "integer"
                },
                "isLikedByUser": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                }
              },
              "required": [
                "id",
                "title",
                "likeCount"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "hasMore",
          "recipes"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Search for recipes",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:get_category@",
      "name": "get_category",
      "description": "Load a product category by id with its parent, immediate child categories, and a paginated list of products. Products are sorted by relevance. Use page and size to browse products; check has_more in the response for the next page. Discover category ids from the categories://tree resource or from parent/children in a previous call. Use get_brand or product_search for other ways to find products.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "category_id": {
            "description": "Category id to load (from the categories://tree resource or a previous call).",
            "type": "integer"
          },
          "page": {
            "default": 1,
            "description": "Page number for category products.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "size": {
            "default": 20,
            "description": "Maximum number of category products to return per page.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "category_id"
        ],
        "type": "object"
      },
      "output_schema": {
        "$defs": {
          "AvailabilityCode": {
            "enum": [
              "available",
              "available_later",
              "available_weekdays",
              "not_for_sale",
              "restricted_item_user_policy",
              "sold_out",
              "sold_out_partial",
              "sold_out_supplier",
              "unavailable_alcohol_time",
              "unavailable_date",
              "unavailable_time",
              "unavailable_in_area",
              "unavailable_temporarily",
              "unavailable_unattended",
              "unavailable_weekday",
              "unknown"
            ],
            "type": "string"
          },
          "MCPAvailability": {
            "description": "Product availability",
            "properties": {
              "isAvailable": {
                "description": "Whether the product can be purchased right now.",
                "type": "boolean"
              },
              "description": {
                "description": "Human-readable explanation of the availability status.",
                "type": "string"
              },
              "code": {
                "$ref": "#/$defs/AvailabilityCode",
                "description": "Machine-readable availability status code."
              }
            },
            "required": [
              "isAvailable",
              "description",
              "code"
            ],
            "type": "object"
          },
          "MCPCategory": {
            "description": "Product category without products.\n\nUsed for the categories://tree resource and as parent/children on\nMCPCategoryWithProducts. Call get_category to load products for a\ncategory id.",
            "properties": {
              "id": {
                "type": "integer"
              },
              "name": {
                "description": "Localized category name for the current market/language ",
                "type": "string"
              },
              "parent": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/MCPCategory"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Parent category without products. None for root (top-level) categories."
              },
              "children": {
                "description": "Immediate child categories without products. Call get_category to load products for a child.",
                "items": {
                  "$ref": "#/$defs/MCPCategory"
                },
                "type": "array"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "type": "object"
          },
          "MCPProduct": {
            "description": "Represents a single product",
            "properties": {
              "id": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "price": {
                "description": "The price of the product",
                "type": "string"
              },
              "unitPrice": {
                "description": "The unit price of the product",
                "type": "string"
              },
              "unitName": {
                "description": "The name of the unit price",
                "type": "string"
              },
              "brand": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The brand of the product, if available"
              },
              "brandId": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The ID of the brand of the product, if available"
              },
              "url": {
                "anyOf": [
                  {
                    "format": "uri",
                    "maxLength": 2083,
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "The URL to the product's page"
              },
              "availability": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/MCPAvailability"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Product availability. Omitted for historical order lines."
              }
            },
            "required": [
              "id",
              "name",
              "description",
              "price",
              "unitPrice",
              "unitName"
            ],
            "type": "object"
          }
        },
        "description": "Product category with paginated products.\n\nInherits parent and children from MCPCategory (without products);\ncall get_category on their ids to load products for those categories.",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "description": "Localized category name for the current market/language ",
            "type": "string"
          },
          "parent": {
            "anyOf": [
              {
                "$ref": "#/$defs/MCPCategory"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Parent category without products. None for root (top-level) categories."
          },
          "children": {
            "description": "Immediate child categories without products. Call get_category to load products for a child.",
            "items": {
              "$ref": "#/$defs/MCPCategory"
            },
            "type": "array"
          },
          "products": {
            "description": "Products in this category, paginated and sorted so the most relevant come first.",
            "items": {
              "$ref": "#/$defs/MCPProduct"
            },
            "type": "array"
          },
          "hasMore": {
            "description": "Whether more products are available on the next page.",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "products",
          "hasMore"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Get category with products",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:get_brand@",
      "name": "get_brand",
      "description": "Load a product brand by id with a paginated list of its products, sorted by popularity. Use page and size to browse; check has_more in the response for the next page. Pass brand_id from MCPProduct on product_search or get_category results.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "brand_id": {
            "description": "Brand id to load (from MCPProduct.brand_id on search or category results).",
            "type": "integer"
          },
          "page": {
            "default": 1,
            "description": "Page number for products in the selected brand.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "size": {
            "default": 20,
            "description": "Maximum number of products to return per page.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "brand_id"
        ],
        "type": "object"
      },
      "output_schema": {
        "description": "Product brand with paginated products.\n\nCall get_brand to load products for a brand id from MCPProduct.brand_id.",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "description": "Localized brand name for the current market/language.",
            "type": "string"
          },
          "products": {
            "description": "Products for this brand, paginated and sorted by popularity.",
            "items": {
              "description": "Represents a single product",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "price": {
                  "description": "The price of the product",
                  "type": "string"
                },
                "unitPrice": {
                  "description": "The unit price of the product",
                  "type": "string"
                },
                "unitName": {
                  "description": "The name of the unit price",
                  "type": "string"
                },
                "brand": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "The brand of the product, if available"
                },
                "brandId": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "The ID of the brand of the product, if available"
                },
                "url": {
                  "anyOf": [
                    {
                      "format": "uri",
                      "maxLength": 2083,
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "The URL to the product's page"
                },
                "availability": {
                  "anyOf": [
                    {
                      "description": "Product availability",
                      "properties": {
                        "isAvailable": {
                          "description": "Whether the product can be purchased right now.",
                          "type": "boolean"
                        },
                        "description": {
                          "description": "Human-readable explanation of the availability status.",
                          "type": "string"
                        },
                        "code": {
                          "enum": [
                            "available",
                            "available_later",
                            "available_weekdays",
                            "not_for_sale",
                            "restricted_item_user_policy",
                            "sold_out",
                            "sold_out_partial",
                            "sold_out_supplier",
                            "unavailable_alcohol_time",
                            "unavailable_date",
                            "unavailable_time",
                            "unavailable_in_area",
                            "unavailable_temporarily",
                            "unavailable_unattended",
                            "unavailable_weekday",
                            "unknown"
                          ],
                          "type": "string",
                          "description": "Machine-readable availability status code."
                        }
                      },
                      "required": [
                        "isAvailable",
                        "description",
                        "code"
                      ],
                      "type": "object"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "Product availability. Omitted for historical order lines."
                }
              },
              "required": [
                "id",
                "name",
                "description",
                "price",
                "unitPrice",
                "unitName"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "hasMore": {
            "description": "Whether more products are available on the next page.",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "products",
          "hasMore"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Get brand with products",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:likely_to_buy@",
      "name": "likely_to_buy",
      "description": "Return products the user is likely to buy right now based on purchase history and reorder patterns — staples and regular items, not discovery picks. Use when the user wants to restock their usual basket, reorder weekly groceries, or see what they typically buy. For personalized discovery and new items, use unique_for_you instead.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "type": "object"
      },
      "output_schema": {
        "properties": {
          "result": {
            "items": {
              "description": "Represents a single product",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "price": {
                  "description": "The price of the product",
                  "type": "string"
                },
                "unitPrice": {
                  "description": "The unit price of the product",
                  "type": "string"
                },
                "unitName": {
                  "description": "The name of the unit price",
                  "type": "string"
                },
                "brand": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "The brand of the product, if available"
                },
                "brandId": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "The ID of the brand of the product, if available"
                },
                "url": {
                  "anyOf": [
                    {
                      "format": "uri",
                      "maxLength": 2083,
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "The URL to the product's page"
                },
                "availability": {
                  "anyOf": [
                    {
                      "description": "Product availability",
                      "properties": {
                        "isAvailable": {
                          "description": "Whether the product can be purchased right now.",
                          "type": "boolean"
                        },
                        "description": {
                          "description": "Human-readable explanation of the availability status.",
                          "type": "string"
                        },
                        "code": {
                          "enum": [
                            "available",
                            "available_later",
                            "available_weekdays",
                            "not_for_sale",
                            "restricted_item_user_policy",
                            "sold_out",
                            "sold_out_partial",
                            "sold_out_supplier",
                            "unavailable_alcohol_time",
                            "unavailable_date",
                            "unavailable_time",
                            "unavailable_in_area",
                            "unavailable_temporarily",
                            "unavailable_unattended",
                            "unavailable_weekday",
                            "unknown"
                          ],
                          "type": "string",
                          "description": "Machine-readable availability status code."
                        }
                      },
                      "required": [
                        "isAvailable",
                        "description",
                        "code"
                      ],
                      "type": "object"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "Product availability. Omitted for historical order lines."
                }
              },
              "required": [
                "id",
                "name",
                "description",
                "price",
                "unitPrice",
                "unitName"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "result"
        ],
        "type": "object",
        "x-fastmcp-wrap-result": true
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Get likely-to-buy products",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:unique_for_you@",
      "name": "unique_for_you",
      "description": "Return personalized product recommendations for discovery. Items match the user's shopping profile from order history, purchase patterns, and product attributes, with emphasis on products outside their usual basket — not staples they buy regularly. Use when the user wants inspiration, something new, or recommendations based on tastes rather than a specific search query. For usual reorder items, use likely_to_buy instead.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "type": "object"
      },
      "output_schema": {
        "properties": {
          "result": {
            "items": {
              "description": "Represents a single product",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "price": {
                  "description": "The price of the product",
                  "type": "string"
                },
                "unitPrice": {
                  "description": "The unit price of the product",
                  "type": "string"
                },
                "unitName": {
                  "description": "The name of the unit price",
                  "type": "string"
                },
                "brand": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "The brand of the product, if available"
                },
                "brandId": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "The ID of the brand of the product, if available"
                },
                "url": {
                  "anyOf": [
                    {
                      "format": "uri",
                      "maxLength": 2083,
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "The URL to the product's page"
                },
                "availability": {
                  "anyOf": [
                    {
                      "description": "Product availability",
                      "properties": {
                        "isAvailable": {
                          "description": "Whether the product can be purchased right now.",
                          "type": "boolean"
                        },
                        "description": {
                          "description": "Human-readable explanation of the availability status.",
                          "type": "string"
                        },
                        "code": {
                          "enum": [
                            "available",
                            "available_later",
                            "available_weekdays",
                            "not_for_sale",
                            "restricted_item_user_policy",
                            "sold_out",
                            "sold_out_partial",
                            "sold_out_supplier",
                            "unavailable_alcohol_time",
                            "unavailable_date",
                            "unavailable_time",
                            "unavailable_in_area",
                            "unavailable_temporarily",
                            "unavailable_unattended",
                            "unavailable_weekday",
                            "unknown"
                          ],
                          "type": "string",
                          "description": "Machine-readable availability status code."
                        }
                      },
                      "required": [
                        "isAvailable",
                        "description",
                        "code"
                      ],
                      "type": "object"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "Product availability. Omitted for historical order lines."
                }
              },
              "required": [
                "id",
                "name",
                "description",
                "price",
                "unitPrice",
                "unitName"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "result"
        ],
        "type": "object",
        "x-fastmcp-wrap-result": true
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Get discovery recommendations",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:similar_and_related_products@",
      "name": "similar_and_related_products",
      "description": "Return products related to a given product_id, grouped by context. Each group has a group_type of category (more in the same category), brand (more from the same brand), or related (similar alternatives). Use when the user is viewing a product and wants alternatives, more from the same brand or category, or items like the one they are considering. Pass product_id from product_search, get_category, or get_cart results.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "product_id": {
            "description": "The product ID to find similar and related products for.",
            "type": "integer"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "product_id"
        ],
        "type": "object"
      },
      "output_schema": {
        "properties": {
          "result": {
            "items": {
              "description": "A group of related products for product exploration.",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "ID of the group. For category groups this is the category id, for brand groups the brand id. Null for related groups."
                },
                "title": {
                  "description": "Display title for the group.",
                  "type": "string"
                },
                "groupType": {
                  "description": "Whether this group is based on brand, category, or related products.",
                  "enum": [
                    "brand",
                    "category",
                    "related"
                  ],
                  "type": "string"
                },
                "products": {
                  "description": "Products in this exploration group.",
                  "items": {
                    "description": "Represents a single product",
                    "properties": {
                      "id": {
                        "type": "integer"
                      },
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "price": {
                        "description": "The price of the product",
                        "type": "string"
                      },
                      "unitPrice": {
                        "description": "The unit price of the product",
                        "type": "string"
                      },
                      "unitName": {
                        "description": "The name of the unit price",
                        "type": "string"
                      },
                      "brand": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "The brand of the product, if available"
                      },
                      "brandId": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "The ID of the brand of the product, if available"
                      },
                      "url": {
                        "anyOf": [
                          {
                            "format": "uri",
                            "maxLength": 2083,
                            "minLength": 1,
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "The URL to the product's page"
                      },
                      "availability": {
                        "anyOf": [
                          {
                            "description": "Product availability",
                            "properties": {
                              "isAvailable": {
                                "description": "Whether the product can be purchased right now.",
                                "type": "boolean"
                              },
                              "description": {
                                "description": "Human-readable explanation of the availability status.",
                                "type": "string"
                              },
                              "code": {
                                "enum": [
                                  "available",
                                  "available_later",
                                  "available_weekdays",
                                  "not_for_sale",
                                  "restricted_item_user_policy",
                                  "sold_out",
                                  "sold_out_partial",
                                  "sold_out_supplier",
                                  "unavailable_alcohol_time",
                                  "unavailable_date",
                                  "unavailable_time",
                                  "unavailable_in_area",
                                  "unavailable_temporarily",
                                  "unavailable_unattended",
                                  "unavailable_weekday",
                                  "unknown"
                                ],
                                "type": "string",
                                "description": "Machine-readable availability status code."
                              }
                            },
                            "required": [
                              "isAvailable",
                              "description",
                              "code"
                            ],
                            "type": "object"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "default": null,
                        "description": "Product availability. Omitted for historical order lines."
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "description",
                      "price",
                      "unitPrice",
                      "unitName"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "title",
                "groupType",
                "products"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "result"
        ],
        "type": "object",
        "x-fastmcp-wrap-result": true
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Get similar and related products",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:get_cart@",
      "name": "get_cart",
      "description": "Return the current user's cart: product lines grouped by source, summary totals, total_breakdown (subtotal, discounts, surcharge, bottle deposit, packaging, delivery fee, and surcharge threshold description), delivery address, selected delivery slot, and a url to open the cart in the shop. Use to inspect contents, explain fees, summarize what is in the cart, or help the user prepare for checkout. Checkout and payment happen in the shop — share the url field as a clickable link when the user is ready to review and pay.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "type": "object"
      },
      "output_schema": {
        "description": "Cart contents and metadata for MCP tools.",
        "properties": {
          "groups": {
            "description": "Cart products, either grouped by recipe or shopping list (MCPCartGroupedItems) or added individually (MCPCartUngroupedItems).",
            "items": {
              "anyOf": [
                {
                  "description": "Cart products that were added individually, not via a recipe or list.",
                  "properties": {
                    "items": {
                      "description": "The products in the cart, not grouped.",
                      "items": {
                        "description": "A product together with its quantity in a cart or order context.",
                        "properties": {
                          "product": {
                            "description": "The product.",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "price": {
                                "description": "The price of the product",
                                "type": "string"
                              },
                              "unitPrice": {
                                "description": "The unit price of the product",
                                "type": "string"
                              },
                              "unitName": {
                                "description": "The name of the unit price",
                                "type": "string"
                              },
                              "brand": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The brand of the product, if available"
                              },
                              "brandId": {
                                "anyOf": [
                                  {
                                    "type": "integer"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The ID of the brand of the product, if available"
                              },
                              "url": {
                                "anyOf": [
                                  {
                                    "format": "uri",
                                    "maxLength": 2083,
                                    "minLength": 1,
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The URL to the product's page"
                              },
                              "availability": {
                                "anyOf": [
                                  {
                                    "description": "Product availability",
                                    "properties": {
                                      "isAvailable": {
                                        "description": "Whether the product can be purchased right now.",
                                        "type": "boolean"
                                      },
                                      "description": {
                                        "description": "Human-readable explanation of the availability status.",
                                        "type": "string"
                                      },
                                      "code": {
                                        "enum": [
                                          "available",
                                          "available_later",
                                          "available_weekdays",
                                          "not_for_sale",
                                          "restricted_item_user_policy",
                                          "sold_out",
                                          "sold_out_partial",
                                          "sold_out_supplier",
                                          "unavailable_alcohol_time",
                                          "unavailable_date",
                                          "unavailable_time",
                                          "unavailable_in_area",
                                          "unavailable_temporarily",
                                          "unavailable_unattended",
                                          "unavailable_weekday",
                                          "unknown"
                                        ],
                                        "type": "string",
                                        "description": "Machine-readable availability status code."
                                      }
                                    },
                                    "required": [
                                      "isAvailable",
                                      "description",
                                      "code"
                                    ],
                                    "type": "object"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "Product availability. Omitted for historical order lines."
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "description",
                              "price",
                              "unitPrice",
                              "unitName"
                            ],
                            "type": "object"
                          },
                          "quantity": {
                            "description": "The number of units of this product.",
                            "type": "number"
                          },
                          "totalGrossAmount": {
                            "description": "The total gross price for this item, including quantity",
                            "type": "string"
                          }
                        },
                        "required": [
                          "product",
                          "quantity",
                          "totalGrossAmount"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "items"
                  ],
                  "type": "object"
                },
                {
                  "description": "Cart products grouped by the recipe or shopping list they were added from.",
                  "properties": {
                    "id": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "The ID of the recipe or shopping list this group was added from. Use group_type to tell which."
                    },
                    "title": {
                      "description": "Display name of the recipe or shopping list.",
                      "type": "string"
                    },
                    "groupType": {
                      "description": "What kind of group this is: 'recipes' for a recipe, 'categories' for a shopping or dinner list.",
                      "type": "string"
                    },
                    "items": {
                      "description": "The products in this group.",
                      "items": {
                        "description": "A product together with its quantity in a cart or order context.",
                        "properties": {
                          "product": {
                            "description": "The product.",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "price": {
                                "description": "The price of the product",
                                "type": "string"
                              },
                              "unitPrice": {
                                "description": "The unit price of the product",
                                "type": "string"
                              },
                              "unitName": {
                                "description": "The name of the unit price",
                                "type": "string"
                              },
                              "brand": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The brand of the product, if available"
                              },
                              "brandId": {
                                "anyOf": [
                                  {
                                    "type": "integer"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The ID of the brand of the product, if available"
                              },
                              "url": {
                                "anyOf": [
                                  {
                                    "format": "uri",
                                    "maxLength": 2083,
                                    "minLength": 1,
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The URL to the product's page"
                              },
                              "availability": {
                                "anyOf": [
                                  {
                                    "description": "Product availability",
                                    "properties": {
                                      "isAvailable": {
                                        "description": "Whether the product can be purchased right now.",
                                        "type": "boolean"
                                      },
                                      "description": {
                                        "description": "Human-readable explanation of the availability status.",
                                        "type": "string"
                                      },
                                      "code": {
                                        "enum": [
                                          "available",
                                          "available_later",
                                          "available_weekdays",
                                          "not_for_sale",
                                          "restricted_item_user_policy",
                                          "sold_out",
                                          "sold_out_partial",
                                          "sold_out_supplier",
                                          "unavailable_alcohol_time",
                                          "unavailable_date",
                                          "unavailable_time",
                                          "unavailable_in_area",
                                          "unavailable_temporarily",
                                          "unavailable_unattended",
                                          "unavailable_weekday",
                                          "unknown"
                                        ],
                                        "type": "string",
                                        "description": "Machine-readable availability status code."
                                      }
                                    },
                                    "required": [
                                      "isAvailable",
                                      "description",
                                      "code"
                                    ],
                                    "type": "object"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "Product availability. Omitted for historical order lines."
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "description",
                              "price",
                              "unitPrice",
                              "unitName"
                            ],
                            "type": "object"
                          },
                          "quantity": {
                            "description": "The number of units of this product.",
                            "type": "number"
                          },
                          "totalGrossAmount": {
                            "description": "The total gross price for this item, including quantity",
                            "type": "string"
                          }
                        },
                        "required": [
                          "product",
                          "quantity",
                          "totalGrossAmount"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "groupType",
                    "items"
                  ],
                  "type": "object"
                }
              ]
            },
            "type": "array"
          },
          "productQuantityCount": {
            "description": "Total number of product units in the cart.",
            "type": "integer"
          },
          "totalGrossAmount": {
            "description": "Total gross amount for the cart, including fees and discounts.",
            "type": "string"
          },
          "totalBreakdown": {
            "description": "Itemized breakdown of the cart total.",
            "properties": {
              "subtotal": {
                "description": "Sum of product line prices before discounts.",
                "type": "string"
              },
              "productDiscounts": {
                "description": "Product discounts such as sales and mix-and-match deals (negative amount).",
                "type": "string"
              },
              "couponDiscount": {
                "description": "Coupon or perk discount applied to the order total (negative amount).",
                "type": "string"
              },
              "surcharge": {
                "description": "Small-order surcharge fee.",
                "type": "string"
              },
              "bottleDeposit": {
                "description": "Bottle deposit (pant) total.",
                "type": "string"
              },
              "packaging": {
                "description": "Packaging fee for bags or boxes.",
                "type": "string"
              },
              "deliveryFee": {
                "description": "Delivery fee, including archipelago surcharge and net of delivery coupons or exemptions.",
                "type": "string"
              },
              "total": {
                "description": "Final cart total including all fees and discounts.",
                "type": "string"
              },
              "surchargeThresholdDescription": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "How much more to spend to reach a lower small-order surcharge tier or avoid the surcharge. Omitted when not applicable."
              }
            },
            "required": [
              "subtotal",
              "productDiscounts",
              "couponDiscount",
              "surcharge",
              "bottleDeposit",
              "packaging",
              "deliveryFee",
              "total"
            ],
            "type": "object"
          },
          "validationMessages": {
            "description": "Cart content validation issues the user must resolve before checkout, such as quantity limits or restricted items.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "deliverySlot": {
            "anyOf": [
              {
                "description": "The delivery slot selected for the cart.",
                "properties": {
                  "id": {
                    "description": "The delivery slot ID.",
                    "type": "integer"
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Human-readable delivery slot, including day and time window."
                  },
                  "cutoffTime": {
                    "description": "The cutoff time for making changes to this delivery slot.",
                    "format": "date-time",
                    "type": "string"
                  },
                  "expireAt": {
                    "anyOf": [
                      {
                        "format": "date-time",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "When the slot reservation expires, if the slot is temporarily held."
                  }
                },
                "required": [
                  "id",
                  "cutoffTime"
                ],
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The selected delivery slot for the cart, if one is chosen."
          },
          "deliveryAddress": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The full delivery address for the cart, if one is chosen."
          },
          "isUnattendedDelivery": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Whether the cart is set for unattended delivery. None if not applicable or not set."
          },
          "url": {
            "description": "Link to open the cart in the shop. When the user is ready to checkout, wants to pay, or review their cart in the shop, share this as a clickable link. Checkout and payment cannot be completed through MCP — the user must open this link in the shop.",
            "format": "uri",
            "maxLength": 2083,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "groups",
          "productQuantityCount",
          "totalGrossAmount",
          "totalBreakdown",
          "url"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Get cart",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:manipulate_cart@",
      "name": "manipulate_cart",
      "description": "Apply one or more cart operations and return the updated cart. Each operation targets exactly one of: product_id, recipe_id, product_list_id (shopping or dinner list id), or order_number. For product_id, recipe_id, and product_list_id, positive quantity adds and negative reduces or removes. order_number re-adds all products from that order regardless of quantity. Quantities are always relative to what the cart already holds, never an exact target, so to reach a specific quantity call get_cart first and send the difference. To remove a product completely, send a negative quantity at least as large as the amount in the cart; overshooting is safe because removals stop at zero. Use from_recipe_portions when adding a recipe. Returns the updated cart with a checkout url.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "operations": {
            "items": {
              "description": "A single cart manipulation operation.\n\nExactly one of product_id, recipe_id, product_list_id, or order_number must be set.",
              "properties": {
                "quantity": {
                  "description": "How much to add (positive) or remove (negative) for product_id, recipe_id and product_list_id operations. Always a delta, not a target quantity. For product_id, removals apply across all cart lines for that product, including recipe and list lines; overshooting is safe. Ignored for order_number operations, which always re-add all products from the order.",
                  "type": "integer"
                },
                "productId": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "ID of a product to add to or reduce in the cart."
                },
                "recipeId": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "ID of a recipe to add to or remove from the cart."
                },
                "productListId": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "ID of a shopping list or dinner list whose contents should be added to or removed from the cart. Dinner lists are product lists and use the same id field."
                },
                "orderNumber": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "Order number whose products should be re-added to the cart. Always adds; quantity is ignored and a negative quantity does not remove the order."
                },
                "fromRecipePortions": {
                  "anyOf": [
                    {
                      "exclusiveMinimum": 0,
                      "type": "integer"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "Number of portions when adding a recipe. Uses the user's preferred portion count or the recipe default when omitted."
                }
              },
              "required": [
                "quantity"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "operations"
        ],
        "type": "object"
      },
      "output_schema": {
        "description": "Cart contents and metadata for MCP tools.",
        "properties": {
          "groups": {
            "description": "Cart products, either grouped by recipe or shopping list (MCPCartGroupedItems) or added individually (MCPCartUngroupedItems).",
            "items": {
              "anyOf": [
                {
                  "description": "Cart products that were added individually, not via a recipe or list.",
                  "properties": {
                    "items": {
                      "description": "The products in the cart, not grouped.",
                      "items": {
                        "description": "A product together with its quantity in a cart or order context.",
                        "properties": {
                          "product": {
                            "description": "The product.",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "price": {
                                "description": "The price of the product",
                                "type": "string"
                              },
                              "unitPrice": {
                                "description": "The unit price of the product",
                                "type": "string"
                              },
                              "unitName": {
                                "description": "The name of the unit price",
                                "type": "string"
                              },
                              "brand": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The brand of the product, if available"
                              },
                              "brandId": {
                                "anyOf": [
                                  {
                                    "type": "integer"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The ID of the brand of the product, if available"
                              },
                              "url": {
                                "anyOf": [
                                  {
                                    "format": "uri",
                                    "maxLength": 2083,
                                    "minLength": 1,
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The URL to the product's page"
                              },
                              "availability": {
                                "anyOf": [
                                  {
                                    "description": "Product availability",
                                    "properties": {
                                      "isAvailable": {
                                        "description": "Whether the product can be purchased right now.",
                                        "type": "boolean"
                                      },
                                      "description": {
                                        "description": "Human-readable explanation of the availability status.",
                                        "type": "string"
                                      },
                                      "code": {
                                        "enum": [
                                          "available",
                                          "available_later",
                                          "available_weekdays",
                                          "not_for_sale",
                                          "restricted_item_user_policy",
                                          "sold_out",
                                          "sold_out_partial",
                                          "sold_out_supplier",
                                          "unavailable_alcohol_time",
                                          "unavailable_date",
                                          "unavailable_time",
                                          "unavailable_in_area",
                                          "unavailable_temporarily",
                                          "unavailable_unattended",
                                          "unavailable_weekday",
                                          "unknown"
                                        ],
                                        "type": "string",
                                        "description": "Machine-readable availability status code."
                                      }
                                    },
                                    "required": [
                                      "isAvailable",
                                      "description",
                                      "code"
                                    ],
                                    "type": "object"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "Product availability. Omitted for historical order lines."
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "description",
                              "price",
                              "unitPrice",
                              "unitName"
                            ],
                            "type": "object"
                          },
                          "quantity": {
                            "description": "The number of units of this product.",
                            "type": "number"
                          },
                          "totalGrossAmount": {
                            "description": "The total gross price for this item, including quantity",
                            "type": "string"
                          }
                        },
                        "required": [
                          "product",
                          "quantity",
                          "totalGrossAmount"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "items"
                  ],
                  "type": "object"
                },
                {
                  "description": "Cart products grouped by the recipe or shopping list they were added from.",
                  "properties": {
                    "id": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "The ID of the recipe or shopping list this group was added from. Use group_type to tell which."
                    },
                    "title": {
                      "description": "Display name of the recipe or shopping list.",
                      "type": "string"
                    },
                    "groupType": {
                      "description": "What kind of group this is: 'recipes' for a recipe, 'categories' for a shopping or dinner list.",
                      "type": "string"
                    },
                    "items": {
                      "description": "The products in this group.",
                      "items": {
                        "description": "A product together with its quantity in a cart or order context.",
                        "properties": {
                          "product": {
                            "description": "The product.",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "price": {
                                "description": "The price of the product",
                                "type": "string"
                              },
                              "unitPrice": {
                                "description": "The unit price of the product",
                                "type": "string"
                              },
                              "unitName": {
                                "description": "The name of the unit price",
                                "type": "string"
                              },
                              "brand": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The brand of the product, if available"
                              },
                              "brandId": {
                                "anyOf": [
                                  {
                                    "type": "integer"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The ID of the brand of the product, if available"
                              },
                              "url": {
                                "anyOf": [
                                  {
                                    "format": "uri",
                                    "maxLength": 2083,
                                    "minLength": 1,
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The URL to the product's page"
                              },
                              "availability": {
                                "anyOf": [
                                  {
                                    "description": "Product availability",
                                    "properties": {
                                      "isAvailable": {
                                        "description": "Whether the product can be purchased right now.",
                                        "type": "boolean"
                                      },
                                      "description": {
                                        "description": "Human-readable explanation of the availability status.",
                                        "type": "string"
                                      },
                                      "code": {
                                        "enum": [
                                          "available",
                                          "available_later",
                                          "available_weekdays",
                                          "not_for_sale",
                                          "restricted_item_user_policy",
                                          "sold_out",
                                          "sold_out_partial",
                                          "sold_out_supplier",
                                          "unavailable_alcohol_time",
                                          "unavailable_date",
                                          "unavailable_time",
                                          "unavailable_in_area",
                                          "unavailable_temporarily",
                                          "unavailable_unattended",
                                          "unavailable_weekday",
                                          "unknown"
                                        ],
                                        "type": "string",
                                        "description": "Machine-readable availability status code."
                                      }
                                    },
                                    "required": [
                                      "isAvailable",
                                      "description",
                                      "code"
                                    ],
                                    "type": "object"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "Product availability. Omitted for historical order lines."
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "description",
                              "price",
                              "unitPrice",
                              "unitName"
                            ],
                            "type": "object"
                          },
                          "quantity": {
                            "description": "The number of units of this product.",
                            "type": "number"
                          },
                          "totalGrossAmount": {
                            "description": "The total gross price for this item, including quantity",
                            "type": "string"
                          }
                        },
                        "required": [
                          "product",
                          "quantity",
                          "totalGrossAmount"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "groupType",
                    "items"
                  ],
                  "type": "object"
                }
              ]
            },
            "type": "array"
          },
          "productQuantityCount": {
            "description": "Total number of product units in the cart.",
            "type": "integer"
          },
          "totalGrossAmount": {
            "description": "Total gross amount for the cart, including fees and discounts.",
            "type": "string"
          },
          "totalBreakdown": {
            "description": "Itemized breakdown of the cart total.",
            "properties": {
              "subtotal": {
                "description": "Sum of product line prices before discounts.",
                "type": "string"
              },
              "productDiscounts": {
                "description": "Product discounts such as sales and mix-and-match deals (negative amount).",
                "type": "string"
              },
              "couponDiscount": {
                "description": "Coupon or perk discount applied to the order total (negative amount).",
                "type": "string"
              },
              "surcharge": {
                "description": "Small-order surcharge fee.",
                "type": "string"
              },
              "bottleDeposit": {
                "description": "Bottle deposit (pant) total.",
                "type": "string"
              },
              "packaging": {
                "description": "Packaging fee for bags or boxes.",
                "type": "string"
              },
              "deliveryFee": {
                "description": "Delivery fee, including archipelago surcharge and net of delivery coupons or exemptions.",
                "type": "string"
              },
              "total": {
                "description": "Final cart total including all fees and discounts.",
                "type": "string"
              },
              "surchargeThresholdDescription": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "How much more to spend to reach a lower small-order surcharge tier or avoid the surcharge. Omitted when not applicable."
              }
            },
            "required": [
              "subtotal",
              "productDiscounts",
              "couponDiscount",
              "surcharge",
              "bottleDeposit",
              "packaging",
              "deliveryFee",
              "total"
            ],
            "type": "object"
          },
          "validationMessages": {
            "description": "Cart content validation issues the user must resolve before checkout, such as quantity limits or restricted items.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "deliverySlot": {
            "anyOf": [
              {
                "description": "The delivery slot selected for the cart.",
                "properties": {
                  "id": {
                    "description": "The delivery slot ID.",
                    "type": "integer"
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Human-readable delivery slot, including day and time window."
                  },
                  "cutoffTime": {
                    "description": "The cutoff time for making changes to this delivery slot.",
                    "format": "date-time",
                    "type": "string"
                  },
                  "expireAt": {
                    "anyOf": [
                      {
                        "format": "date-time",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "When the slot reservation expires, if the slot is temporarily held."
                  }
                },
                "required": [
                  "id",
                  "cutoffTime"
                ],
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The selected delivery slot for the cart, if one is chosen."
          },
          "deliveryAddress": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The full delivery address for the cart, if one is chosen."
          },
          "isUnattendedDelivery": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Whether the cart is set for unattended delivery. None if not applicable or not set."
          },
          "url": {
            "description": "Link to open the cart in the shop. When the user is ready to checkout, wants to pay, or review their cart in the shop, share this as a clickable link. Checkout and payment cannot be completed through MCP — the user must open this link in the shop.",
            "format": "uri",
            "maxLength": 2083,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "groups",
          "productQuantityCount",
          "totalGrossAmount",
          "totalBreakdown",
          "url"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Update cart",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:clear_cart@",
      "name": "clear_cart",
      "description": "Remove all products from the user's cart and return the empty cart. Use when the user wants to start over or empty the cart completely. Returns the updated cart with a checkout url.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "type": "object"
      },
      "output_schema": {
        "description": "Cart contents and metadata for MCP tools.",
        "properties": {
          "groups": {
            "description": "Cart products, either grouped by recipe or shopping list (MCPCartGroupedItems) or added individually (MCPCartUngroupedItems).",
            "items": {
              "anyOf": [
                {
                  "description": "Cart products that were added individually, not via a recipe or list.",
                  "properties": {
                    "items": {
                      "description": "The products in the cart, not grouped.",
                      "items": {
                        "description": "A product together with its quantity in a cart or order context.",
                        "properties": {
                          "product": {
                            "description": "The product.",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "price": {
                                "description": "The price of the product",
                                "type": "string"
                              },
                              "unitPrice": {
                                "description": "The unit price of the product",
                                "type": "string"
                              },
                              "unitName": {
                                "description": "The name of the unit price",
                                "type": "string"
                              },
                              "brand": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The brand of the product, if available"
                              },
                              "brandId": {
                                "anyOf": [
                                  {
                                    "type": "integer"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The ID of the brand of the product, if available"
                              },
                              "url": {
                                "anyOf": [
                                  {
                                    "format": "uri",
                                    "maxLength": 2083,
                                    "minLength": 1,
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The URL to the product's page"
                              },
                              "availability": {
                                "anyOf": [
                                  {
                                    "description": "Product availability",
                                    "properties": {
                                      "isAvailable": {
                                        "description": "Whether the product can be purchased right now.",
                                        "type": "boolean"
                                      },
                                      "description": {
                                        "description": "Human-readable explanation of the availability status.",
                                        "type": "string"
                                      },
                                      "code": {
                                        "enum": [
                                          "available",
                                          "available_later",
                                          "available_weekdays",
                                          "not_for_sale",
                                          "restricted_item_user_policy",
                                          "sold_out",
                                          "sold_out_partial",
                                          "sold_out_supplier",
                                          "unavailable_alcohol_time",
                                          "unavailable_date",
                                          "unavailable_time",
                                          "unavailable_in_area",
                                          "unavailable_temporarily",
                                          "unavailable_unattended",
                                          "unavailable_weekday",
                                          "unknown"
                                        ],
                                        "type": "string",
                                        "description": "Machine-readable availability status code."
                                      }
                                    },
                                    "required": [
                                      "isAvailable",
                                      "description",
                                      "code"
                                    ],
                                    "type": "object"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "Product availability. Omitted for historical order lines."
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "description",
                              "price",
                              "unitPrice",
                              "unitName"
                            ],
                            "type": "object"
                          },
                          "quantity": {
                            "description": "The number of units of this product.",
                            "type": "number"
                          },
                          "totalGrossAmount": {
                            "description": "The total gross price for this item, including quantity",
                            "type": "string"
                          }
                        },
                        "required": [
                          "product",
                          "quantity",
                          "totalGrossAmount"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "items"
                  ],
                  "type": "object"
                },
                {
                  "description": "Cart products grouped by the recipe or shopping list they were added from.",
                  "properties": {
                    "id": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "The ID of the recipe or shopping list this group was added from. Use group_type to tell which."
                    },
                    "title": {
                      "description": "Display name of the recipe or shopping list.",
                      "type": "string"
                    },
                    "groupType": {
                      "description": "What kind of group this is: 'recipes' for a recipe, 'categories' for a shopping or dinner list.",
                      "type": "string"
                    },
                    "items": {
                      "description": "The products in this group.",
                      "items": {
                        "description": "A product together with its quantity in a cart or order context.",
                        "properties": {
                          "product": {
                            "description": "The product.",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "price": {
                                "description": "The price of the product",
                                "type": "string"
                              },
                              "unitPrice": {
                                "description": "The unit price of the product",
                                "type": "string"
                              },
                              "unitName": {
                                "description": "The name of the unit price",
                                "type": "string"
                              },
                              "brand": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The brand of the product, if available"
                              },
                              "brandId": {
                                "anyOf": [
                                  {
                                    "type": "integer"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The ID of the brand of the product, if available"
                              },
                              "url": {
                                "anyOf": [
                                  {
                                    "format": "uri",
                                    "maxLength": 2083,
                                    "minLength": 1,
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "The URL to the product's page"
                              },
                              "availability": {
                                "anyOf": [
                                  {
                                    "description": "Product availability",
                                    "properties": {
                                      "isAvailable": {
                                        "description": "Whether the product can be purchased right now.",
                                        "type": "boolean"
                                      },
                                      "description": {
                                        "description": "Human-readable explanation of the availability status.",
                                        "type": "string"
                                      },
                                      "code": {
                                        "enum": [
                                          "available",
                                          "available_later",
                                          "available_weekdays",
                                          "not_for_sale",
                                          "restricted_item_user_policy",
                                          "sold_out",
                                          "sold_out_partial",
                                          "sold_out_supplier",
                                          "unavailable_alcohol_time",
                                          "unavailable_date",
                                          "unavailable_time",
                                          "unavailable_in_area",
                                          "unavailable_temporarily",
                                          "unavailable_unattended",
                                          "unavailable_weekday",
                                          "unknown"
                                        ],
                                        "type": "string",
                                        "description": "Machine-readable availability status code."
                                      }
                                    },
                                    "required": [
                                      "isAvailable",
                                      "description",
                                      "code"
                                    ],
                                    "type": "object"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ],
                                "default": null,
                                "description": "Product availability. Omitted for historical order lines."
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "description",
                              "price",
                              "unitPrice",
                              "unitName"
                            ],
                            "type": "object"
                          },
                          "quantity": {
                            "description": "The number of units of this product.",
                            "type": "number"
                          },
                          "totalGrossAmount": {
                            "description": "The total gross price for this item, including quantity",
                            "type": "string"
                          }
                        },
                        "required": [
                          "product",
                          "quantity",
                          "totalGrossAmount"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "groupType",
                    "items"
                  ],
                  "type": "object"
                }
              ]
            },
            "type": "array"
          },
          "productQuantityCount": {
            "description": "Total number of product units in the cart.",
            "type": "integer"
          },
          "totalGrossAmount": {
            "description": "Total gross amount for the cart, including fees and discounts.",
            "type": "string"
          },
          "totalBreakdown": {
            "description": "Itemized breakdown of the cart total.",
            "properties": {
              "subtotal": {
                "description": "Sum of product line prices before discounts.",
                "type": "string"
              },
              "productDiscounts": {
                "description": "Product discounts such as sales and mix-and-match deals (negative amount).",
                "type": "string"
              },
              "couponDiscount": {
                "description": "Coupon or perk discount applied to the order total (negative amount).",
                "type": "string"
              },
              "surcharge": {
                "description": "Small-order surcharge fee.",
                "type": "string"
              },
              "bottleDeposit": {
                "description": "Bottle deposit (pant) total.",
                "type": "string"
              },
              "packaging": {
                "description": "Packaging fee for bags or boxes.",
                "type": "string"
              },
              "deliveryFee": {
                "description": "Delivery fee, including archipelago surcharge and net of delivery coupons or exemptions.",
                "type": "string"
              },
              "total": {
                "description": "Final cart total including all fees and discounts.",
                "type": "string"
              },
              "surchargeThresholdDescription": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "How much more to spend to reach a lower small-order surcharge tier or avoid the surcharge. Omitted when not applicable."
              }
            },
            "required": [
              "subtotal",
              "productDiscounts",
              "couponDiscount",
              "surcharge",
              "bottleDeposit",
              "packaging",
              "deliveryFee",
              "total"
            ],
            "type": "object"
          },
          "validationMessages": {
            "description": "Cart content validation issues the user must resolve before checkout, such as quantity limits or restricted items.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "deliverySlot": {
            "anyOf": [
              {
                "description": "The delivery slot selected for the cart.",
                "properties": {
                  "id": {
                    "description": "The delivery slot ID.",
                    "type": "integer"
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Human-readable delivery slot, including day and time window."
                  },
                  "cutoffTime": {
                    "description": "The cutoff time for making changes to this delivery slot.",
                    "format": "date-time",
                    "type": "string"
                  },
                  "expireAt": {
                    "anyOf": [
                      {
                        "format": "date-time",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "When the slot reservation expires, if the slot is temporarily held."
                  }
                },
                "required": [
                  "id",
                  "cutoffTime"
                ],
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The selected delivery slot for the cart, if one is chosen."
          },
          "deliveryAddress": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The full delivery address for the cart, if one is chosen."
          },
          "isUnattendedDelivery": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Whether the cart is set for unattended delivery. None if not applicable or not set."
          },
          "url": {
            "description": "Link to open the cart in the shop. When the user is ready to checkout, wants to pay, or review their cart in the shop, share this as a clickable link. Checkout and payment cannot be completed through MCP — the user must open this link in the shop.",
            "format": "uri",
            "maxLength": 2083,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "groups",
          "productQuantityCount",
          "totalGrossAmount",
          "totalBreakdown",
          "url"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Clear cart",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:order_tracking@",
      "name": "order_tracking",
      "description": "Return live delivery tracking for an order by order_number, including delivery status and progress. Use get_orders to find order numbers, or get_order for full order details including line items.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "order_number": {
            "type": "string"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "order_number"
        ],
        "type": "object"
      },
      "output_schema": {
        "description": "Represents a single order tracking result",
        "properties": {
          "orderNumber": {
            "type": "string"
          },
          "status": {
            "description": "Order lifecycle status. unpaid_order: payment must be completed or nothing will be delivered. unpaid_order_change: the base order is paid but an order change is unpaid. paid_and_modifiable: paid and order changes are still allowed before cutoff. paid_and_not_modifiable: paid but past cutoff, fulfillment will proceed. picking: fulfillment has started. shipped: delivery is in progress. delivered: the order has been delivered. failed: fulfillment or payment has failed. cancelled: the order has been cancelled.",
            "enum": [
              "unpaid_order",
              "unpaid_order_change",
              "paid_and_modifiable",
              "paid_and_not_modifiable",
              "picking",
              "shipped",
              "delivered",
              "failed",
              "cancelled"
            ],
            "type": "string"
          },
          "deliveryProgress": {
            "anyOf": [
              {
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The progress of the delivery, as a percentage of the total delivery distance. Only available is in shipped state."
          },
          "stopsBefore": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The number of stops before the order is due to be delivered. Only available is in shipped state."
          },
          "deliveryWindow": {
            "anyOf": [
              {
                "properties": {
                  "start": {
                    "format": "date-time",
                    "type": "string"
                  },
                  "end": {
                    "format": "date-time",
                    "type": "string"
                  }
                },
                "required": [
                  "start",
                  "end"
                ],
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The delivery window for the order. Only available is in shipped state."
          }
        },
        "required": [
          "orderNumber",
          "status"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Track order status",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:feedback@",
      "name": "feedback",
      "description": "Submit feedback about the MCP server and tools. Offer this when the user wants a capability the MCP tools do not provide, or when you hit a missing tool or limitation. Use for technical issues, usability problems, or improvement suggestions about how the MCP works — not for shop, delivery, or order complaints.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "free_text": {
            "description": "Feedback about the MCP server and tools. Include the requested action, tools attempted, and what was missing or failed. Only letters, numbers, spaces, and basic punctuation (period, comma, !, ?, ;, :, quotes, parentheses, hyphen). Limited to one submission per user per 15min.",
            "maxLength": 500,
            "minLength": 1,
            "pattern": "^[\\w\\s.,!?;:'\\\"()\\-]+$",
            "type": "string"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "free_text"
        ],
        "type": "object"
      },
      "output_schema": {
        "additionalProperties": {
          "type": "string"
        },
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Submit MCP feedback",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:get_orders@",
      "name": "get_orders",
      "description": "Return the current user's order history, paginated. Each order includes summary metadata such as order number, date, and status. Use page and size to browse; check has_more for the next page. Call get_order for full line-item details on one order, or order_tracking for live delivery status.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "page": {
            "default": 1,
            "description": "Page number for orders.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "size": {
            "default": 10,
            "description": "Maximum number of orders to return per page.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "type": "object"
      },
      "output_schema": {
        "description": "Paginated orders for the current user.",
        "properties": {
          "hasMore": {
            "description": "Whether more orders are available on the next page.",
            "type": "boolean"
          },
          "orders": {
            "description": "The orders on this page.",
            "items": {
              "description": "An order for the current user.",
              "properties": {
                "orderNumber": {
                  "description": "The order number.",
                  "type": "string"
                },
                "deliveryDate": {
                  "description": "Delivery date in ISO 8601 format (YYYY-MM-DD), e.g. '2026-05-30'.",
                  "format": "date",
                  "type": "string"
                },
                "deliverySlotDisplay": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "Human-readable delivery slot for the order, including date and time window. Available for all orders with a delivery slot, including completed orders."
                },
                "currency": {
                  "description": "The currency of the order.",
                  "type": "string"
                },
                "grossAmount": {
                  "description": "The total gross amount for the order.",
                  "type": "number"
                },
                "products": {
                  "description": "The products in the order, excluding fees and discounts.",
                  "items": {
                    "description": "A product together with its quantity in a cart or order context.",
                    "properties": {
                      "product": {
                        "description": "The product.",
                        "properties": {
                          "id": {
                            "type": "integer"
                          },
                          "name": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "price": {
                            "description": "The price of the product",
                            "type": "string"
                          },
                          "unitPrice": {
                            "description": "The unit price of the product",
                            "type": "string"
                          },
                          "unitName": {
                            "description": "The name of the unit price",
                            "type": "string"
                          },
                          "brand": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "default": null,
                            "description": "The brand of the product, if available"
                          },
                          "brandId": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "default": null,
                            "description": "The ID of the brand of the product, if available"
                          },
                          "url": {
                            "anyOf": [
                              {
                                "format": "uri",
                                "maxLength": 2083,
                                "minLength": 1,
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "default": null,
                            "description": "The URL to the product's page"
                          },
                          "availability": {
                            "anyOf": [
                              {
                                "description": "Product availability",
                                "properties": {
                                  "isAvailable": {
                                    "description": "Whether the product can be purchased right now.",
                                    "type": "boolean"
                                  },
                                  "description": {
                                    "description": "Human-readable explanation of the availability status.",
                                    "type": "string"
                                  },
                                  "code": {
                                    "enum": [
                                      "available",
                                      "available_later",
                                      "available_weekdays",
                                      "not_for_sale",
                                      "restricted_item_user_policy",
                                      "sold_out",
                                      "sold_out_partial",
                                      "sold_out_supplier",
                                      "unavailable_alcohol_time",
                                      "unavailable_date",
                                      "unavailable_time",
                                      "unavailable_in_area",
                                      "unavailable_temporarily",
                                      "unavailable_unattended",
                                      "unavailable_weekday",
                                      "unknown"
                                    ],
                                    "type": "string",
                                    "description": "Machine-readable availability status code."
                                  }
                                },
                                "required": [
                                  "isAvailable",
                                  "description",
                                  "code"
                                ],
                                "type": "object"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "default": null,
                            "description": "Product availability. Omitted for historical order lines."
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "description",
                          "price",
                          "unitPrice",
                          "unitName"
                        ],
                        "type": "object"
                      },
                      "quantity": {
                        "description": "The number of units of this product.",
                        "type": "number"
                      },
                      "totalGrossAmount": {
                        "description": "The total gross price for this item, including quantity",
                        "type": "string"
                      }
                    },
                    "required": [
                      "product",
                      "quantity",
                      "totalGrossAmount"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "orderNumber",
                "deliveryDate",
                "currency",
                "grossAmount",
                "products"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "hasMore",
          "orders"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "List user orders",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:get_delivery_addresses@",
      "name": "get_delivery_addresses",
      "description": "Return all delivery addresses on the user's account. Each address includes an id and whether it is currently selected on the cart (is_selected). Use the selected address id, or pass another address id, when calling get_delivery_slots or select_delivery_slot.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "type": "object"
      },
      "output_schema": {
        "properties": {
          "result": {
            "items": {
              "description": "A delivery address the user can choose from.",
              "properties": {
                "id": {
                  "description": "The delivery address ID.",
                  "type": "integer"
                },
                "address": {
                  "description": "The full delivery address as shown to the user.",
                  "type": "string"
                },
                "isPrimary": {
                  "description": "Whether this is the user's primary delivery address.",
                  "type": "boolean"
                },
                "isSelected": {
                  "description": "Whether this address is currently set on the cart.",
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "address",
                "isPrimary",
                "isSelected"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "result"
        ],
        "type": "object",
        "x-fastmcp-wrap-result": true
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "List delivery addresses",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:get_delivery_slots@",
      "name": "get_delivery_slots",
      "description": "Return available delivery slots for the user's cart on a single date. Pass delivery_date as an ISO date (e.g. 2026-07-19); returns slots empty when we do not deliver that day. When delivery_date is omitted, returns slots for the next deliverable day. Optionally pass delivery_address_id to check slots for a specific address. Use select_delivery_slot with a slot id from the results to book a slot.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "delivery_address_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Delivery address to fetch slots for. Defaults to the cart's current delivery address."
          },
          "delivery_date": {
            "anyOf": [
              {
                "format": "date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Calendar date to fetch slots for (ISO format, e.g. 2026-07-19). Defaults to the next deliverable day when omitted."
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "type": "object"
      },
      "output_schema": {
        "description": "Delivery slots available on a single calendar date.",
        "properties": {
          "deliveryDate": {
            "description": "The delivery date these slots are for.",
            "format": "date",
            "type": "string"
          },
          "slots": {
            "description": "Available delivery slots for this date. Empty when we do not deliver on this date.",
            "items": {
              "description": "An available delivery slot from the slot picker.",
              "properties": {
                "id": {
                  "description": "The delivery slot ID.",
                  "type": "integer"
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "Human-readable delivery slot, including day and time window."
                },
                "cutoffTime": {
                  "description": "The cutoff time for making changes to this delivery slot.",
                  "format": "date-time",
                  "type": "string"
                },
                "expireAt": {
                  "anyOf": [
                    {
                      "format": "date-time",
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "When the slot reservation expires, if the slot is temporarily held."
                },
                "openDatetime": {
                  "description": "When the delivery window opens. The calendar date of this datetime is the delivery day the slot belongs to.",
                  "format": "date-time",
                  "type": "string"
                },
                "closeDatetime": {
                  "description": "When the delivery window closes.",
                  "format": "date-time",
                  "type": "string"
                },
                "price": {
                  "description": "The delivery fee for this slot, including any discounts.",
                  "type": "string"
                },
                "isFull": {
                  "description": "Whether the slot is at capacity and cannot be selected.",
                  "type": "boolean"
                },
                "isUnavailable": {
                  "description": "Whether the slot cannot be selected, e.g. due to cart contents.",
                  "type": "boolean"
                },
                "unavailableDescription": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "Why the slot is unavailable, if is_unavailable is true."
                },
                "isSelected": {
                  "description": "Whether this slot is currently selected on the cart.",
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "cutoffTime",
                "openDatetime",
                "closeDatetime",
                "price",
                "isFull",
                "isUnavailable",
                "isSelected"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "deliveryDate",
          "slots"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "List delivery slots",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:select_delivery_slot@",
      "name": "select_delivery_slot",
      "description": "Book a delivery slot on the user's cart by delivery_slot_id. Call get_delivery_slots first to list available slots and their ids. Optionally pass delivery_address_id to select the slot for a specific address, and is_unattended_delivery when the address supports leaving the order outside the door. Returns the selected slot details. Fails if the slot is full or unavailable.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "delivery_slot_id": {
            "description": "The delivery slot id to select.",
            "type": "integer"
          },
          "delivery_address_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Delivery address to use when selecting the slot. Defaults to the cart's current delivery address."
          },
          "is_unattended_delivery": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Whether to enable unattended delivery. Only applies when the address supports it."
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "delivery_slot_id"
        ],
        "type": "object"
      },
      "output_schema": {
        "description": "The delivery slot selected for the cart.",
        "properties": {
          "id": {
            "description": "The delivery slot ID.",
            "type": "integer"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Human-readable delivery slot, including day and time window."
          },
          "cutoffTime": {
            "description": "The cutoff time for making changes to this delivery slot.",
            "format": "date-time",
            "type": "string"
          },
          "expireAt": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "When the slot reservation expires, if the slot is temporarily held."
          }
        },
        "required": [
          "id",
          "cutoffTime"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Select delivery slot",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:get_order@",
      "name": "get_order",
      "description": "Return full details for a single order by order_number, including line items, totals, and delivery information. Use get_orders to browse order history and find order numbers. Use order_tracking for live delivery status on an in-progress delivery.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "order_number": {
            "type": "string"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "order_number"
        ],
        "type": "object"
      },
      "output_schema": {
        "description": "An order for the current user.",
        "properties": {
          "orderNumber": {
            "description": "The order number.",
            "type": "string"
          },
          "deliveryDate": {
            "description": "Delivery date in ISO 8601 format (YYYY-MM-DD), e.g. '2026-05-30'.",
            "format": "date",
            "type": "string"
          },
          "deliverySlotDisplay": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Human-readable delivery slot for the order, including date and time window. Available for all orders with a delivery slot, including completed orders."
          },
          "currency": {
            "description": "The currency of the order.",
            "type": "string"
          },
          "grossAmount": {
            "description": "The total gross amount for the order.",
            "type": "number"
          },
          "products": {
            "description": "The products in the order, excluding fees and discounts.",
            "items": {
              "description": "A product together with its quantity in a cart or order context.",
              "properties": {
                "product": {
                  "description": "The product.",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "price": {
                      "description": "The price of the product",
                      "type": "string"
                    },
                    "unitPrice": {
                      "description": "The unit price of the product",
                      "type": "string"
                    },
                    "unitName": {
                      "description": "The name of the unit price",
                      "type": "string"
                    },
                    "brand": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "The brand of the product, if available"
                    },
                    "brandId": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "The ID of the brand of the product, if available"
                    },
                    "url": {
                      "anyOf": [
                        {
                          "format": "uri",
                          "maxLength": 2083,
                          "minLength": 1,
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "The URL to the product's page"
                    },
                    "availability": {
                      "anyOf": [
                        {
                          "description": "Product availability",
                          "properties": {
                            "isAvailable": {
                              "description": "Whether the product can be purchased right now.",
                              "type": "boolean"
                            },
                            "description": {
                              "description": "Human-readable explanation of the availability status.",
                              "type": "string"
                            },
                            "code": {
                              "enum": [
                                "available",
                                "available_later",
                                "available_weekdays",
                                "not_for_sale",
                                "restricted_item_user_policy",
                                "sold_out",
                                "sold_out_partial",
                                "sold_out_supplier",
                                "unavailable_alcohol_time",
                                "unavailable_date",
                                "unavailable_time",
                                "unavailable_in_area",
                                "unavailable_temporarily",
                                "unavailable_unattended",
                                "unavailable_weekday",
                                "unknown"
                              ],
                              "type": "string",
                              "description": "Machine-readable availability status code."
                            }
                          },
                          "required": [
                            "isAvailable",
                            "description",
                            "code"
                          ],
                          "type": "object"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Product availability. Omitted for historical order lines."
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "price",
                    "unitPrice",
                    "unitName"
                  ],
                  "type": "object"
                },
                "quantity": {
                  "description": "The number of units of this product.",
                  "type": "number"
                },
                "totalGrossAmount": {
                  "description": "The total gross price for this item, including quantity",
                  "type": "string"
                }
              },
              "required": [
                "product",
                "quantity",
                "totalGrossAmount"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "orderNumber",
          "deliveryDate",
          "currency",
          "grossAmount",
          "products"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Get order details",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:get_product_lists@",
      "name": "get_product_lists",
      "description": "Step 1 — browse the user's shopping lists (metadata only, no products). Shopping lists are general saved product collections for repeat orders, e.g. weekly groceries or household staples. Excludes dinner lists — use get_dinner_lists for saved meals. Returns id, title, and product count per list; use page and size to paginate. When the user picks a list, call get_product_list with its id to load the products. Use create_product_list to create a new list or manipulate_product_list to edit an existing one.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "page": {
            "default": 1,
            "description": "Page number for product lists.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "size": {
            "default": 10,
            "description": "Maximum number of product lists to return per page.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "type": "object"
      },
      "output_schema": {
        "description": "Paginated product lists or dinner lists for the current user.",
        "properties": {
          "hasMore": {
            "description": "Whether more lists are available on the next page.",
            "type": "boolean"
          },
          "productLists": {
            "description": "The product lists on this page.",
            "items": {
              "description": "Summary of a shopping list or dinner list for the current user, without\nproducts. Shopping lists are saved product collections for repeat orders\n(e.g. weekly groceries); dinner lists are saved meal combinations (e.g.\ningredients for a specific dish). Call get_product_list with the list id\nto load its products.",
              "properties": {
                "id": {
                  "description": "The list id. Use with get_product_list to load products.",
                  "type": "integer"
                },
                "title": {
                  "description": "User-provided display name of the list.",
                  "type": "string"
                },
                "description": {
                  "description": "User-provided description of the list, if any.",
                  "type": "string"
                },
                "deliveriesCount": {
                  "description": "How many past orders included products from this list.",
                  "type": "integer"
                },
                "numberOfProducts": {
                  "description": "The number of distinct products in the list.",
                  "type": "integer"
                },
                "isDinnerList": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "True if this is a dinner list (saved meal), false if it is a shopping list (general product collection)."
                }
              },
              "required": [
                "id",
                "title",
                "description",
                "deliveriesCount",
                "numberOfProducts"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "hasMore",
          "productLists"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Browse shopping lists",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:get_dinner_lists@",
      "name": "get_dinner_lists",
      "description": "Step 1 — browse the user's dinner lists (metadata only, no products). Dinner lists are saved meals: a specific combination of products for one dish, e.g. pasta bolognese ingredients or a ready-made pizza. Excludes general shopping lists — use get_product_lists for those. Returns id, title, and product count per list; use page and size to paginate. When the user picks a list, call get_product_list with its id to load the products. Use create_product_list to create a new list or manipulate_product_list to edit an existing one.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "page": {
            "default": 1,
            "description": "Page number for dinner lists.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "size": {
            "default": 10,
            "description": "Maximum number of dinner lists to return per page.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "type": "object"
      },
      "output_schema": {
        "description": "Paginated product lists or dinner lists for the current user.",
        "properties": {
          "hasMore": {
            "description": "Whether more lists are available on the next page.",
            "type": "boolean"
          },
          "productLists": {
            "description": "The product lists on this page.",
            "items": {
              "description": "Summary of a shopping list or dinner list for the current user, without\nproducts. Shopping lists are saved product collections for repeat orders\n(e.g. weekly groceries); dinner lists are saved meal combinations (e.g.\ningredients for a specific dish). Call get_product_list with the list id\nto load its products.",
              "properties": {
                "id": {
                  "description": "The list id. Use with get_product_list to load products.",
                  "type": "integer"
                },
                "title": {
                  "description": "User-provided display name of the list.",
                  "type": "string"
                },
                "description": {
                  "description": "User-provided description of the list, if any.",
                  "type": "string"
                },
                "deliveriesCount": {
                  "description": "How many past orders included products from this list.",
                  "type": "integer"
                },
                "numberOfProducts": {
                  "description": "The number of distinct products in the list.",
                  "type": "integer"
                },
                "isDinnerList": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null,
                  "description": "True if this is a dinner list (saved meal), false if it is a shopping list (general product collection)."
                }
              },
              "required": [
                "id",
                "title",
                "description",
                "deliveriesCount",
                "numberOfProducts"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "hasMore",
          "productLists"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Browse dinner lists",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:get_product_list@",
      "name": "get_product_list",
      "description": "Step 2 — load one list with its full product contents and quantities. Requires a product_list_id from get_product_lists (shopping list) or get_dinner_lists (dinner list). Unlike the browse tools, this returns the actual products in the list. To add the list to the cart, call manipulate_cart with product_list_id. To edit products in the list, call manipulate_product_list.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "product_list_id": {
            "description": "List id from get_product_lists or get_dinner_lists. Works for both shopping lists and dinner lists.",
            "type": "integer"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "product_list_id"
        ],
        "type": "object"
      },
      "output_schema": {
        "description": "A shopping list or dinner list with its full product contents and\nquantities.",
        "properties": {
          "id": {
            "description": "The list id. Use with get_product_list to load products.",
            "type": "integer"
          },
          "title": {
            "description": "User-provided display name of the list.",
            "type": "string"
          },
          "description": {
            "description": "User-provided description of the list, if any.",
            "type": "string"
          },
          "deliveriesCount": {
            "description": "How many past orders included products from this list.",
            "type": "integer"
          },
          "numberOfProducts": {
            "description": "The number of distinct products in the list.",
            "type": "integer"
          },
          "isDinnerList": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "True if this is a dinner list (saved meal), false if it is a shopping list (general product collection)."
          },
          "items": {
            "description": "The products in the list with their quantities and prices.",
            "items": {
              "description": "A product together with its quantity in a cart or order context.",
              "properties": {
                "product": {
                  "description": "The product.",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "price": {
                      "description": "The price of the product",
                      "type": "string"
                    },
                    "unitPrice": {
                      "description": "The unit price of the product",
                      "type": "string"
                    },
                    "unitName": {
                      "description": "The name of the unit price",
                      "type": "string"
                    },
                    "brand": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "The brand of the product, if available"
                    },
                    "brandId": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "The ID of the brand of the product, if available"
                    },
                    "url": {
                      "anyOf": [
                        {
                          "format": "uri",
                          "maxLength": 2083,
                          "minLength": 1,
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "The URL to the product's page"
                    },
                    "availability": {
                      "anyOf": [
                        {
                          "description": "Product availability",
                          "properties": {
                            "isAvailable": {
                              "description": "Whether the product can be purchased right now.",
                              "type": "boolean"
                            },
                            "description": {
                              "description": "Human-readable explanation of the availability status.",
                              "type": "string"
                            },
                            "code": {
                              "enum": [
                                "available",
                                "available_later",
                                "available_weekdays",
                                "not_for_sale",
                                "restricted_item_user_policy",
                                "sold_out",
                                "sold_out_partial",
                                "sold_out_supplier",
                                "unavailable_alcohol_time",
                                "unavailable_date",
                                "unavailable_time",
                                "unavailable_in_area",
                                "unavailable_temporarily",
                                "unavailable_unattended",
                                "unavailable_weekday",
                                "unknown"
                              ],
                              "type": "string",
                              "description": "Machine-readable availability status code."
                            }
                          },
                          "required": [
                            "isAvailable",
                            "description",
                            "code"
                          ],
                          "type": "object"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Product availability. Omitted for historical order lines."
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "price",
                    "unitPrice",
                    "unitName"
                  ],
                  "type": "object"
                },
                "quantity": {
                  "description": "The number of units of this product.",
                  "type": "number"
                },
                "totalGrossAmount": {
                  "description": "The total gross price for this item, including quantity",
                  "type": "string"
                }
              },
              "required": [
                "product",
                "quantity",
                "totalGrossAmount"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "deliveriesCount",
          "numberOfProducts",
          "items"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Load list products by id",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:create_product_list@",
      "name": "create_product_list",
      "description": "Create a new saved shopping list or dinner list for the current user. Optionally include initial products. Returns the new list with its products. Use manipulate_product_list to add, remove, or change products later.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "title": {
            "description": "Display name for the new list.",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Optional description of the list."
          },
          "is_dinner_list": {
            "default": false,
            "description": "When true, create a dinner list (saved meal). When false, create a general shopping list.",
            "type": "boolean"
          },
          "operations": {
            "anyOf": [
              {
                "items": {
                  "description": "A single product list manipulation operation.",
                  "properties": {
                    "productId": {
                      "description": "ID of the product to add, reduce, set, or remove from the list.",
                      "type": "integer"
                    },
                    "quantity": {
                      "description": "How much to add (positive) or remove (negative).",
                      "type": "integer"
                    },
                    "delete": {
                      "default": false,
                      "description": "When true, remove the product from the list entirely. Zero-quantity rows are kept on lists unless delete is true.",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "productId",
                    "quantity"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Optional initial products to add to the new list."
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "title"
        ],
        "type": "object"
      },
      "output_schema": {
        "description": "A shopping list or dinner list with its full product contents and\nquantities.",
        "properties": {
          "id": {
            "description": "The list id. Use with get_product_list to load products.",
            "type": "integer"
          },
          "title": {
            "description": "User-provided display name of the list.",
            "type": "string"
          },
          "description": {
            "description": "User-provided description of the list, if any.",
            "type": "string"
          },
          "deliveriesCount": {
            "description": "How many past orders included products from this list.",
            "type": "integer"
          },
          "numberOfProducts": {
            "description": "The number of distinct products in the list.",
            "type": "integer"
          },
          "isDinnerList": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "True if this is a dinner list (saved meal), false if it is a shopping list (general product collection)."
          },
          "items": {
            "description": "The products in the list with their quantities and prices.",
            "items": {
              "description": "A product together with its quantity in a cart or order context.",
              "properties": {
                "product": {
                  "description": "The product.",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "price": {
                      "description": "The price of the product",
                      "type": "string"
                    },
                    "unitPrice": {
                      "description": "The unit price of the product",
                      "type": "string"
                    },
                    "unitName": {
                      "description": "The name of the unit price",
                      "type": "string"
                    },
                    "brand": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "The brand of the product, if available"
                    },
                    "brandId": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "The ID of the brand of the product, if available"
                    },
                    "url": {
                      "anyOf": [
                        {
                          "format": "uri",
                          "maxLength": 2083,
                          "minLength": 1,
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "The URL to the product's page"
                    },
                    "availability": {
                      "anyOf": [
                        {
                          "description": "Product availability",
                          "properties": {
                            "isAvailable": {
                              "description": "Whether the product can be purchased right now.",
                              "type": "boolean"
                            },
                            "description": {
                              "description": "Human-readable explanation of the availability status.",
                              "type": "string"
                            },
                            "code": {
                              "enum": [
                                "available",
                                "available_later",
                                "available_weekdays",
                                "not_for_sale",
                                "restricted_item_user_policy",
                                "sold_out",
                                "sold_out_partial",
                                "sold_out_supplier",
                                "unavailable_alcohol_time",
                                "unavailable_date",
                                "unavailable_time",
                                "unavailable_in_area",
                                "unavailable_temporarily",
                                "unavailable_unattended",
                                "unavailable_weekday",
                                "unknown"
                              ],
                              "type": "string",
                              "description": "Machine-readable availability status code."
                            }
                          },
                          "required": [
                            "isAvailable",
                            "description",
                            "code"
                          ],
                          "type": "object"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Product availability. Omitted for historical order lines."
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "price",
                    "unitPrice",
                    "unitName"
                  ],
                  "type": "object"
                },
                "quantity": {
                  "description": "The number of units of this product.",
                  "type": "number"
                },
                "totalGrossAmount": {
                  "description": "The total gross price for this item, including quantity",
                  "type": "string"
                }
              },
              "required": [
                "product",
                "quantity",
                "totalGrossAmount"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "deliveriesCount",
          "numberOfProducts",
          "items"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Create shopping or dinner list",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:manipulate_product_list@",
      "name": "manipulate_product_list",
      "description": "Update a saved shopping list or dinner list. Pass operations to add, remove, or change products. Positive quantity adds units; negative quantity reduces units. Set delete to true when removing a product entirely — unlike the cart, zero-quantity rows are kept on lists unless delete is true. Optionally pass title or description to update list metadata in the same call. Returns the updated list.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "product_list_id": {
            "description": "List id from get_product_lists or get_dinner_lists. Works for both shopping lists and dinner lists.",
            "type": "integer"
          },
          "operations": {
            "anyOf": [
              {
                "items": {
                  "description": "A single product list manipulation operation.",
                  "properties": {
                    "productId": {
                      "description": "ID of the product to add, reduce, set, or remove from the list.",
                      "type": "integer"
                    },
                    "quantity": {
                      "description": "How much to add (positive) or remove (negative).",
                      "type": "integer"
                    },
                    "delete": {
                      "default": false,
                      "description": "When true, remove the product from the list entirely. Zero-quantity rows are kept on lists unless delete is true.",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "productId",
                    "quantity"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Product changes to apply. Omit to only update title or description."
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "New display name for the list, if renaming."
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "New description for the list, if updating."
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "product_list_id"
        ],
        "type": "object"
      },
      "output_schema": {
        "description": "A shopping list or dinner list with its full product contents and\nquantities.",
        "properties": {
          "id": {
            "description": "The list id. Use with get_product_list to load products.",
            "type": "integer"
          },
          "title": {
            "description": "User-provided display name of the list.",
            "type": "string"
          },
          "description": {
            "description": "User-provided description of the list, if any.",
            "type": "string"
          },
          "deliveriesCount": {
            "description": "How many past orders included products from this list.",
            "type": "integer"
          },
          "numberOfProducts": {
            "description": "The number of distinct products in the list.",
            "type": "integer"
          },
          "isDinnerList": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "True if this is a dinner list (saved meal), false if it is a shopping list (general product collection)."
          },
          "items": {
            "description": "The products in the list with their quantities and prices.",
            "items": {
              "description": "A product together with its quantity in a cart or order context.",
              "properties": {
                "product": {
                  "description": "The product.",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "price": {
                      "description": "The price of the product",
                      "type": "string"
                    },
                    "unitPrice": {
                      "description": "The unit price of the product",
                      "type": "string"
                    },
                    "unitName": {
                      "description": "The name of the unit price",
                      "type": "string"
                    },
                    "brand": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "The brand of the product, if available"
                    },
                    "brandId": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "The ID of the brand of the product, if available"
                    },
                    "url": {
                      "anyOf": [
                        {
                          "format": "uri",
                          "maxLength": 2083,
                          "minLength": 1,
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "The URL to the product's page"
                    },
                    "availability": {
                      "anyOf": [
                        {
                          "description": "Product availability",
                          "properties": {
                            "isAvailable": {
                              "description": "Whether the product can be purchased right now.",
                              "type": "boolean"
                            },
                            "description": {
                              "description": "Human-readable explanation of the availability status.",
                              "type": "string"
                            },
                            "code": {
                              "enum": [
                                "available",
                                "available_later",
                                "available_weekdays",
                                "not_for_sale",
                                "restricted_item_user_policy",
                                "sold_out",
                                "sold_out_partial",
                                "sold_out_supplier",
                                "unavailable_alcohol_time",
                                "unavailable_date",
                                "unavailable_time",
                                "unavailable_in_area",
                                "unavailable_temporarily",
                                "unavailable_unattended",
                                "unavailable_weekday",
                                "unknown"
                              ],
                              "type": "string",
                              "description": "Machine-readable availability status code."
                            }
                          },
                          "required": [
                            "isAvailable",
                            "description",
                            "code"
                          ],
                          "type": "object"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Product availability. Omitted for historical order lines."
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "price",
                    "unitPrice",
                    "unitName"
                  ],
                  "type": "object"
                },
                "quantity": {
                  "description": "The number of units of this product.",
                  "type": "number"
                },
                "totalGrossAmount": {
                  "description": "The total gross price for this item, including quantity",
                  "type": "string"
                }
              },
              "required": [
                "product",
                "quantity",
                "totalGrossAmount"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "title",
          "description",
          "deliveriesCount",
          "numberOfProducts",
          "items"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Update saved list",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:delete_product_list@",
      "name": "delete_product_list",
      "description": "Permanently delete a saved shopping list or dinner list owned by the current user. This cannot be undone.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "product_list_id": {
            "description": "List id from get_product_lists or get_dinner_lists. Works for both shopping lists and dinner lists.",
            "type": "integer"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "product_list_id"
        ],
        "type": "object"
      },
      "output_schema": {
        "additionalProperties": {
          "type": "string"
        },
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": null,
        "destructiveHint": true,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "Delete saved list",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:get_liked_recipes@",
      "name": "get_liked_recipes",
      "description": "Return recipes the user has liked or favorited, paginated and ordered by most recently liked. Use page and size to browse; check has_more for the next page. Use recipe_search to find new recipes.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "page": {
            "default": 1,
            "description": "Page number for liked recipes.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "size": {
            "default": 10,
            "description": "Maximum number of liked recipes to return per page.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "type": "object"
      },
      "output_schema": {
        "description": "Paginated recipes for the current user.",
        "properties": {
          "hasMore": {
            "description": "Whether more recipes are available on the next page.",
            "type": "boolean"
          },
          "recipes": {
            "description": "The recipes on this page.",
            "items": {
              "description": "A recipe with its metadata.",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "title": {
                  "type": "string"
                },
                "url": {
                  "anyOf": [
                    {
                      "format": "uri",
                      "maxLength": 2083,
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "providerName": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "difficultyString": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "cookingDurationIso8601": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "likeCount": {
                  "type": "integer"
                },
                "isLikedByUser": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                }
              },
              "required": [
                "id",
                "title",
                "likeCount"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "hasMore",
          "recipes"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "List liked recipes",
      "icons": null,
      "meta": null
    },
    {
      "key": "tool:get_purchased_recipes@",
      "name": "get_purchased_recipes",
      "description": "Return recipes the user has previously bought ingredients for, paginated and ordered by most recently purchased. Use page and size to browse; check has_more for the next page. Use recipe_search to find new recipes, or manipulate_cart with recipe_id to re-order one.",
      "input_schema": {
        "additionalProperties": false,
        "properties": {
          "page": {
            "default": 1,
            "description": "Page number for purchased recipes.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "size": {
            "default": 10,
            "description": "Maximum number of purchased recipes to return per page.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "intent": {
            "description": "In one short sentence, third person, what the user is trying to accomplish by calling this tool, e.g. 'wants to restock milk for the week'. Used only for MCP usage analytics.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "type": "object"
      },
      "output_schema": {
        "description": "Paginated recipes for the current user.",
        "properties": {
          "hasMore": {
            "description": "Whether more recipes are available on the next page.",
            "type": "boolean"
          },
          "recipes": {
            "description": "The recipes on this page.",
            "items": {
              "description": "A recipe with its metadata.",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "title": {
                  "type": "string"
                },
                "url": {
                  "anyOf": [
                    {
                      "format": "uri",
                      "maxLength": 2083,
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "providerName": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "difficultyString": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "cookingDurationIso8601": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "likeCount": {
                  "type": "integer"
                },
                "isLikedByUser": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                }
              },
              "required": [
                "id",
                "title",
                "likeCount"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "hasMore",
          "recipes"
        ],
        "type": "object"
      },
      "annotations": {
        "title": null,
        "readOnlyHint": true,
        "destructiveHint": null,
        "idempotentHint": null,
        "openWorldHint": null
      },
      "tags": null,
      "title": "List purchased recipes",
      "icons": null,
      "meta": null
    }
  ],
  "prompts": [
    {
      "key": "prompt:unsupported_capability@",
      "name": "unsupported_capability",
      "description": "Template for declining an unsupported capability and offering feedback",
      "arguments": [
        {
          "name": "capability",
          "description": null,
          "required": true
        }
      ],
      "tags": null,
      "title": "Unsupported Capability",
      "icons": null,
      "meta": null
    }
  ],
  "resources": [
    {
      "key": "resource:categories://tree@",
      "uri": "categories://tree",
      "name": "category_tree",
      "description": "The full product category tree for the current user. Use this to discover category ids, then call get_category to load products for a category.",
      "mime_type": "application/json",
      "annotations": null,
      "tags": null,
      "title": null,
      "icons": null,
      "meta": null
    },
    {
      "key": "resource:capabilities://manifest@",
      "uri": "capabilities://manifest",
      "name": "capabilities_manifest",
      "description": null,
      "mime_type": "application/json",
      "annotations": null,
      "tags": null,
      "title": null,
      "icons": null,
      "meta": null
    },
    {
      "key": "resource:terms://mcp@",
      "uri": "terms://mcp",
      "name": "terms_and_conditions",
      "description": "Terms and conditions for using the shop through AI assistants (MCP).",
      "mime_type": "application/json",
      "annotations": null,
      "tags": null,
      "title": null,
      "icons": null,
      "meta": null
    }
  ],
  "templates": []
}