# openwein.de — deutsche Weingüter und Weinfeste

> German wineries, wine towns and wine festivals: 5.900 entries in 13 regions. Read-only, no key.

- name: de.openwein/mcp
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 83/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/de.openwein%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/de.openwein%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "openwein": {
      "type": "http",
      "url": "https://www.openwein.de/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% ~updated-57d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 83/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list carries no ttlMs, so clients re-fetch it

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_regions (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_winery (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_vintage (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 2,399 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 12, about 2,399 tokens to load them all
- tool set hash: 3bbf1cef95039e9d4547f8ebeda2195f
- badge: [![protogrid quality](https://protogrid.dev/badge/de.openwein/mcp.svg)](https://protogrid.dev/servers/de.openwein/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://www.openwein.de/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (12)

- `get_glossary`: German wine terms explained, with their regional variants. Useful because the same institution carries different names by region: the seasonal tavern a winery runs itself is a Straußwirtschaft on the Mosel and in the Palatinate, a Besenwirtschaft in Württemberg and a Hecken- or Häckerwirtschaft in Franconia — and none of them is the same as a Gutsausschank, which may open all year. Omit the term to list all entries.
- `get_lage`: One Einzellage in full: Bereich, Großlage, planted area, the official vineyard number, the municipalities it spans, and the wineries of its town. It is NOT known which wineries actually farm vines in a given Lage — no public register holds that — so the wineries listed are those located in the town, and the answer says so.
- `get_region`: Full description of one wine region: its history, grape varieties and terroir, plus its wine towns and upcoming events.
- `get_town`: One wine town in full: its description and wine history, every winery listed there, its upcoming events and the neighbouring wine towns.
- `get_vintage`: What the weather did in one growing season, per wine region: mean temperature, sunshine hours and rainfall from April to October, compared with the 1991-2020 normal, plus the harvest volume where published. Measured data of the German Weather Service, for some regions back to 1881. IMPORTANT: these are measurements, not a verdict. A warm year is not a good year — what ends up in the glass depends on site, grape and winemaker. Do not present the numbers as a quality rating. Omit the year to get the whole series for a region.
- `get_winery`: Everything held about one winery: address, contact, opening hours, average rating, recent visitor comments, its upcoming events, the Einzellagen it names on its own website (which is not the same as the Lagen it farms — that is not publicly recorded), and a portrait assembled from its own website (hectares, grape varieties, organic farming, founding year) where that page could be read.
- `list_events`: Upcoming German wine events — Weinfeste, Hoffeste, Weinproben, Weinwanderungen — across all regions, or filtered by region, town or a radius around a point. Every event carries the source it was verified against and a link to its own page; the result also names the human-readable calendar page for the same selection, which is the thing to hand a person rather than retelling a list that changes daily.
- `list_regions`: Lists all 13 German wine regions (Anbaugebiete) with their character, the number of wine towns and wineries in each, and how many events are coming up. Start here when the question is about German wine regions in general.
- `search`: Free-text search across the whole directory — winery names, owners, towns and description texts. Use this for open questions where the exact name is unknown ("a winery near the Mosel with rooms", "Riesling from steep slopes"). For a known town or a radius around coordinates, search_wineries is more precise.
- `search_lagen`: Search the 1.646 registered German Einzellagen (single vineyard sites) by name, town or region. The Einzellage is the smallest origin unit in German wine law and the name that appears on the label after the town ("Forster Ungeheuer", "Wehlener Sonnenuhr"). For the six regions of Rhineland-Palatinate the data is the official register of the Chamber of Agriculture and carries the vineyard number, Bereich, Großlage, planted area and the legal boundary; the Rheingau is currently sourced from Wikipedia and has no boundary. Note that a Lage name says where a wine grew, not how good it is. Where a winery names a Lage on its own website, get_lage returns that winery with the sentence it appeared in.
- `search_towns`: Find German wine towns by name, region, postal code or around a point. Each town carries a description of its wine history and character, and the number of wineries listed there.
- `search_wineries`: Search ~5.900 German wineries by name, town, postal code or region, or geographically around a point. Filters for wineries that serve food (Straußwirtschaft, Gutsausschank), offer accommodation, or have a place for a camper van. Two further filters come from what a winery writes on its own website — grape variety and organic farming — and those two are deliberately incomplete: only about half of all wineries have a website that says so. Absence there is not evidence of absence. Returns contact details, address and coordinates.
