---
name: order-nevini-wine
description: Orders wine from NEVINI (nevini.wine, Dutch wine importer) for a user via the NEVINI MCP server - find wines, build a Shopify cart, hand over the checkout link. Use for NEVINI wine orders.
compatibility: Needs the NEVINI MCP server at https://nevini.wine/api/mcp/ (Streamable HTTP, no sign-in).
metadata:
  author: NEVINI
  version: "1.1.0"
  website: https://nevini.wine/
---

# Order wine from NEVINI

NEVINI is a wine importer in Maastricht, the Netherlands. Its MCP server lets an agent search the range, read wine details and prepare a Shopify cart. The user always completes the order and the payment in NEVINI's checkout; the agent never does.

## Connect

MCP endpoint: `https://nevini.wine/api/mcp/` (keep the trailing slash; Streamable HTTP; no sign-in).

- Claude Code: `claude mcp add --transport http nevini https://nevini.wine/api/mcp/`
- Other clients: add a remote HTTP MCP server with that URL.

Tools: `search_wines`, `get_wine`, `get_catalog_overview`, `get_store_info`, `create_cart`, `add_to_cart`, `update_cart`, `get_cart`. Every tool accepts `language: "nl"` (default) or `"en"`.

## Order workflow

Copy this checklist and work through it:

- [ ] 1. Find the wine
- [ ] 2. Confirm the choice with the user
- [ ] 3. Confirm the age requirement
- [ ] 4. Create the cart
- [ ] 5. Hand over the checkout link

**1. Find the wine.** Use `search_wines` (free text for a name, winery, grape or region, or filters such as `type`, `country`, `region`, `grape`, `min_price_eur`, `max_price_eur`, `available_only`, and `food` for a dish such as `"seafood"`) or `get_wine` (slug, numeric id, name or nevini.wine wine URL). Quote prices and availability only from these results; they come live from Shopify. If a price is `null` or `availability` is `"unknown"`, the price could not be verified, so do not quote one. Sizes marked `on_request` cannot be ordered online.

**2. Confirm the choice.** If more than one wine fits the request, show the options (name, vintage, size, price) and let the user choose. Use `default_variant_id` for the standard bottle, or a `variant_id` from `get_wine` for another size such as a magnum or a gift box.

**3. Confirm the age requirement.** NEVINI sells alcohol. The buyer and the recipient must be 18 or older (Dutch Alcohol Act); orders for anyone under 18 are not allowed. Set `buyer_is_18_or_older: true` only after the user has said they are 18 or older. If you do not know, ask.

**4. Create the cart.** Call `create_cart` with `items: [{ variant_id, quantity }]` (1 to 24 bottles per wine and size, at most 25 different wines) and `buyer_is_18_or_older: true`. Add `language: "en"` for an English checkout. Then check `warnings`:

- `BACKORDER`: not every bottle is in stock, so delivery may take longer. Tell the user.
- `QUANTITY_NOT_ACCEPTED`, `LINE_QUANTITY_LIMIT_EXCEEDED` or `LINE_LIMIT_EXCEEDED`: the cart differs from what was asked. Fix it with `update_cart` or tell the user.

**5. Hand over the checkout link.** Give the user a short summary (wines, quantities, prices, subtotal) and the `checkout_url`. Say clearly that nothing has been ordered or paid yet. The user opens the link, chooses delivery or pickup and pays on shop.nevini.wine. Shipping costs appear in the checkout; `get_store_info` lists the rates and delivery times.

Do not open the checkout, fill in the user's details, choose a payment method or pay for the user, also not with browser automation. Your job ends when the user has the checkout link.

## Changes after the cart exists

Keep the `cart_id`. It includes `?key=`, so treat it like a private link and do not share it with anyone else.

- Add wines: `add_to_cart` with `cart_id` and `items`.
- Change or remove a wine: `update_cart` with the `line_id` and the new quantity (0 removes the line).
- Current contents or a fresh link: `get_cart`.

## Errors

- "Too many tool calls" or "Too many cart changes": wait the number of seconds given in the message, then retry.
- `cart_not_found`: the cart expired or was already checked out. Create a new cart.
- "Shopify could not confirm whether this cart change was applied": call `get_cart` before trying again, so nothing is added twice.
- "temporarily unavailable": Shopify cannot be reached. Try again shortly, or send the user to the wine page.

## Without the MCP server

Send the user to the wine page in `url` (for example `https://nevini.wine/wine/bianchello-del-metauro-doc/`) or to https://nevini.wine/shop/ to order there. Questions for NEVINI: info@nevini.wine or WhatsApp +31 6 2114 9489.

## Example

User: "Bestel een fles Bianchello voor me."

1. `search_wines` with `grape: "Bianchello"` returns several wines (for example Bianchello del Metauro DOC, Guerriero Del Mare and Biancanima). Ask which one; the user picks Bianchello del Metauro DOC.
2. The user confirms being 18 or older.
3. `create_cart` with that wine's `default_variant_id`, quantity 1 and `buyer_is_18_or_older: true`.
4. Reply: "Je winkelwagen staat klaar: 1 × Bianchello del Metauro DOC, €<price>. Er is nog niets besteld. Open deze link om de bezorging te kiezen en af te rekenen: <checkout_url>"
