Skip to main content
Glama

Ask Garçon

Find cocktails from your ingredients

find_cocktails_by_ingredients
Read-onlyIdempotent

Use this when the user names ingredients or bottles they have and asks what cocktails, drinks or mocktails they can make with them, for example "What can I make with gin, lime and soda?" or "I have rum and pineapple juice, any ideas?". Checks their ingredients against the Garçon recipe catalogue on fixmeadrinkapp.com. Do not use it for one named drink (use get_cocktail_recipe) or for drinks like one they name (use suggest_similar_cocktail). Returns up to 8 free recipes ranked by fewest missing ingredients, each with what they have, what is missing and its fixmeadrinkapp.com page, plus up to 2 low or zero-proof options. A word that could mean several bottles, such as "vermouth", is never assumed: drinks that need one kind list it under depends_on, so ask the user which bottle they have when it matters. partial: true means the per-call lookup budget ran out before every candidate was ranked. Water and saline are assumed; garnishes never block a match. Optional filters: strength (zero_or_low covers mocktails and low-ABV drinks) and flavour notes. Recipes are for adults of legal drinking age. It does not give health or nutrition advice.

Input Schema

NameRequiredDescriptionDefault
limitNoHow many drinks to return (default 5)
flavorsNoFlavour notes to prefer; a drink matches if it has any of them
strengthNozero_or_low for mocktails and low-ABV drinks; omit for any strength
ingredientsYesWhat the user has, in their own words, one item each, e.g. ["gin", "limes", "simple syrup"]

Output Schema

NameRequiredDescriptionDefault
barYes
noteNo
partialNoSet when the per-call lookup budget ran out before every recipe that could rank higher was checked
cocktailsYes
unavailableNoParts of the answer that could not be loaded this time
more_ideas_urlYes
low_proof_optionsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare that this is a safe, idempotent, closed-world read; the description adds substantial context beyond that: the upstream catalogue, ranking by fewest missing ingredients, a cap of 8 plus up to 2 low/zero-proof options, the meaning of partial:true, and the assumption rules (water and saline assumed, garnishes never block a match). The depends_on behavior tells the agent that ambiguous bottles like 'vermouth' are never silently guessed and should be clarified with the user, which is exactly the kind of trait annotations cannot express.

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?

Front-loads the when-to-use trigger and examples before the return contract and caveats, with each sentence carrying a distinct fact. It is on the long side and the optional-filter sentence duplicates the schema, plus the adult/health disclaimer, while defensible, adds a sentence an agent gains little from.

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 tool with four enum/array parameters, a rich output schema and safe read annotations, the description still covers the operational edge cases an agent must handle: result caps, ranking rationale, the partial:true truncation flag, ambiguity clarification, and assumed staples. Nothing needed to call or interpret it correctly is missing.

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

Parameters3/5

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

Schema coverage is 100%, so ingredients, limit, flavors and strength are already fully documented in the schema, and the description's 'Optional filters: strength (zero_or_low covers mocktails...) and flavour notes' largely restates the enum descriptions. The one added nuance, that ingredient words are taken in the user's own words and ambiguous bottles are never assumed, is useful but leans on output behavior rather than parameter meaning, so the baseline 3 applies.

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?

States a specific verb and resource ('Checks their ingredients against the Garçon recipe catalogue') and anchors it with two concrete user phrasings. It also explicitly names the two sibling tools it is not (get_cocktail_recipe, suggest_similar_cocktail), so an agent can route correctly without opening a schema.

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?

Gives an explicit when-to-use condition (user names ingredients/bottles and asks what they can make), explicit when-not conditions (one named drink, or drinks like one they name) paired with the alternative tool for each, and worked example queries. Nothing about routing is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources