NEVINI Wines MCP
An official MCP server by NEVINI Wine Import that allows AI agents to search their curated wine catalog, retrieve product details, and construct Shopify shopping carts with checkout links for direct purchase.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://nevini.wine/api/mcp/What you can do with it
- Search wines by type, country, region, grape, price, or food pairing
- Retrieve detailed wine information including tasting notes and prices
- Create a Shopify shopping cart and generate a checkout link
- Get store information regarding shipping, pickup, and return policies
Source and maintenance
Protocol and capabilities
- Server
- nevini 1.1.0
- MCP protocol
- 2025-06-18
- Tools
- 8 advertised
- Resources
- 1 advertised
- Resource templates
- 0 advertised
- Prompts
- 1 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
8 advertised
search_wines — Search wines
Searches the NEVINI wine catalog by free text and filters (type, country, region, grape, verified price range, availability). query matches name, winery, grape, region, country, type and vintage; use type, country, region, grape, min_price_eur, max_price_eur and sort for style and budget, and food for dishes. Returns compact wine summaries with live Shopify price and availability, the first four taste notes and food_pairing (a sentence quoted from the wine description, or null). default_variant_id is the standard bottle of the wine (0.75 L for most wines) and is null unless that bottle is purchasable; default_size is its size, e.g. "0.75L" or "1.5L" for a magnum. type "sparkling" includes Champagne. Use get_wine for other bottle sizes, all taste notes and the full description, get_catalog_overview for what the range covers and get_store_info for delivery, pickup or contact.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"food": {
"type": "string",
"maxLength": 100,
"description": "Dish or food in Dutch or English, e.g. \"seafood\", \"oysters\", \"lamb\", \"cheese\", \"pasta\" or \"aperitif\". Matches whole words and word prefixes in food_pairing, the pairing sentence quoted from each wine description, with a few synonyms (fish/vis, seafood/zeevruchten, meat/vlees, cheese/kaas). Wines whose description names no dish are left out."
},
"sort": {
"enum": [
"relevance",
"price_asc",
"price_desc",
"rating"
],
"type": "string",
"description": "Sort order. Default \"relevance\"; without a query, editorial picks come first."
},
"type": {
"enum": [
"red",
"white",
"rose",
"sparkling",
"champagne",
"dessert"
],
"type": "string",
"description": "Wine type. \"sparkling\" includes Champagne."
},
"grape": {
"type": "string",
"maxLength": 60,
"description": "Grape variety, e.g. \"Nebbiolo\"."
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Maximum number of results, 1-20. Default 8."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Free text in Dutch or English, matched against wine name, winery, grape, region, country, type and vintage, e.g. \"amarone\" or \"red wine tuscany\". Taste, food and budget words are not matched; use the filters, food and sort for those."
},
"region": {
"type": "string",
"maxLength": 100,
"description": "Region, e.g. \"Toscane\", \"Tuscany\" or \"Bordeaux\"."
},
"country": {
"type": "string",
"maxLength": 60,
"description": "Country name in Dutch or English, or ISO code, e.g. \"IT\"."
},
"language": {
"enum": [
"nl",
"en"
],
"type": "string",
"description": "Response language: \"nl\" (Dutch, default) or \"en\" (English)."
},
"max_price_eur": {
"type": "number",
"maximum": 100000,
"minimum": 0,
"description": "Highest verified bottle price in EUR. Wines without a verified current price are left out when a price filter is set."
},
"min_price_eur": {
"type": "number",
"maximum": 100000,
"minimum": 0,
"description": "Lowest verified bottle price in EUR. Wines without a verified current price are left out when a price filter is set."
},
"available_only": {
"type": "boolean",
"description": "Only wines that can be ordered online now. Default false."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query",
"filters",
"total_matches",
"returned",
"results",
"commerce",
"notes"
],
"properties": {
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"query": {
"type": [
"string",
"null"
]
},
"filters": {
"type": "object",
"required": [
"sort",
"limit",
"language"
],
"properties": {
"food": {
"type": "string"
},
"sort": {
"type": "string"
},
"type": {
"type": "string"
},
"grape": {
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"region": {
"type": "string"
},
"country": {
"type": "string"
},
"language": {
"type": "string"
},
"max_price_eur": {
"type": "number"
},
"min_price_eur": {
"type": "number"
},
"available_only": {
"type": "boolean"
}
},
"additionalProperties": {}
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"slug",
"name",
"winery",
"vintage",
"type",
"country",
"region",
"grapes",
"taste",
"food_pairing",
"alcohol",
"url",
"image_url",
"rating",
"badges",
"price_from_eur",
"availability",
"purchasable",
"default_variant_id",
"default_size"
],
"properties": {
"id": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"type": {
"type": "string"
},
"taste": {
"type": "array",
"items": {
"type": "string"
}
},
"badges": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"label"
],
"properties": {
"key": {
"type": "string"
},
"label": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"grapes": {
"type": "array",
"items": {
"type": "string"
}
},
"rating": {
"anyOf": [
{
"type": "object",
"required": [
"score_out_of_5",
"source_count"
],
"properties": {
"source_count": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"score_out_of_5": {
"type": "number"
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"region": {
"type": "string"
},
"winery": {
"type": "string"
},
"alcohol": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"vintage": {
"type": [
"string",
"null"
]
},
"image_url": {
"type": [
"string",
"null"
]
},
"purchasable": {
"type": "boolean"
},
"availability": {
"enum": [
"in_stock",
"backorder",
"out_of_stock",
"unknown"
],
"type": "string"
},
"default_size": {
"type": [
"string",
"null"
]
},
"food_pairing": {
"type": [
"string",
"null"
]
},
"price_from_eur": {
"type": [
"number",
"null"
]
},
"default_variant_id": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
}
},
"commerce": {
"type": "object",
"required": [
"verified",
"as_of",
"source"
],
"properties": {
"as_of": {
"type": "string"
},
"source": {
"type": "string"
},
"verified": {
"type": "boolean"
}
},
"additionalProperties": {}
},
"returned": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"total_matches": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
}
},
"additionalProperties": {}
}{
"title": "Search wines",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_wine — Get wine details
Returns one wine by slug, numeric id, name or wine URL: description, grapes, taste notes, serving temperature, rating, every bottle size with its variant_id, live price and availability, and related wines. taste lists every taste note; food_pairing is the pairing sentence quoted from the description, or null when it names no dish. default_variant_id is the standard bottle of the wine (0.75 L for most wines) and is null unless that bottle is purchasable; default_size is its size. Sizes marked on_request cannot be ordered online. Use search_wines first when the user describes a wine rather than naming it.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"wine"
],
"properties": {
"wine": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Wine slug (e.g. \"guerriero-della-terra\"), numeric id, wine name or nevini.wine wine URL."
},
"language": {
"enum": [
"nl",
"en"
],
"type": "string",
"description": "Response language: \"nl\" (Dutch, default) or \"en\" (English)."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"wine",
"commerce"
],
"properties": {
"wine": {
"type": "object",
"required": [
"id",
"slug",
"name",
"winery",
"vintage",
"type",
"country",
"region",
"grapes",
"taste",
"food_pairing",
"alcohol",
"url",
"image_url",
"rating",
"badges",
"price_from_eur",
"availability",
"purchasable",
"default_variant_id",
"default_size",
"description",
"serving_temperature",
"variants",
"related",
"order_hint"
],
"properties": {
"id": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"type": {
"type": "string"
},
"taste": {
"type": "array",
"items": {
"type": "string"
}
},
"badges": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"label"
],
"properties": {
"key": {
"type": "string"
},
"label": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"grapes": {
"type": "array",
"items": {
"type": "string"
}
},
"rating": {
"anyOf": [
{
"type": "object",
"required": [
"score_out_of_5",
"source_count"
],
"properties": {
"source_count": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"score_out_of_5": {
"type": "number"
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"region": {
"type": "string"
},
"winery": {
"type": "string"
},
"alcohol": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"related": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"slug",
"name",
"winery",
"vintage",
"type",
"url",
"price_from_eur",
"availability",
"purchasable"
],
"properties": {
"id": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"type": {
"type": "string"
},
"winery": {
"type": "string"
},
"vintage": {
"type": [
"string",
"null"
]
},
"purchasable": {
"type": "boolean"
},
"availability": {
"enum": [
"in_stock",
"backorder",
"out_of_stock",
"unknown"
],
"type": "string"
},
"price_from_eur": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": {}
}
},
"vintage": {
"type": [
"string",
"null"
]
},
"variants": {
"type": "array",
"items": {
"type": "object",
"required": [
"variant_id",
"size",
"label",
"price_eur",
"availability",
"purchasable",
"on_request",
"gift_box"
],
"properties": {
"size": {
"type": [
"string",
"null"
]
},
"label": {
"type": "string"
},
"gift_box": {
"type": "boolean"
},
"price_eur": {
"type": [
"number",
"null"
]
},
"on_request": {
"type": "boolean"
},
"variant_id": {
"type": [
"string",
"null"
]
},
"purchasable": {
"type": "boolean"
},
"availability": {
"enum": [
"in_stock",
"backorder",
"out_of_stock",
"unknown"
],
"type": "string"
}
},
"additionalProperties": {}
}
},
"image_url": {
"type": [
"string",
"null"
]
},
"order_hint": {
"type": "string"
},
"description": {
"type": "string"
},
"purchasable": {
"type": "boolean"
},
"availability": {
"enum": [
"in_stock",
"backorder",
"out_of_stock",
"unknown"
],
"type": "string"
},
"default_size": {
"type": [
"string",
"null"
]
},
"food_pairing": {
"type": [
"string",
"null"
]
},
"price_from_eur": {
"type": [
"number",
"null"
]
},
"default_variant_id": {
"type": [
"string",
"null"
]
},
"serving_temperature": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"commerce": {
"type": "object",
"required": [
"verified",
"as_of",
"source"
],
"properties": {
"as_of": {
"type": "string"
},
"source": {
"type": "string"
},
"verified": {
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"additionalProperties": {}
}{
"title": "Get wine details",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_catalog_overview — Catalog overview
Returns an overview of the NEVINI range: wine counts per type, country and category page, the most common grapes, the top selection and the verified price range. Use it to see what the range covers; use search_wines to find wines and get_wine for one wine.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"language": {
"enum": [
"nl",
"en"
],
"type": "string",
"description": "Response language: \"nl\" (Dutch, default) or \"en\" (English)."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"language",
"total_wines",
"purchasable_wines",
"types",
"countries",
"categories",
"top_grapes",
"top_selection",
"price_range_eur",
"commerce",
"notes"
],
"properties": {
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"types": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"label",
"count"
],
"properties": {
"key": {
"type": "string"
},
"count": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"label": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"commerce": {
"type": "object",
"required": [
"verified",
"as_of",
"source"
],
"properties": {
"as_of": {
"type": "string"
},
"source": {
"type": "string"
},
"verified": {
"type": "boolean"
}
},
"additionalProperties": {}
},
"language": {
"type": "string"
},
"countries": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"name",
"count"
],
"properties": {
"code": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"count": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
}
},
"additionalProperties": {}
}
},
"categories": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"count",
"url"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"count": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
}
},
"additionalProperties": {}
}
},
"top_grapes": {
"type": "array",
"items": {
"type": "object",
"required": [
"grape",
"count"
],
"properties": {
"count": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"grape": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"total_wines": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"top_selection": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"slug",
"name",
"winery",
"vintage",
"type",
"url",
"price_from_eur",
"availability",
"purchasable"
],
"properties": {
"id": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"type": {
"type": "string"
},
"winery": {
"type": "string"
},
"vintage": {
"type": [
"string",
"null"
]
},
"purchasable": {
"type": "boolean"
},
"availability": {
"enum": [
"in_stock",
"backorder",
"out_of_stock",
"unknown"
],
"type": "string"
},
"price_from_eur": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": {}
}
},
"price_range_eur": {
"anyOf": [
{
"type": "object",
"required": [
"min",
"max"
],
"properties": {
"max": {
"type": "number"
},
"min": {
"type": "number"
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"purchasable_wines": {
"anyOf": [
{
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}{
"title": "Catalog overview",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_store_info — Store information
Returns NEVINI store facts: company and contact details, contact availability, pickup in Maastricht, shipping rates, countries and delivery times, returns, age policy, payment, hospitality services, policy URLs and how ordering through this server works. Use it for questions about delivery, pickup, returns, payment or contact; for wines use search_wines.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"language": {
"enum": [
"nl",
"en"
],
"type": "string",
"description": "Response language: \"nl\" (Dutch, default) or \"en\" (English)."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"language",
"company",
"contact_availability",
"pickup",
"shipping",
"returns",
"age_policy",
"payment",
"horeca",
"assistant",
"policies",
"ordering"
],
"properties": {
"horeca": {
"type": "object",
"required": [
"services",
"url"
],
"properties": {
"url": {
"type": "string"
},
"services": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": {}
},
"pickup": {
"type": "object",
"required": [
"available",
"cost_eur",
"city",
"address",
"by_appointment",
"details"
],
"properties": {
"city": {
"type": "string"
},
"address": {
"type": "string"
},
"details": {
"type": "string"
},
"cost_eur": {
"type": "number"
},
"available": {
"type": "boolean"
},
"by_appointment": {
"type": "boolean"
}
},
"additionalProperties": {}
},
"company": {
"type": "object",
"required": [
"name",
"address",
"kvk",
"email",
"order_email",
"phone",
"whatsapp",
"website"
],
"properties": {
"kvk": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "object",
"required": [
"street",
"postal_code",
"city",
"country"
],
"properties": {
"city": {
"type": "string"
},
"street": {
"type": "string"
},
"country": {
"type": "string"
},
"postal_code": {
"type": "string"
}
},
"additionalProperties": {}
},
"website": {
"type": "string"
},
"whatsapp": {
"type": "string"
},
"order_email": {
"type": "string"
}
},
"additionalProperties": {}
},
"payment": {
"type": "object",
"required": [
"methods",
"currency",
"prices_include_vat",
"prices_include_delivery"
],
"properties": {
"methods": {
"type": "string"
},
"currency": {
"type": "string"
},
"prices_include_vat": {
"type": "boolean"
},
"prices_include_delivery": {
"type": "boolean"
}
},
"additionalProperties": {}
},
"returns": {
"type": "object",
"required": [
"window_days",
"conditions",
"return_shipping_paid_by",
"how_to_request",
"quality_complaints",
"policy_url"
],
"properties": {
"conditions": {
"type": "string"
},
"policy_url": {
"type": "string"
},
"window_days": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"how_to_request": {
"type": "string"
},
"quality_complaints": {
"type": "string"
},
"return_shipping_paid_by": {
"type": "string"
}
},
"additionalProperties": {}
},
"language": {
"type": "string"
},
"ordering": {
"type": "object",
"required": [
"order_placed_by_mcp",
"payment_taken_by_mcp",
"steps",
"checkout_host",
"limits",
"price_authority"
],
"properties": {
"steps": {
"type": "array",
"items": {
"type": "string"
}
},
"limits": {
"type": "object",
"required": [
"max_lines_per_cart",
"max_quantity_per_line"
],
"properties": {
"max_lines_per_cart": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"max_quantity_per_line": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
}
},
"additionalProperties": {}
},
"checkout_host": {
"type": "string"
},
"price_authority": {
"type": "string"
},
"order_placed_by_mcp": {
"type": "boolean"
},
"payment_taken_by_mcp": {
"type": "boolean"
}
},
"additionalProperties": {}
},
"policies": {
"type": "object",
"required": [
"shipping",
"returns",
"terms",
"privacy",
"contact",
"horeca"
],
"properties": {
"terms": {
"type": "string"
},
"horeca": {
"type": "string"
},
"contact": {
"type": "string"
},
"privacy": {
"type": "string"
},
"returns": {
"type": "string"
},
"shipping": {
"type": "string"
}
},
"additionalProperties": {}
},
"shipping": {
"type": "object",
"required": [
"summary",
"ships_from",
"currency",
"countries",
"country_names_en",
"other_countries",
"zones",
"free_standard_shipping",
"delivery_note",
"policy_url"
],
"properties": {
"zones": {
"type": "array",
"items": {
"type": "object",
"required": [
"countries",
"rate_eur",
"delivery_business_days",
"delivery_time"
],
"properties": {
"rate_eur": {
"type": "number"
},
"countries": {
"type": "array",
"items": {
"type": "string"
}
},
"delivery_time": {
"type": "string"
},
"import_duties": {
"type": "string"
},
"delivery_business_days": {
"type": "object",
"required": [
"min",
"max"
],
"properties": {
"max": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"min": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
}
},
"additionalProperties": {}
},
"free_standard_shipping_from_eur": {
"type": "number"
}
},
"additionalProperties": {}
}
},
"summary": {
"type": "string"
},
"currency": {
"type": "string"
},
"countries": {
"type": "array",
"items": {
"type": "string"
}
},
"policy_url": {
"type": "string"
},
"ships_from": {
"type": "string"
},
"delivery_note": {
"type": "string"
},
"other_countries": {
"type": "string"
},
"country_names_en": {
"type": "array",
"items": {
"type": "string"
}
},
"free_standard_shipping": {
"type": "object",
"required": [
"threshold_eur",
"countries",
"basis"
],
"properties": {
"basis": {
"type": "string"
},
"countries": {
"type": "array",
"items": {
"type": "string"
}
},
"threshold_eur": {
"type": "number"
}
},
"additionalProperties": {}
}
},
"additionalProperties": {}
},
"assistant": {
"type": "object",
"required": [
"name",
"url",
"description"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
}
},
"additionalProperties": {}
},
"age_policy": {
"type": "object",
"required": [
"minimum_age",
"notice"
],
"properties": {
"notice": {
"type": "string"
},
"minimum_age": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
}
},
"additionalProperties": {}
},
"contact_availability": {
"type": "object",
"required": [
"note",
"hours"
],
"properties": {
"note": {
"type": "string"
},
"hours": {
"type": "array",
"items": {
"type": "object",
"required": [
"days",
"hours"
],
"properties": {
"days": {
"type": "string"
},
"hours": {
"type": "string"
}
},
"additionalProperties": {}
}
}
},
"additionalProperties": {}
}
},
"additionalProperties": {}
}{
"title": "Store information",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_cart — Create cart
Creates a new Shopify cart with wine variants (variant_id from search_wines or get_wine) and returns cart_id, the items with live prices, the subtotal and checkout_url. No order is placed and no payment is taken here; checkout_url opens the checkout on shop.nevini.wine. Requires buyer_is_18_or_older: true, set only after the user has confirmed being 18 or older. To add wines to a cart the user already has, use add_to_cart instead.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"items",
"buyer_is_18_or_older"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"variant_id",
"quantity"
],
"properties": {
"quantity": {
"type": "integer",
"maximum": 24,
"minimum": 1,
"description": "Number of bottles, 1-24."
},
"variant_id": {
"type": "string",
"pattern": "^gid:\\/\\/shopify\\/ProductVariant\\/\\d+$",
"maxLength": 80,
"description": "Shopify variant id from search_wines (default_variant_id) or get_wine (variants[].variant_id)."
}
},
"additionalProperties": false
},
"maxItems": 25,
"minItems": 1,
"description": "Wines to add. Duplicate variant ids are merged; a cart holds at most 25 different variants."
},
"language": {
"enum": [
"nl",
"en"
],
"type": "string",
"description": "Language of item names and of the checkout: \"nl\" (default) or \"en\"."
},
"buyer_is_18_or_older": {
"type": "boolean",
"description": "Confirms that the buyer is 18 or older and that the order is not for anyone under 18. Set it to true only after the user has said so in this conversation; if they have not, ask them first. The cart is only created when this is true."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cart_id",
"order_placed",
"currency",
"items",
"total_quantity",
"subtotal_eur",
"checkout_url",
"next_step",
"shipping_note",
"warnings"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"line_id",
"variant_id",
"wine_id",
"name",
"vintage",
"size",
"size_label",
"quantity",
"unit_price_eur",
"line_subtotal_eur",
"url"
],
"properties": {
"url": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"size": {
"type": [
"string",
"null"
]
},
"line_id": {
"type": "string"
},
"vintage": {
"type": [
"string",
"null"
]
},
"wine_id": {
"anyOf": [
{
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
{
"type": "null"
}
]
},
"quantity": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"size_label": {
"type": [
"string",
"null"
]
},
"variant_id": {
"type": [
"string",
"null"
]
},
"unit_price_eur": {
"type": "number"
},
"line_subtotal_eur": {
"type": "number"
}
},
"additionalProperties": {}
}
},
"cart_id": {
"type": "string"
},
"currency": {
"type": "string",
"const": "EUR"
},
"warnings": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"next_step": {
"type": "string"
},
"checkout_url": {
"type": "string"
},
"order_placed": {
"type": "boolean",
"const": false
},
"subtotal_eur": {
"type": "number"
},
"shipping_note": {
"type": "string"
},
"total_quantity": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
}
},
"additionalProperties": {}
}{
"title": "Create cart",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}add_to_cart — Add to cart
Adds wine variants to an existing cart; quantities add up with lines already in the cart. Returns the updated cart and checkout_url. No order is placed and no payment is taken here; checkout_url opens the checkout on shop.nevini.wine. Use create_cart when there is no cart yet and update_cart to change or remove lines already in the cart.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cart_id",
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"variant_id",
"quantity"
],
"properties": {
"quantity": {
"type": "integer",
"maximum": 24,
"minimum": 1,
"description": "Number of bottles, 1-24."
},
"variant_id": {
"type": "string",
"pattern": "^gid:\\/\\/shopify\\/ProductVariant\\/\\d+$",
"maxLength": 80,
"description": "Shopify variant id from search_wines (default_variant_id) or get_wine (variants[].variant_id)."
}
},
"additionalProperties": false
},
"maxItems": 25,
"minItems": 1,
"description": "Wines to add. Duplicate variant ids are merged; a cart holds at most 25 different variants."
},
"cart_id": {
"type": "string",
"maxLength": 1024,
"minLength": 1,
"description": "cart_id exactly as returned by create_cart, including its ?key= part."
},
"language": {
"enum": [
"nl",
"en"
],
"type": "string",
"description": "Language of item names and of the checkout: \"nl\" (default) or \"en\"."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cart_id",
"order_placed",
"currency",
"items",
"total_quantity",
"subtotal_eur",
"checkout_url",
"next_step",
"shipping_note",
"warnings"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"line_id",
"variant_id",
"wine_id",
"name",
"vintage",
"size",
"size_label",
"quantity",
"unit_price_eur",
"line_subtotal_eur",
"url"
],
"properties": {
"url": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"size": {
"type": [
"string",
"null"
]
},
"line_id": {
"type": "string"
},
"vintage": {
"type": [
"string",
"null"
]
},
"wine_id": {
"anyOf": [
{
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
{
"type": "null"
}
]
},
"quantity": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"size_label": {
"type": [
"string",
"null"
]
},
"variant_id": {
"type": [
"string",
"null"
]
},
"unit_price_eur": {
"type": "number"
},
"line_subtotal_eur": {
"type": "number"
}
},
"additionalProperties": {}
}
},
"cart_id": {
"type": "string"
},
"currency": {
"type": "string",
"const": "EUR"
},
"warnings": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"next_step": {
"type": "string"
},
"checkout_url": {
"type": "string"
},
"order_placed": {
"type": "boolean",
"const": false
},
"subtotal_eur": {
"type": "number"
},
"shipping_note": {
"type": "string"
},
"total_quantity": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
}
},
"additionalProperties": {}
}{
"title": "Add to cart",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}update_cart — Update cart
Sets the quantity of existing cart lines by line_id; quantity 0 removes a line. Returns the updated cart and checkout_url. No order is placed and no payment is taken here; checkout_url opens the checkout on shop.nevini.wine. line_id comes from create_cart, add_to_cart or get_cart; use add_to_cart for wines that are not in the cart yet.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cart_id",
"lines"
],
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"line_id",
"quantity"
],
"properties": {
"line_id": {
"type": "string",
"maxLength": 512,
"minLength": 1,
"description": "line_id of an item in the latest cart result."
},
"quantity": {
"type": "integer",
"maximum": 24,
"minimum": 0,
"description": "New number of bottles, 0-24; 0 removes the line."
}
},
"additionalProperties": false
},
"maxItems": 25,
"minItems": 1
},
"cart_id": {
"type": "string",
"maxLength": 1024,
"minLength": 1,
"description": "cart_id exactly as returned by create_cart, including its ?key= part."
},
"language": {
"enum": [
"nl",
"en"
],
"type": "string",
"description": "Language of item names and of the checkout: \"nl\" (default) or \"en\"."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cart_id",
"order_placed",
"currency",
"items",
"total_quantity",
"subtotal_eur",
"checkout_url",
"next_step",
"shipping_note",
"warnings"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"line_id",
"variant_id",
"wine_id",
"name",
"vintage",
"size",
"size_label",
"quantity",
"unit_price_eur",
"line_subtotal_eur",
"url"
],
"properties": {
"url": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"size": {
"type": [
"string",
"null"
]
},
"line_id": {
"type": "string"
},
"vintage": {
"type": [
"string",
"null"
]
},
"wine_id": {
"anyOf": [
{
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
{
"type": "null"
}
]
},
"quantity": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"size_label": {
"type": [
"string",
"null"
]
},
"variant_id": {
"type": [
"string",
"null"
]
},
"unit_price_eur": {
"type": "number"
},
"line_subtotal_eur": {
"type": "number"
}
},
"additionalProperties": {}
}
},
"cart_id": {
"type": "string"
},
"currency": {
"type": "string",
"const": "EUR"
},
"warnings": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"next_step": {
"type": "string"
},
"checkout_url": {
"type": "string"
},
"order_placed": {
"type": "boolean",
"const": false
},
"subtotal_eur": {
"type": "number"
},
"shipping_note": {
"type": "string"
},
"total_quantity": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
}
},
"additionalProperties": {}
}{
"title": "Update cart",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}get_cart — Get cart
Returns the current lines, live prices, subtotal and checkout_url of a cart. No order is placed and no payment is taken here; checkout_url opens the checkout on shop.nevini.wine. It changes nothing; use it to show the cart again or to look up line_id for update_cart.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cart_id"
],
"properties": {
"cart_id": {
"type": "string",
"maxLength": 1024,
"minLength": 1,
"description": "cart_id exactly as returned by create_cart, including its ?key= part."
},
"language": {
"enum": [
"nl",
"en"
],
"type": "string",
"description": "Language of item names and of the checkout: \"nl\" (default) or \"en\"."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cart_id",
"order_placed",
"currency",
"items",
"total_quantity",
"subtotal_eur",
"checkout_url",
"next_step",
"shipping_note",
"warnings"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"line_id",
"variant_id",
"wine_id",
"name",
"vintage",
"size",
"size_label",
"quantity",
"unit_price_eur",
"line_subtotal_eur",
"url"
],
"properties": {
"url": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"size": {
"type": [
"string",
"null"
]
},
"line_id": {
"type": "string"
},
"vintage": {
"type": [
"string",
"null"
]
},
"wine_id": {
"anyOf": [
{
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
{
"type": "null"
}
]
},
"quantity": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"size_label": {
"type": [
"string",
"null"
]
},
"variant_id": {
"type": [
"string",
"null"
]
},
"unit_price_eur": {
"type": "number"
},
"line_subtotal_eur": {
"type": "number"
}
},
"additionalProperties": {}
}
},
"cart_id": {
"type": "string"
},
"currency": {
"type": "string",
"const": "EUR"
},
"warnings": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"next_step": {
"type": "string"
},
"checkout_url": {
"type": "string"
},
"order_placed": {
"type": "boolean",
"const": false
},
"subtotal_eur": {
"type": "number"
},
"shipping_note": {
"type": "string"
},
"total_quantity": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
}
},
"additionalProperties": {}
}{
"title": "Get cart",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
1 advertised
order_wine — Order wine from NEVINI
Starts an order with the order-nevini-wine skill: find a wine, confirm it and the buyer's age, create a Shopify cart and hand over checkout_url. The customer pays on shop.nevini.wine.
- wine
- One word or slug for the wine, e.g. "bianchello" or "guerriero-della-terra".
- quantity
- Number of bottles, e.g. "2".
Resources
1 advertised
order-nevini-wine — Order wine from NEVINI (skill)
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.
skill://order-nevini-wine/SKILL.md30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 862 ms
- 95th percentile latency
- 862 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 862 ms · metadata changed · 8 tool(s), 1 resource(s), 0 resource template(s), 1 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http nevini-wines-mcp https://nevini.wine/api/mcp/Codex
codex mcp add nevini-wines-mcp --url https://nevini.wine/api/mcp/Cursor
{
"mcpServers": {
"nevini-wines-mcp": {
"url": "https://nevini.wine/api/mcp/"
}
}
}Cline
{
"mcpServers": {
"nevini-wines-mcp": {
"type": "streamableHttp",
"url": "https://nevini.wine/api/mcp/",
"disabled": false
}
}
}VS Code
{
"servers": {
"nevini-wines-mcp": {
"type": "http",
"url": "https://nevini.wine/api/mcp/"
}
}
}Gemini CLI
gemini mcp add --transport http nevini-wines-mcp https://nevini.wine/api/mcp/Claude Desktop
{
"mcpServers": {
"nevini-wines-mcp": {
"url": "https://nevini.wine/api/mcp/"
}
}
}Windsurf
{
"mcpServers": {
"nevini-wines-mcp": {
"serverUrl": "https://nevini.wine/api/mcp/"
}
}
}Let your agent find its tools
Find servers like NEVINI Wines MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other commerce servers
Do you run NEVINI Wines MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.