Skip to main content
Glama

Server Details

Find wines and compare live merchant prices in your region. Fair-deal search, My wine OAuth login.

Ownership verified

The last two health checks of this connector failed. 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.8% over 47 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.6/5.0

Scored across 5 tools

Disambiguation4/5

Each tool targets a distinct action: reading the profile region, listing selectable regions, searching offers, searching retailers, and setting the region. The only mild overlap is between get_user_region and list_available_regions (both region-related reads), but descriptions clearly separate 'current region' from 'selectable options', and search_offers vs search_shops are explicitly contrasted.

Naming Consistency5/5

All five names use a consistent snake_case verb_noun pattern (get_user_region, set_user_region, list_available_regions, search_offers, search_shops). The get/set and search_* families reinforce a predictable convention.

Tool Count5/5

Five tools is a well-scoped set for a wine sommelier/marketplace flow, with each tool earning its place. No redundant or padding tools are present.

Completeness4/5

The surface covers the full region lifecycle (get/list/set) plus both offer and retailer search, which is coherent for the stated purpose. Minor gap: no tool to fetch detail for a single offer or a specific retailer's catalog, though search results already include prices and purchase links.

Available Tools

5 tools
get_user_regionGet user regionA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive), and the description adds substantial non-obvious context: the backend does not flag which candidate currency is the country's own, the agent must infer it via world knowledge, and the choice must be remembered and reused for the rest of the conversation. That is real behavioral disclosure beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then usage, then the tricky currency-selection nuance. The parenthetical examples (JP→JPY, CH→CHF, GB→GBP) are illustrative but slightly verbose; overall it is dense and every section earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists, the description adds interpretation guidance the schema cannot: the candidate currency list is a broad superset, and the agent must pick the country's own currency and reuse it. Nothing needed to call or act on this tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. The description does useful work by explaining what the (param-less) call returns and how to interpret the candidate currency set, though strictly there are no parameters whose semantics need clarifying.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource ('Fetch the user's marketplace region from their profile') and explicitly distinguishes the region from other region-related operations by naming the siblings set_user_region and list_available_regions. An agent can immediately tell this apart from its siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ('Call this before questioning'), names the alternatives for the mutation path (list_available_regions, set_user_region), and states the exclusion condition ('only on the user's explicit request, never on your own initiative'). It also prescribes downstream behavior (pass the currency as search_offers's price_currency).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_available_regionsList available regionsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds that results are permission-scoped ('the user's profile can be set to') and describes ordering/contents, which is behavioral context beyond the annotations, though the return-format detail is partly redundant with the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the purpose before the usage trigger, then the return shape. No filler and every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A parameterless, read-only lookup with full annotation coverage and an output schema. The description supplies purpose, trigger, sibling relationship, and ordering, leaving nothing an agent needs before calling it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so there is nothing for the description to document; per the baseline this scores 4. The description correctly adds no phantom parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope: 'List the marketplace regions (countries) the user's profile can be set to.' The parenthetical and the profile-scoping clearly separate it from siblings get_user_region (single current value) and set_user_region (mutation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit triggers—user wants to change region, show options, or validate a named country—and names the downstream sibling set_user_region, positioning this as a prerequisite step. An agent knows both when to call it and what it feeds into.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_offersSearch wine offersA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
queryYes
vintageNo
price_maxYes
price_minYes
shop_namesNo
price_currencyYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive behavior. The description adds that it returns a preformatted, ready-to-display list of offers, never abstract products, and that every result is a real shop listing with price and purchase link. Could add more on pagination or error handling, but sufficient given annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with front-loaded purpose and bulleted important rules. However, the 'Args:' section repeats several parameter details already covered in the IMPORTANT section, introducing redundancy. Still appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters (4 required), output schema, and annotations, the description covers all necessary context: usage flow, parameter semantics, return format, and dependencies on sibling tools. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden. It thoroughly explains each parameter: query formatting (English keywords, semantic translation, exclusions), price_min/max required with mapping rules, price_currency from get_user_region, vintage inclusion in query, and shop_names from search_shops. Fully compensates for schema gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb 'search' and resource 'offers', and clarifies it returns real retail listings rather than abstract products. It also distinguishes itself from siblings by positioning itself as the end of the sommelier flow after collecting preferences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to call (after collecting preferences) and when to call other tools first (search_shops for shop_names, get_user_region for price_currency). Provides detailed constraints on query format and price parameter derivation, leaving no ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_shopsSearch wine shopsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
queryYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 regionA
DestructiveIdempotent
Inspect

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).

NameRequiredDescriptionDefault
countryYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it discloses that the write is account-persistent and applies across all of My Wine, that it is reversible by calling again with the previous country (which the result reports), and that invalid countries cause a refusal with no state change. These are exactly the side-effect details destructiveHint/idempotentHint cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action, then persistence scope, then usage constraints, then the argument. Every sentence adds a distinct fact (persistence, undo path, explicit-request constraint, lookup fallback, refusal behavior); there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-param mutating tool with annotations plus an output schema, the description supplies everything else an agent needs: preconditions, persistence semantics, reversal path, and failure behavior. No behavioral gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden and does: it states the value must come from list_available_regions, that matching is case-insensitive, and that unrecognized/backend-disallowed values are rejected without mutation. That is complete guidance for the single required param.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence gives a precise verb+resource ('Change the user's marketplace region (profile country)'), with a parenthetical clarifying what 'region' means. It is unmistakably distinct from the read-only sibling get_user_region and from the lookup tool list_available_regions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('Only call this on the user's EXPLICIT request'), explicit when-not ('never as part of the normal sommelier flow, and never on your own initiative'), and an explicit fallback alternative ('call list_available_regions first'). Nothing about selection is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Addedlist_available_regions
    • Changedsearch_offers2 fields changed
      • removedInput schema / properties / price_currency / default
        Removed value: -""
      • changedInput schema / required
        Previous value: -[
        -  "query",
        -  "price_min",
        -  "price_max"
        -]New value: +[
        +  "query",
        +  "price_min",
        +  "price_max",
        +  "price_currency"
        +]
    • Addedset_user_region
  2. 3 tool updates
    • First observedget_user_region
    • First observedsearch_offers
    • First observedsearch_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
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

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    85 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to identify wines from text, retrieve detailed vintage fact sheets, and search observed Swiss-market shop prices, all with read-only MCP tools.
    5
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables users to compare and get recommendations across multiple supermarket products, combining curated specifications with realtime price and review lookups.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources