Skip to main content
Glama

Cocktail Glass

Ownership verified

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.9/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct and non-overlapping purpose: single ingredient search, multi-ingredient makeable search, movie search, recipe retrieval, random suggestion, and name search. No ambiguity between tools.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (find_cocktails_by_ingredient, find_cocktails_in_movie, find_makeable_cocktails, get_cocktail_recipe, random_cocktail, search_cocktails). The verbs clearly indicate the action and the nouns the subject.

Tool Count5/5

With 6 tools, the server is well-scoped for a cocktail discovery and recipe service. It covers all essential interactions without excessive or insufficient tools.

Completeness4/5

The tool surface covers the main workflows: ingredient-based discovery, movie-based discovery, name search, recipe retrieval, and random suggestion. A minor gap is the lack of a tool to list all cocktails without filters, but overall it's complete for a read-only catalogue.

Available Tools

7 tools
find_cocktails_by_ingredientFind cocktails by ingredientA
Read-only
Inspect

Find 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ingredientYesA single ingredient term. One value only; passing a comma-separated list is treated as one literal string and will rarely match. Use find_makeable_cocktails for multi-ingredient queries.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. The description adds valuable context: case- and diacritic-insensitive substring matching, 60-result cap, catalogue ordering, and returned fields (name, URL, family, glassware). While not exhaustive, it significantly supplements the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each adding value: first defines core function and matching, second explains implication with examples, third directs to alternative. Efficient and front-loaded with essential information first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter lookup tool with no output schema, the description covers purpose, matching, limits, ordering, sibling differentiation, and result fields. Lacks detail about empty result handling, but for the given complexity this is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema parameter description already explains the single-value constraint and comma-list handling. The tool description further enriches by clarifying the substring match behavior and case-insensitivity, providing meaning beyond the schema's structural description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'Find every cocktail in the catalogue that uses one specific ingredient.' It uses a specific verb and resource, and contrasts with the sibling tool find_makeable_cocktails, making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use (single ingredient) and when not to ('what can I make from X, Y, and Z?' instead use find_makeable_cocktails). Also explains substring matching behavior and result limits, providing comprehensive usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_cocktails_in_movieFind cocktails in a movieA
Read-only
Inspect

Find 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
movieYesA film or TV show title, full or partial
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark readOnlyHint true. Description adds behavioral detail: case- and diacritic-insensitive substring match, returns up to 60 appearances ordered oldest year first then cocktail name, possibility of multiple appearances per cocktail, and result fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences pack all essential info: purpose, matching behavior, ordering, limits, return fields, and usage guidance. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description states what each result contains (cocktail name, film/show title, year, scene). Combined with annotations and schema, provides complete context for a single-parameter read-only tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema provides description for the required 'movie' parameter (schema coverage 100%). Description adds further context: substring match and flexibility to match against title, scene description, character, or actor, with examples. This extra clarity justifies above baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

First sentence clearly states the tool finds every cocktail that appears in a given film or TV show. Distinguishes from siblings like search_cocktails (by name) and list_cocktails (catalogue).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: only for on-screen appearances. Provides alternatives: 'for a drink by name use search_cocktails, and to browse the whole catalogue use list_cocktails'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_makeable_cocktailsFind makeable cocktailsA
Read-only
Inspect

Given 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ingredientsYesThe ingredients you have available — spirits, liqueurs, juices, mixers, etc.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds extensive behavioral details beyond annotations: garnishes optional, water assumed, soda/tonic not, word-based matching, return lists with sizes and ordering (simplest first, then alphabetical), and omission of drinks needing 2+ extra ingredients. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single paragraph dense with information, front-loaded with purpose. Every sentence adds value, but could be more structured (e.g., bullet points for lists). Still concise given complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description fully explains return format (two lists, sizes, each missing ingredient named for almostMakeable), ordering, and matching behavior. Covers edge cases (optional garnishes, water assumption). Complete for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage and a good description for the single parameter. The broader description adds matching semantics (word-based, not substring), which helps understanding beyond schema. Could be slightly more explicit about format, but adequate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'find', resource 'cocktails you can make completely', and scope 'given ingredients you have on hand'. Differentiates from sibling 'find_cocktails_by_ingredient' by explicitly stating it's for multi-ingredient questions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('multi-ingredient what can I make?') and when not to ('for a single ingredient use find_cocktails_by_ingredient'). Also describes matching logic, ingredient treatment (garnishes optional, water assumed), and omission criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cocktail_recipeGet cocktail recipeA
Read-only
Inspect

Get 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe cocktail name. Exact is best; partial names work but resolve to the first substring match, so prefer search_cocktails when the name is uncertain.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true (safe read). The description adds matching behavior details (case-insensitive, exact then substring fallback) and outcome on no match. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (3 sentences) with front-loaded purpose, then details. Every sentence adds value. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description lists return fields (ingredients, steps, etc.) and error handling. The tool is simple with one param, so completeness is high.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers the single parameter fully (100% coverage). The description adds meaning beyond schema by explaining matching behavior and recommending search_cocktails for ambiguity, which helps correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('full recipe for one cocktail'), specifying the output fields. It distinguishes itself from sibling tools by recommending search_cocktails for ambiguous names.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides a use case ('when you have a specific drink name') and a when-not condition ('if the name is ambiguous or you want a list, call search_cocktails first'). This gives the agent clear decision logic.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_cocktailsList cocktailsA
Read-only
Inspect

List 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
familyNoOptional drink family — one of: Spirit-Forward, Sour, Highball, Fizz & Collins, Spritz, Champagne Cocktail, Tiki, Punch, Flip & Nog, Hot Drink, Shot. Matched exactly (case- and diacritic-insensitive); an unknown family returns an empty list. Omit to list the entire catalogue.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds detail beyond annotations: returns summary fields, catalogue order, optional family restriction, case- and diacritic-insensitive matching, empty list for unknown family. No contradiction with readOnlyHint and openWorldHint annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with core purpose, immediately followed by contrast with siblings. Every sentence adds value, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter and no output schema, the description covers all essentials: output fields, ordering, family filtering behavior, and total count (500). No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes the family parameter with examples; the description adds extra semantics: exact matching (case- and diacritic-insensitive), behavior for unknown family (empty list), and omission behavior (entire catalogue).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists every cocktail as a summary in catalogue order, optionally filtered by family. It distinguishes from siblings by specifying that unlike search_cocktails and find_cocktails_by_ingredient, it takes no query and returns all matching cocktails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use: to browse or enumerate the full set when there is nothing specific to search for. Also tells when not to use: for a named drink use get_cocktail_recipe, for ingredient discovery use find_cocktails_by_ingredient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

random_cocktailRandom cocktailA
Read-only
Inspect

Suggest 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
familyNoOptional drink family — one of: Spirit-Forward, Sour, Highball, Fizz & Collins, Spritz, Champagne Cocktail, Tiki, Punch, Flip & Nog, Hot Drink, Shot. Other values fall back to the full catalogue. Omit for an unrestricted random pick.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description adds that each call is an independent draw (repeated calls give different drinks) and that an unmatched family silently falls back to the full catalogue. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized, front-loads the core action, and every sentence adds distinct value (purpose, randomness, family filter behavior, sibling differentiation).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the optional single parameter and no output schema, the description thoroughly explains what is returned (full recipe with ingredients, steps, garnish, etc.) and all edge cases, making it complete for agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'family' has full schema coverage (100%), so baseline is 3. The description adds valuable examples (e.g., Tiki, Sour) and clarifies fallback behavior, exceeding baseline requirements.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool suggests a cocktail uniformly at random from the catalogue or optionally from a family, returning a full recipe. It explicitly distinguishes from siblings by naming alternatives like get_cocktail_recipe, find_cocktails_by_ingredient, and find_makeable_cocktails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: only when the user wants a suggestion or inspiration with no specific drink in mind. It provides clear alternatives for other intents and details fallback behavior when the family filter matches nothing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_cocktailsSearch cocktailsA
Read-only
Inspect

Search 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesCocktail name or part of one — a single drink name, not an ingredient or category.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description adds significant behavioral details: matching is case/diacritic insensitive, returns up to 25 results with specific ranking order, and lists returned fields. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with core behavior, then usage guidance. Every sentence adds value with no redundancy or wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description explains return fields (name, page URL, family, glassware). For a single-parameter search tool, this is fully informative and actionable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already has 100% coverage with description and example. Description adds extra context about substring matching and format constraints (e.g., 'a single drink name, not an ingredient'), slightly improving clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches the cocktail catalogue by name with specific matching behavior (substring, case/diacritic insensitive). It distinguishes from siblings like find_cocktails_by_ingredient, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises when to use (user names a drink, confirm existence/disambiguate) and when not to (use find_cocktails_by_ingredient for ingredient search). Also suggests calling get_cocktail_recipe next, providing a clear workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources