The problem with asking a base language model to plan a wine trip is not that it refuses — it's that it answers confidently and incorrectly. Winery names are plausible but sometimes wrong. Visiting hours are fabricated. Producers that have changed their model are still described as they were at training time. The output reads well and survives until it hits contact with reality.
MCP (Model Context Protocol) changes this. Instead of Claude guessing, it queries structured data in real time. The TheWineTrip MCP server connects Claude Desktop to 45,268 GPS-mapped wineries, 18 regional guides, and day-by-day itinerary generation. Setup takes 5 minutes.
What You Need
- [Claude Desktop](https://claude.ai/download) (Mac or Windows) - Node.js 18 or later
That's it. The MCP server is published on npm and Claude manages the process automatically.
Installation
One command:
```bash npm install -g thewinetrip-mcp-server ```
Then open your Claude Desktop config file. On Mac: `~/Library/Application Support/Claude/claude_desktop_config.json`. On Windows: `%APPDATA%\Claude\claude_desktop_config.json`.
Add this to the `mcpServers` object:
```json { "mcpServers": { "thewinetrip": { "command": "npx", "args": ["-y", "thewinetrip-mcp-server"] } } } ```
Restart Claude Desktop. The server appears in the tool list — you'll see a small MCP indicator in the interface when it's active.
What Claude Can Now Do
The MCP server exposes four tools that Claude selects automatically based on your question:
**list_regions** — Claude knows which 18 regions are in the database and won't suggest regions it can't support.
**get_region** — Pulls the full regional guide: harvest calendar, climate, wine styles, sub-regional breakdown, appointment culture, accommodation tiers, logistics. When you ask about Barossa visiting times, Claude is reading actual Barossa data, not training-data generalities.
**search_wineries** — GPS-based winery lookup filtered by region and name. Real coordinates, real website URLs. If you ask Claude to find Torbreck in the Barossa, it queries the database — it doesn't guess.
**plan_trip** — Generates a structured day-by-day itinerary from region, duration, and style parameters. Claude can invoke this automatically when you describe what you want, then explain the output conversationally.
Prompts That Work Well
**Region match:** "I want a 5-day wine trip. I'm flying from London, my budget is around £200/day all-in, and I prefer elegant reds over big bold ones. Which region should I visit?"
Claude will call `list_regions` to check what's available, then use region data to reason about your constraints. It won't suggest Marlborough (not in the database) or hallucinate a budget figure for Champagne.
**Specific itinerary:** "Plan a 4-day serious wine trip to Burgundy for someone who knows their appellations and wants barrel tastings where possible."
Claude calls `get_region` for Burgundy context (Côte de Nuits vs Côte de Beaune, appointment culture, harvest timing) then `plan_trip` with the serious style parameter. The day-by-day output cites real winery names and sub-regional routing.
**Producer research:** "I want to visit the best old vine Shiraz producers in the Barossa. Which ones take visitors and what's the booking situation?"
Claude calls `search_wineries` for Barossa, then `get_region` for context on the appointment culture there. The winery names in the response are real records with website URLs you can follow.
**Comparison:** "I'm deciding between Douro and Mendoza for a 4-day trip in October. What are the main differences in terms of access, cost, and wine style?"
Claude calls `get_region` for both, then compares the harvest timing (October is peak harvest in Douro; late harvest in Mendoza), accommodation costs, and wine styles from the actual data.
What the Data Looks Like Behind the Answers
When Claude answers a question about Barossa harvest timing, it has pulled this from the region guide: - Harvest months: February–March - Climate notes: hot days, cool nights, old vine Shiraz concentration - Appointment culture: cellar doors generally walk-in friendly; Henschke requires advance booking
When it lists must-visit producers, those names come from the `mustVisitWineries` field in the region data — not from training weights.
This is the practical difference: responses that are specific, traceable, and correctable. If something is wrong in our data, we can fix it and the next query reflects the fix.
Extending with the REST API
The MCP server uses the same data as the REST API. If you want to build on the data in your own application rather than through Claude conversations, the [/developers](/developers) page has the full API reference, OpenAPI 3.0 spec, and rate limit details. The free tier is 100 requests/day with no API key required.
For Claude-based workflows that don't require Claude Desktop — web-based agent pipelines, API-connected workflows, production AI features — see our [developer tutorial on building an AI wine trip recommender](/blog/build-ai-wine-trip-recommender) using the REST API and Anthropic SDK directly.