Cork & Curve wine travel

Verified wineries and wine bars in 31 regions with provenance, wine festivals, tours and stays.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
87%
Calidad de los nombres
82%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,084Tokens (definiciones de herramientas)
~2.5 KBTamaño de respuesta típico
Impacto significativo en la atención (2.41% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "wine-travel": {
      "url": "https://corkandcurve.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://corkandcurve.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (10)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_places(query, country, city, kind, cuisine, ...)

Search verified venues (read-only). Filter by text, city, kind (a topic such as vineyards, tasting-rooms, wine-bars, wine-restaurants, wine-retailers, distilleries, or a group: visit, drink, buy, do), cuisine, dietary, price tier, opening time, or near a coordinate. Results are ranked by relevance then editorial score and carry provenance (source URL, checked_on, open_status), hours, a page URL to cite and a tracked booking link where one exists. Returns at most `limit` items; an unknown city returns {did_you_mean: [...]} instead of a list.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Free text: a venue name, dish, cuisine, neighbourhood or theme.",
      "title": "Query"
    },
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Country slug or name, e.g. 'italy'. Optional where city is given.",
      "title": "Country"
    },
    "city": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean.",
      "title": "City"
    },
    "kind": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A topic slug (vineyards, tasting-rooms, wine-bars, wine-restaurants, wine-retailers, distilleries...) or a group: visit, drink, buy, do.",
      "title": "Kind"
    },
    "cuisine": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Cuisine slug or name, e.g. 'sichuan', 'neapolitan pizza'.",
      "title": "Cuisine"
    },
    "near": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "'lat,lng' to search around a point; results then sort by distance.",
      "title": "Near"
    },
    "radius_km": {
      "default": 3,
      "description": "Radius for near, in km.",
      "title": "Radius Km",
      "type": "number"
    },
    "limit": {
      "default": 20,
      "description": "Maximum results (1-100).",
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "description": "Skip this many results, for paging.",
      "title": "Offset",
      "type": "integer"
    },
    "dietary": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "vegan, vegetarian, gluten-free, halal, kosher...",
      "title": "Dietary"
    },
    "price_tier": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The site's tier symbols for the country, e.g. '€€' or '$$$'.",
      "title": "Price Tier"
    },
    "open_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "'now', a weekday and time such as 'sunday 10:00', or an ISO datetime (UTC). Venues with unparseable hours are returned last, flagged.",
      "title": "Open At"
    }
  },
  "title": "t_placesArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "additionalProperties": true,
          "type": "object"
        }
      ],
      "title": "Result"
    }
  },
  "required": [
    "result"
  ],
  "title": "t_placesOutput"
}
🟢plan_day(country, city, neighborhood, dietary, price_tier, ...)

Compose a wine day for one city (read-only): one best-scored open venue per slot from morning to evening, filtered by neighbourhood, dietary need and price tier, every stop open on the given date, plus one bookable experience. Also lists the titles of the editorial itineraries for the city, which are the better plan when one exists (fetch them with `itineraries`).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "country": {
      "description": "Country slug or name, e.g. 'italy'. Optional where city is given.",
      "title": "Country",
      "type": "string"
    },
    "city": {
      "description": "City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean.",
      "title": "City",
      "type": "string"
    },
    "neighborhood": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Neighbourhood name or slug to keep the day inside.",
      "title": "Neighborhood"
    },
    "dietary": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "vegan, vegetarian, gluten-free, halal, kosher...",
      "title": "Dietary"
    },
    "price_tier": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The site's tier symbols for the country, e.g. '€€' or '$$$'.",
      "title": "Price Tier"
    },
    "date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "ISO date, e.g. '2026-09-20'. Each stop is checked open at its slot time on that weekday.",
      "title": "Date"
    }
  },
  "required": [
    "country",
    "city"
  ],
  "title": "t_planArguments"
}
🟢place(id)

One venue in full by id (read-only): every field, provenance, hours, open_now_utc, the booking link and three nearby venues. Returns {error: ...} when the id is malformed or unknown.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "description": "The id search_places returned: country/city/kind/slug, e.g. 'italy/rome/restaurants/roscioli'.",
      "title": "Id",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "title": "t_placeArguments"
}
🟢festivals(country, city, date_from, date_to, query, ...)

Wine festivals with their next resolved dates (read-only). Filter by city, country, a date window and text. Each item carries starts_on/ends_on for the next edition, the organiser source URL and the page to cite.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Country slug or name, e.g. 'italy'. Optional where city is given.",
      "title": "Country"
    },
    "city": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean.",
      "title": "City"
    },
    "date_from": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Earliest end date to include, ISO. Defaults to today.",
      "title": "Date From"
    },
    "date_to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Latest start date to include, ISO.",
      "title": "Date To"
    },
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Free text: festival name, food or drink.",
      "title": "Query"
    },
    "limit": {
      "default": 20,
      "description": "Maximum results (1-100).",
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "t_festivalsArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "t_festivalsOutput"
}
🟢experiences(city, country, query, food_only, limit)

Bookable wine tours, tastings, cellar visits and tickets for a region. Read-only. Each item has price, rating, review count, duration and a tracked `book` link. Ranked by relevance to `query` when given, otherwise by popularity.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "city": {
      "description": "City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean.",
      "title": "City",
      "type": "string"
    },
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Country slug or name, e.g. 'italy'. Optional where city is given.",
      "title": "Country"
    },
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Free text, e.g. 'cooking class', 'wine tasting', 'market tour'.",
      "title": "Query"
    },
    "food_only": {
      "default": true,
      "description": "Keep only products on the site's theme (food and drink, or wine). Set false for everything bookable in the city.",
      "title": "Food Only",
      "type": "boolean"
    },
    "limit": {
      "default": 20,
      "description": "Maximum results (1-100).",
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "city"
  ],
  "title": "t_experiencesArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "t_experiencesOutput"
}
🟢stays(country, city, limit)

Hotels and stay partners for a city (read-only): hotel listings with a tracked booking link each, plus the partner search links that cover the city. Prices are not returned; the partner page has them.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "country": {
      "description": "Country slug or name, e.g. 'italy'. Optional where city is given.",
      "title": "Country",
      "type": "string"
    },
    "city": {
      "description": "City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean.",
      "title": "City",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "description": "Maximum hotel listings (1-50).",
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "country",
    "city"
  ],
  "title": "t_staysArguments"
}
🟢car_hire(country, city)

Car hire partners that verifiably cover a city (read-only): one entry per partner with the pickup facts we checked and a tracked booking link. Empty list when no partner covers the city.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "country": {
      "description": "Country slug or name, e.g. 'italy'. Optional where city is given.",
      "title": "Country",
      "type": "string"
    },
    "city": {
      "description": "City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean.",
      "title": "City",
      "type": "string"
    }
  },
  "required": [
    "country",
    "city"
  ],
  "title": "t_carsArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "t_carsOutput"
}
🟢dishes(country, city, query, limit)

Signature wines of a region and the producer to visit (read-only). Each item has a description, the venues resolved to ids and page URLs, and the page to cite; ranked by editorial score.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Country slug or name, e.g. 'italy'. Optional where city is given.",
      "title": "Country"
    },
    "city": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean.",
      "title": "City"
    },
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Free text: a dish, ingredient, style or grape.",
      "title": "Query"
    },
    "limit": {
      "default": 20,
      "description": "Maximum results (1-100).",
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "t_dishesArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "t_dishesOutput"
}
🟢itineraries(country, city)

Editorial day-by-day wine itineraries for a city (read-only): every venue resolved to an id, address, hours and page URL. Empty list when the city has none.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "country": {
      "description": "Country slug or name, e.g. 'italy'. Optional where city is given.",
      "title": "Country",
      "type": "string"
    },
    "city": {
      "description": "City slug or name, e.g. 'burgenland' or 'New York City'. Unknown cities answer with did_you_mean.",
      "title": "City",
      "type": "string"
    }
  },
  "required": [
    "country",
    "city"
  ],
  "title": "t_itinerariesArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "t_itinerariesOutput"
}
🟢cities(country)

Every city the site covers (read-only), with the country and city slugs the other tools accept and the hub page URL. Call first when unsure of coverage.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Country slug to filter by, e.g. 'italy'.",
      "title": "Country"
    }
  },
  "title": "t_citiesArguments"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "t_citiesOutput"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada10 herramientas
verificadoversión no registrada10 herramientas