protogrid

Search / glass.cocktail/cocktail-glass

Cocktail Glass

R0· no sign-in

Search 500 cocktail recipes, get full recipes, find drinks by ingredient, suggest random picks.

v1.0.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality94strong
Trust75of 100
Uptime, 30 days96%
Latency p50352 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "cocktail-glass": {
      "type": "http",
      "url": "https://cocktail.glass/mcp"
    }
  }
}
claude mcp add --transport http cocktail-glass https://cocktail.glass/mcp
[mcp_servers.cocktail-glass]
url = "https://cocktail.glass/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cocktail-glass": {
      "type": "remote",
      "url": "https://cocktail.glass/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "cocktail-glass": {
      "type": "http",
      "url": "https://cocktail.glass/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=cocktail-glass&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY29ja3RhaWwuZ2xhc3MvbWNwIn0%3D"
}
{
  "servers": {
    "cocktail-glass": {
      "type": "http",
      "url": "https://cocktail.glass/mcp"
    }
  }
}
{
  "mcpServers": {
    "cocktail-glass": {
      "httpUrl": "https://cocktail.glass/mcp"
    }
  }
}
extensions:
  "cocktail-glass":
    enabled: true
    name: "cocktail-glass"
    type: streamable_http
    uri: "https://cocktail.glass/mcp"
    timeout: 300

Quality 94 / 100strong

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 86400000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations7 of 7 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_cocktails (destructiveHint, idempotentHint); get_cocktail_recipe (destructiveHint, idempotentHint); find_cocktails_by_ingredient (destructiveHint, idempotentHint); …
  • pass
    tools.token_costabout 1,724 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

7 tools, about 1,724 tokens to load them all · tool set e1093264ea1e · checked 2026-10-21 01:06 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 75 / 100

no-repository
provenance55
liveness98
freshness65
hygiene80

+dns-namespace +website +reachable +uptime-96% ~updated-152d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://cocktail.glass/mcp streamable-httpnoneyes96%352 ms2026-07-28, 2025-11-25, 2025-06-18, 2025-03-262026-10-20

Tools (7)

find_cocktails_by_ingredientread-onlyFind every cocktail in the catalogue that uses one specific ingredient. Matching is a case- and diacritic-insensitive substring match against each cocktail's ingredient names, so "gin" will also match "sloe gin" and "ginger beer" — use a more specific term if that matters. Returns up to 60 summary results (name, URL, family, glassware) in catalogue order. Takes one ingredient only; for "what can I make from X, Y, and Z?" use find_makeable_cocktails instead, which handles multiple ingredients and reports near-misses.
find_cocktails_in_movieread-onlyFind every cocktail that appears in a given film or TV show. Case- and diacritic-insensitive substring match against both the title and the scene description, so a character or actor works too — e.g. "Casablanca", "Bond", "Hemingway". Each result names the cocktail, the film/show title, the year, and the scene. Returns up to 60 appearances ordered oldest year first, then by cocktail name. A single cocktail can appear multiple times if it shows up in multiple scenes that match. Use this only for on-screen appearances; for a drink by name use search_cocktails, and to browse the whole catalogue use list_cocktails.
find_makeable_cocktailsread-onlyGiven the ingredients you have on hand, find every cocktail you can make completely — one where you already have all of its ingredients. Garnishes are treated as optional and plain water is assumed available; soda and tonic water are not. Matching is word-based, not substring: "gin" matches "London dry gin" but not "ginger beer", and generic terms do not match product-class extras ("gin" will not cover "sloe gin" or "orange bitters"). Returns two lists: "makeable" (drinks you can make now, up to 60) and "almostMakeable" (drinks exactly one ingredient short, up to 25, each naming the missing ingredient). Drinks needing two or more extra ingredients are omitted entirely. Both lists are ordered simplest first — fewest distinct ingredients in the full recipe, then alphabetical by name. Use this for multi-ingredient "what can I make?" questions; for a single ingredient use find_cocktails_by_ingredient.
get_cocktail_reciperead-onlyGet the full recipe for one cocktail by name: ingredients with measures and units, preparation steps, garnish, glassware, family, page URL, and any film or TV appearances. Matching is case- and diacritic-insensitive: it tries an exact name match first, then falls back to the first substring match. Returns one cocktail object, or an { error } if nothing matches. Use this when you have a specific drink name; if the name is ambiguous or you want a list, call search_cocktails first.
list_cocktailsread-onlyList the whole catalogue: every cocktail as a summary (name, page URL, family, glassware), in catalogue order, optionally restricted to one drink family. Unlike search_cocktails and find_cocktails_by_ingredient — which cap their results and need a query — this takes no query and returns every matching cocktail, so use it to browse or enumerate the full set of 500 drinks (or a whole family) when there is nothing specific to search for. For one named drink use get_cocktail_recipe; to discover by ingredient use find_cocktails_by_ingredient.
random_cocktailread-onlySuggest one cocktail picked uniformly at random from the catalogue (or from one family if "family" is given) and return its full recipe — ingredients with measures, preparation steps, garnish, glassware, page URL, and any film or TV appearances. Each call returns an independent draw, so repeated calls give different drinks. The "family" filter matches the family name exactly (case- and diacritic-insensitive); if no cocktail matches that family the call silently falls back to the full catalogue rather than erroring. Use this only when the user wants a suggestion or inspiration with no specific drink in mind. For a named cocktail use get_cocktail_recipe; for "anything with gin" use find_cocktails_by_ingredient; for "what can I make from what I have" use find_makeable_cocktails.
search_cocktailsread-onlySearch the cocktail catalogue by name (substring, case- and diacritic-insensitive, so "carre" matches "Carré"). Returns up to 25 summary results — name, page URL, family, glassware — ranked exact match first, then prefix, then suffix, then any substring. Use this when the user names a drink (even fuzzily) and you want to confirm it exists or disambiguate similar names; once you have a single name, call get_cocktail_recipe for the full recipe. For ingredient-based discovery use find_cocktails_by_ingredient instead.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "glass.cocktail/cocktail-glass",
  "title": "Cocktail Glass",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://cocktail.glass/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "websiteUrl": "https://cocktail.glass",
  "description": "Search 500 cocktail recipes, get full recipes, find drinks by ingredient, suggest random picks."
}