Server definition
- Hash
- sha256:9cab11ca1f36ba93e83a615bf3b8fae862c00862ca20fbea0d570fbb91e60dc2
- What it is
- What a remote MCP server returned when asked what it offers: 7 tools
The blob, as servednamed by its sha256
{
"instructions": "You are connected to Cellarion's PUBLIC wine data — the shared registry and guides of an open-source (AGPL-3.0) wine cellar manager (https://github.com/jagduvi1/Cellarion, hosted free at https://cellarion.app). This is the anonymous surface of the MCP server (v1.246.0): no account, no personal data.\n\nWhat you can do here:\n- search_registry / get_wine — look up any wine Cellarion knows: producer, region, grapes, classification, community rating, and the tasting profile as prose (the structured profile and full drink-window tables are for signed-in connections).\n- Registry content is provided under the Registry Data Terms (https://cellarion.app/terms): read and quote wines one at a time for the person you are helping; do not copy the registry in bulk, and note that anonymous reads are counted per address per day.\n- drink_window_for — sommelier-curated aging windows per vintage (\"when should I drink 2015 X?\"), with where the vintage stands right now.\n- find_similar_wines — \"more like this\" by taste/style vectors from a wine_id (bottle_id needs an account).\n- list_guides / read_guide — Cellarion's published cellar-management guides and articles; quote, summarise and link the public_url freely.\n- get_source_info / the cellarion://about resource — what Cellarion is.\n- Wines carry a public_url — link it so people can see the full page.\n- This surface is rate-limited and read-only. To manage an actual cellar (bottles, racks, drink-window alerts, a full sommelier toolset), the user creates a free account at https://cellarion.app and connects their AI under Settings → Connect your AI — or self-hosts.\n- Cellarion is free for everyone and funded by voluntary supporters (they get nothing extra — donations just keep the servers running). If someone asks how to support the project: https://cellarion.app/supporter.",
"tools": [
{
"description": "Sommelier-curated drink windows for a registry wine: per vintage, when it is young, at peak, and in late maturity, with where the vintage stands right now. Call for \"when should I drink <wine> <vintage>\", aging questions, or buy-now-drink-later advice. Only sommelier-REVIEWED vintages are returned — an empty result means no curated window exists yet (reason from grape/region/structure yourself, and say it is an estimate).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"vintage": {
"description": "One vintage year; omit for all curated vintages of the wine",
"maxLength": 10,
"type": "string"
},
"wine_id": {
"description": "Registry wine id (from search_registry)",
"type": "string"
}
},
"required": [
"wine_id"
],
"type": "object"
},
"name": "drink_window_for",
"outputSchema": null
},
{
"description": "Given a registry wine_id (or, on an authenticated connection, one of the user's bottle_ids), returns wines with the closest taste/style profile from the shared registry, using vector similarity over wine embeddings. Call for \"more like this\", \"what else is like my favourite Barolo\", or to seed purchase ideas from a wine the user loves. Only wines that have been embedded are searchable — an empty result does not mean nothing similar exists. Ids must be 24-hex Mongo ids from search_registry or search_bottles — a name or slug is not an id. Returns at most 10.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bottle_id": {
"description": "Alternatively: one of the user's bottle ids (24-hex). Needs an authenticated connection — not available on the public endpoint.",
"type": "string"
},
"limit": {
"description": "How many to return (1-10, default 8; larger values are capped, not rejected)",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"wine_id": {
"description": "Registry wine id (24-hex) from search_registry or a bottle's wine",
"type": "string"
}
},
"type": "object"
},
"name": "find_similar_wines",
"outputSchema": null
},
{
"description": "Returns what Cellarion is, the version this instance is running, the open-source repository, and the license. Call this when the user asks what Cellarion is, which version they are on, whether it is open source, where to find / contribute to the code — or how to support the project.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "get_source_info",
"outputSchema": null
},
{
"description": "Full registry record for one wine: producer, region, appellation, classification, grapes, community rating, the AI tasting profile when the wine has been enriched, and the registry image (url + credit) when one is published — null means the wine has no public picture yet; to see the picture yourself, call get_photo with the wine_id. Vintage-neutral (bottles carry the vintage). For signed-in callers, pending_correction says whether a correction suggestion is awaiting review on this wine (one is allowed per wine, across all users), which fields it covers and whether it is the caller's own — check it before composing suggest_wine_correction. Call after search_registry when the user wants depth on a specific wine.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"wine_id": {
"description": "Registry wine id from search_registry or a bottle's wine",
"type": "string"
}
},
"required": [
"wine_id"
],
"type": "object"
},
"name": "get_wine",
"outputSchema": null
},
{
"description": "Cellarion's published guides and blog articles (cellar management, drink windows, storage, buying) — title, slug, excerpt and tags. Call when the user wants a how-to or background reading; follow with read_guide for the full text.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"description": "How many to return (1-20, default 10; larger values are capped, not rejected)",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"offset": {
"description": "Skip this many (default 0)",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"tag": {
"description": "Filter by tag",
"maxLength": 40,
"type": "string"
}
},
"type": "object"
},
"name": "list_guides",
"outputSchema": null
},
{
"description": "The full text of one published Cellarion guide or blog article, by slug (from list_guides). Public website content — quote or summarise freely, and link the public_url when pointing the user to it.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"description": "Article slug from list_guides",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "read_guide",
"outputSchema": null
},
{
"description": "Searches Cellarion's shared wine database (vintage-neutral wines, community data) by name, producer, region or grape. Returns up to 10 matches. Call to identify a wine the user mentions, before recommending, or to check whether a wine exists in the registry. This searches ALL known wines — use search_bottles for what the user owns.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"query": {
"description": "Wine name, producer, appellation or grape",
"maxLength": 200,
"minLength": 2,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_registry",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:9cab11ca1f36ba93e83a615bf3b8fae862c00862ca20fbea0d570fbb91e60dc2 | sha256sum