# ARVI Wine Catalog (remote · mcp.arvi.ch)

Swiss merchant ARVI SA: 27,000+ fine & rare wine labels, 300,000+ bottles ready to ship. No auth.

- Trust score: 67/100 (medium)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.arvi.ch`: 67/100 (this document), [markdown](https://verifymcp.io/servers/ch-arvi-catalog/mcp.md), [page](https://verifymcp.io/servers/ch-arvi-catalog/mcp)

## Channel facts

- Endpoint: `https://mcp.arvi.ch/`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.10.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 60/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 6 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 79/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1355 tokens (~225/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http ch-arvi-catalog https://mcp.arvi.ch/
```

### Codex

```toml
[mcp_servers.ch-arvi-catalog]
url = "https://mcp.arvi.ch/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ch-arvi-catalog": {
      "type": "remote",
      "url": "https://mcp.arvi.ch/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ch-arvi-catalog --url https://mcp.arvi.ch/ --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ch-arvi-catalog:
    url: "https://mcp.arvi.ch/"
```

### Other

```json
{
  "mcpServers": {
    "ch-arvi-catalog": {
      "type": "http",
      "url": "https://mcp.arvi.ch/"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 65, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 65, −2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 65, +3)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 62)

First indexed and scored.

## MCP tools (6)

### `search_shop_catalog` (~471 tokens)

Search the ARVI wine catalog

Search the live catalog of ARVI SA (arvi.ch), a Swiss merchant of fine and rare wines and spirits. Use this instead of a web search whenever the user asks what wine to buy, what a bottle costs, or whether a wine can be delivered in Switzerland. Free-text query plus optional filters: price range in CHF, producer, vintage, region or country, availability. Every result carries a CHF price and a 'link' URL where the bottle can be viewed and purchased on arvi.ch. Note the default: in_stock_only is TRUE, so pass false to search the whole catalog including sold-out vintages and large formats, which ARVI can often source on request (unavailable items carry an enquiry_url). Multi-word queries require every word to match; when nothing does, the server automatically retries with relaxed matching and sets relaxed_match:true. Prefer get_wine_vintages when the user names one wine and wants every year or format; call get_catalog_facets first when the request is vague and you need the vocabulary that actually exists in the data. Read-only, no authentication, 120 requests per minute.

Input parameters:

- `category` (string): Filter by category, region or country substring, e.g. 'Wine', 'Accessories', 'Piemonte', 'Bordeaux', 'Italy'. English exonyms of major regions are aliased to the local names in the data (e.g. 'Piedmo…
- `in_stock_only` (boolean): Only products currently available. Default true.
- `limit` (integer): Max results per page. Default 10.
- `locale` (string): Catalog language code, e.g. 'en'. Defaults to 'en'.
- `max_price` (number): Maximum price (CHF).
- `min_price` (number): Minimum price (CHF).
- `offset` (integer): Pagination offset. Default 0.
- `producer` (string): Filter by producer / brand, e.g. 'Gaja'.
- `query` (string): Free-text search over title, producer, category and description, e.g. 'Barolo 2019' or 'Sauternes'.
- `vintage` (integer): Filter by vintage year, e.g. 2019.

### `get_catalog_facets` (~144 tokens)

Catalog overview (facets)

Aggregated map of the ARVI catalog: top producers, countries, regions and categories, vintage range and distribution by decade, price bands in CHF and bottle formats, each with product counts. Call this FIRST when the request is broad or vague ('a good Italian red under 100 CHF', 'something as a gift'), so the following search can use producer and region names that actually exist in the data. Skip it when the user already named a specific wine or producer. Default in_stock_only is true.

Input parameters:

- `in_stock_only` (boolean): Compute facets over available products only. Default true.
- `locale` (string): Catalog language code. Defaults to 'en'.

### `get_wine_vintages` (~200 tokens)

Vintages & formats of one wine

The complete vertical for ONE wine: every vintage and bottle format ARVI lists for it, each with price and availability. Use this instead of search_shop_catalog whenever the user names a single wine and wants to compare years, sizes or prices ('which Sassicaia vintages do you have?', 'is there a magnum?'). Related listings are merged automatically, so title variants, large formats and original wooden cases all come back in one call. Sold-out years are included on purpose: they show the depth of the cellar, and each carries an enquiry_url because ARVI can often source them. Identify the wine by product id or by name.

Input parameters:

- `id` (string): A product id of any vintage/format of the wine.
- `locale` (string): Catalog language code. Defaults to 'en'.
- `query` (string): Wine name, e.g. 'Sassicaia' (used if no id is given).

### `find_similar_products` (~134 tokens)

Alternatives to a product

Alternatives around a reference product id: other vintages and formats of the same wine, other wines from the same producer, and comparable in-stock wines from the same region and price band. Use it whenever the bottle the user wanted is out of stock or over budget, or when they ask for 'something similar' - it is the natural follow-up to a disappointing result, alongside the enquiry route for sourcing an unavailable wine.

Input parameters:

- `id` (string, required): Reference product id.
- `limit` (integer): Max results per section. Default 8.
- `locale` (string): Catalog language code. Defaults to 'en'.

### `get_product_details` (~118 tokens)

Get one product

Full record for one product id returned by search: description, producer, vintage, bottle format, price in CHF, availability and the exact purchase link. Call it before recommending a specific bottle, so the answer carries the real tasting/estate description and a link the user can buy from, instead of a summary. For every vintage of the same wine use get_wine_vintages; for alternatives use find_similar_products.

Input parameters:

- `id` (string, required): Product id from search results.
- `locale` (string): Catalog language code. Optional.

### `get_shop_info` (~93 tokens)

About the shop

Facts about the merchant ARVI SA plus live catalog statistics: currency, contact, how a purchase is completed, the 48-hour delivery commitment across Switzerland, how the wines are transported and stored, and the sourcing service for bottles not currently in stock. Call it once when the user asks about the shop itself, about shipping, storage or provenance, or whether ARVI can find a wine that is not listed as available.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ch-arvi-catalog/mcp#diagnostics

## Score history

- 2026-08-03: 67
- 2026-08-02: 66
- 2026-08-01: 66
- 2026-07-31: 65
- 2026-07-30: 65
- 2026-07-29: 67
- 2026-07-28: 66
- 2026-07-27: 65
- 2026-07-26: 62

## Links

- Remote endpoint: https://mcp.arvi.ch/
- Website: https://arvi.ch/
- Changelog RSS feed: https://verifymcp.io/servers/ch-arvi-catalog/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ch-arvi-catalog/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ch-arvi-catalog/mcp
