{"apiVersion":"v1","directorySlug":"sommelierswindow-mcp-a902579d70","title":"Sommelier","description":"Discover perfect drinking windows for 1,000+ wines. Track organic and biodynamic wines with expert recommendations, food pairings, and vintage analysis.","pageUrl":"https://www.mcpbundles.com/skills/sommelierswindow-mcp-a902579d70","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://sommelierswindow.com/api/mcp","hostedMcpUrl":null,"toolCount":5,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.sommelierswindow/sommelierswindow-mcp-a902579d70","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"search_wines","description":"Search the Sommelier's Window database of analyzed wines by wine name, producer, or both, optionally narrowed to one vintage. Returns up to 10 matching wines with name, producer, vintage, region, wine type, current drinking status, and a link to the wine's page. Use get_drinking_window for the full drinking window of a specific wine. When no wine matches and a vintage is given, this tool creates and publishes a new public analysis of that wine (about 10 to 20 seconds, limited per day) and return","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"limit":{"type":"integer","default":5,"maximum":10,"minimum":1},"query":{"type":"string","maxLength":120,"minLength":2},"vintage":{"type":"integer","maximum":2100,"minimum":1800}},"additionalProperties":false},"title":"Search wines","logicalName":"search_wines","displayName":"Search wines","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_drinking_window","description":"Get the drinking window for one wine: optimal window years, peak years, current status (computed from the years and the current year), years until the window opens or left in it, a condition and tasting summary, food pairings, decanting advice, and a critic score only when it has a published source. Identify the wine with either its slug (from search_wines) or its name plus vintage. Shows a timeline widget.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"name":{"type":"string","maxLength":120,"minLength":2},"slug":{"type":"string","maxLength":200},"vintage":{"type":"integer","maximum":2100,"minimum":1800}},"additionalProperties":false},"title":"Get wine drinking window","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_drinking_window","displayName":"Get wine drinking window"},{"name":"analyze_wine","description":"Creates a NEW public analysis on Sommelier's Window for a wine that is not in the database yet: drinking window, peak, tasting notes, food pairing, and its own public page at sommelierswindow.com. This publishes content and usually takes 10 to 20 seconds (up to a minute). If the wine, or a similar one, already exists, it is returned or listed instead and nothing new is created. Use search_wines or get_drinking_window first; call this only when the wine is not found. A new analysis needs the vint","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["name"],"properties":{"name":{"type":"string","maxLength":120,"minLength":2},"region":{"type":"string","maxLength":100},"vintage":{"type":"integer","maximum":2100,"minimum":1900},"producer":{"type":"string","maxLength":100},"nonVintage":{"type":"boolean"}},"additionalProperties":false},"title":"Analyze a wine","logicalName":"analyze_wine","displayName":"Analyze a wine","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_my_cellar","description":"Read the signed-in user's own Sommelier's Window cellar, however large. Called with no arguments it returns a summary of the WHOLE cellar: total wines and bottles, counts by drinking status (past prime, drink soon, at peak, approaching, ready, hold, unknown), by wine type, top regions and producers, and the wines that need attention (window ending this year, drink soon, past prime), enough to answer \"what should I drink now\" and \"what is in my cellar\". To see specific wines, call again with stat","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"view":{"enum":["summary","list"],"type":"string"},"limit":{"type":"integer","maximum":100,"minimum":1},"query":{"type":"string","maxLength":120},"cursor":{"type":"string","maxLength":20},"status":{"enum":["past_prime","drink_soon","at_peak","approaching","ready","hold","unknown"],"type":"string"},"wineType":{"type":"string","maxLength":30},"vintageTo":{"type":"integer","maximum":2100,"minimum":1800},"vintageFrom":{"type":"integer","maximum":2100,"minimum":1800}},"additionalProperties":false},"title":"List my cellar","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_my_cellar","displayName":"List my cellar"},{"name":"add_to_cellar","description":"Add ONE wine to the signed-in user's cellar, identified by the slug of an existing public analysis (from search_wines), with an optional bottle quantity (default 1). If the wine and vintage is already in the cellar, nothing changes. Free plans have a monthly limit on additions; Premium is unlimited. One wine per call; it never removes or edits existing wines. Requires the user to sign in.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","maxLength":200,"minLength":2},"quantity":{"type":"integer","default":1,"maximum":999,"minimum":1}},"additionalProperties":false},"title":"Add a wine to my cellar","logicalName":"add_to_cellar","displayName":"Add a wine to my cellar","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Sommelier&config=eyJ1cmwiOiAiaHR0cHM6Ly9zb21tZWxpZXJzd2luZG93LmNvbS9hcGkvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Sommelier%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fsommelierswindow.com%2Fapi%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Sommelier%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fsommelierswindow.com%2Fapi%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Sommelier&connectorUrl=https%3A%2F%2Fsommelierswindow.com%2Fapi%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Sommelier\" --url \"https://sommelierswindow.com/api/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/sommelierswindow-mcp-a902579d70","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/sommelierswindow-mcp-a902579d70/tools/{tool}","mcpServerUrl":"https://sommelierswindow.com/api/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/sommelierswindow-mcp-a902579d70?live=1"}