My wine
Server Details
Find wines and compare live merchant prices in your region. Fair-deal search, My wine OAuth login.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 0.7% over 39 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a distinct purpose: get_user_region retrieves user context, search_offers finds wine offers, and search_shops finds retailers by name. There is no overlap or ambiguity between them; the descriptions clearly delineate when to use each.
All tool names follow a consistent verb_noun pattern: get_user_region, search_offers, search_shops. The verbs (get, search) and nouns (region, offers, shops) are clear and uniformly structured, making the set predictable.
Three tools is well-scoped for a focused wine sommelier flow: one to establish context, one to find offers, and one to resolve shop names. Each tool is essential and there is no unnecessary bloat; the count is appropriate for the domain.
The tools cover the entire workflow from retrieving user region to searching offers and optionally resolving shops. There are no obvious dead ends; the flow is self-contained and covers the stated purpose of providing wine offers with all necessary context.
Available Tools
5 toolsget_user_regionGet user regionRead-onlyIdempotentInspect
Fetch the user's marketplace region from their profile.
Call this before questioning. The marketplace region is the user's OWN country (where they buy) — taken from their profile. To change it, use list_available_regions and set_user_region — only on the user's explicit request, never on your own initiative.
The backend does not flag which returned currency is the country's own (it lists the same broad candidate set for most countries) — YOU must pick it using your general knowledge of the world (e.g. country code JP → JPY, CH → CHF, GB → GBP). Remember your choice for the rest of the conversation: always pass it as search_offers's price_currency, unless the user explicitly names a different currency.
Returns the region name/country code and, for each candidate currency, its price-tier thresholds (t1/t2/max) for cheap/mid/premium in search_offers.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
list_available_regionsList available regionsRead-onlyIdempotentInspect
List the marketplace regions (countries) the user's profile can be set to.
Call this when the user asks to change their marketplace region, to show them the options or to check whether a country they named is actually selectable before calling set_user_region.
Returns each allowed country name with its ISO code, sorted alphabetically.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
search_offersSearch wine offersRead-onlyIdempotentInspect
Search live purchase offers for wine, scoped to the user's marketplace region.
This is the end of the sommelier flow — call it once you have collected the user's preferences (see the /sommelier prompt). It always returns retail OFFERS (never abstract products): every result is a real listing from a shop with a price and a purchase link.
IMPORTANT:
query MUST be English space-separated keywords, NO commas/prepositions. Use "" if the user specified no wine characteristics. Apply semantic translation (e.g. "шампанское" → "Champagne"; "steak" → "red tannic bold Cabernet Sauvignon"). NEVER include a city, price, currency, shop name, or the word "wine".
price_min and price_max are REQUIRED. If the user named a number with price intent, use it exactly. Otherwise map cheap/mid/premium to the t1/t2/max thresholds from get_user_region. For a range ("от 20 до 50") set BOTH bounds — never drop the lower one.
price_currency is REQUIRED: the currency you determined in get_user_region (STEP 1), unless the user explicitly named a different one.
vintage: set to the exact year AND also include that year in query whenever the user names a specific year. Omit if no year was mentioned.
shop_names: only when the user named a retailer — pass the exact "Name (ID)" strings returned by search_shops (call search_shops FIRST).
Returns a preformatted, ready-to-display list of offers.
Args: query: English space-separated wine keywords (may be ""). price_min: Minimum price (usually 0.01 unless a lower bound was given). price_max: Maximum price. price_currency: ISO currency code (e.g. "EUR", "JPY") — see get_user_region. shop_names: Up to 5 "Name (ID)" strings from search_shops, or omit. vintage: Specific vintage year, or omit if none.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| vintage | No | ||
| price_max | Yes | ||
| price_min | Yes | ||
| shop_names | No | ||
| price_currency | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
search_shopsSearch wine shopsARead-onlyIdempotentInspect
Search for wine RETAILERS / STORES by name (e.g. Waitrose, Majestic, Tesco, Systembolaget, Wine.com), scoped to the user's marketplace region.
Call this ONLY when the user explicitly names a retail store. Do NOT call it for wine producers, châteaux, domaines, wineries or brands — those go in the "query" of search_offers.
Returns up to 20 matching shops that actually have offers in the user's region, each as "Name (ID)". Pass the exact "Name (ID)" strings of the up-to-5 best matches into search_offers's shop_names.
Args: query: Shop name or partial name the user mentioned.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint=true, idempotentHint=true, destructiveHint=false), and the description adds behavioral context beyond them: results are filtered to shops that 'actually have offers in the user's region', limited to 20, formatted as 'Name (ID)', and the caller must pass exact strings into search_offers. The only minor gap is that return-limit/format overlap partly with what an output schema would convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: scope, routing rule, exclusion, return format, downstream chaining, and parameter semantics. It is front-loaded with the core purpose before the usage caveats. Slightly longer than minimal, but the sibling-routing and format-convention details justify the length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, this description is complete: it covers the main failure modes (confusing shops with producers, misusing the returned names), explains the region scoping, and documents the downstream integration with search_offers's shop_names. The output schema handles return structure and annotations handle safety, leaving no material gap for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the full burden for the query parameter. The Args section ('Shop name or partial name the user mentioned') plus the inline examples (Waitrose, Majestic, Tesco) add real meaning beyond the bare schema field titled 'Query'. It doesn't address edge details like case sensitivity, but with a single simple parameter it is nearly sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Search for wine RETAILERS / STORES by name') and clearly scopes it to the user's marketplace region. It explicitly distinguishes itself from siblings by naming what it is NOT for (producers, châteaux, domaines, wineries, brands), so an agent can reliably tell it apart from search_offers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit trigger condition ('Call this ONLY when the user explicitly names a retail store'), an explicit exclusion condition ('Do NOT call it for wine producers...'), and names the exact alternative ('those go in the "query" of search_offers'). This is model guidance for when-to-use versus when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_user_regionSet user regionDestructiveIdempotentInspect
Change the user's marketplace region (profile country).
This overwrites the country saved on the user's My Wine account, so the change applies across My Wine, not only to this conversation. It can be undone by calling this again with the previous country, which the result reports.
Only call this on the user's EXPLICIT request to change their region — never as part of the normal sommelier flow, and never on your own initiative. If unsure of the exact spelling, call list_available_regions first. If the named country isn't one the backend allows in a user profile, this refuses and does not change anything.
Args: country: Country name, as returned by list_available_regions (case-insensitive).
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Added
list_available_regions - Changed
search_offers2 fields changed- removed
Input schema / properties / price_currency / defaultRemoved value: -"" - changed
Input schema / requiredPrevious value: -[ - "query", - "price_min", - "price_max" -]New value: +[ + "query", + "price_min", + "price_max", + "price_currency" +]
- Added
set_user_region
3 tool updates
- First observed
get_user_region - First observed
search_offers - First observed
search_shops
Publisher details
- Operator
- Norpexal Supply Chain Participations GmbH (World Wine List / My wine), Steinhausen, Switzerland · Publisher source
- Operator website
- https://mywine.dev
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://mywine.dev/mcp/documentation
- Trust center
- Not available
- Restrictions
- A free My wine account is required. Sign-in uses OAuth 2.1 with PKCE and dynamic client registration at auth.mywine.dev, so no custom OAuth app or client credentials are needed. No paid plan, no admin approval and no allow-list. Four of the five tools are read-only; the exception is set_user_region, which changes the marketplace region on the signed-in user's own profile when asked. Offers are returned for the region set in that profile. · Publisher source
Related MCP Connectors
Wine matching, pricing, auctions, exchange, merchant, critic, portfolio, and cellar intelligence.
Public wine registry and guides: search wines, grapes, regions, appellations. No account.
Wine cellar manager: bottles, racks, drink windows, pairings and a shared wine registry.
Search 20,000+ wineries worldwide by region, amenities, hours, tasting fees and bookings.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables buyer-side AI agents to search every wholesaler catalogue on the hub at once, compare drinks field by field, identify the maker, and retrieve the trade channel for ordering across European countries. It serves beer, wine, spirits, cider and ready-to-drink products for business-to-business trade only.380 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables users to compare and get recommendations across multiple supermarket products, combining curated specifications with realtime price and review lookups.-
- FlicenseNot gradedqualityFmaintenanceSemantic product search and price-intelligence API over Singapore e-commerce data. Computes auditable value-scores from Shannon entropy across vendor price distributions, with pay-per-call pricing via x402 (USDC) alongside Stripe.-
- FlicenseNot gradedqualityBmaintenanceEnables searching and comparing product prices across major Indian quick-commerce and e-commerce platforms, ranking results by landed price, returning product links, storing price history, and providing 15–30 day price direction forecasts with best-buy recommendations.-
Glama MCP Gateway
Add one secure layer between your agents and this server.