Skip to main content
Glama

Ask Garçon

Server Details

Cocktails from the bottles you own: recipes, bar terms, similar drinks, low and zero-proof picks.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool occupies a cleanly separated intent space: term/ingredient explanation, reverse lookup from ingredients, direct recipe retrieval by name, and similarity/low-proof suggestions. The descriptions go further than most servers by explicitly naming which sibling tool to use for adjacent requests (e.g. 'do not use it for one named drink, use get_cocktail_recipe'), leaving little room for misselection.

Naming Consistency4/5

All four names are snake_case and follow a verb_noun shape (explain_bar_term, find_cocktails_by_ingredients, get_cocktail_recipe, suggest_similar_cocktail). Verbs vary between explain/find/get/suggest, but each verb accurately signals the operation rather than breaking a convention, so this reads as intentional rather than inconsistent.

Tool Count5/5

Four tools is a tight, well-scoped surface for a cocktail assistant: explain, search by what you have, fetch a named recipe, and suggest alternatives. There is no redundancy — each tool maps to a distinct user intent and every one earns its place.

Completeness4/5

The core lifecycle of a drinks assistant is covered: identify an ingredient/term, discover drinks from what you have, retrieve a specific recipe, and branch to similar or lower-proof options. Gaps are minor — no free-text search or browse-by-style/occasion tool, and no way to list the catalogue, but the documented intent boundaries make these work-aroundable via the existing tools.

Available Tools

4 tools
explain_bar_termExplain a spirit, ingredient or bar termA
Read-onlyIdempotent
Inspect

Use this when the user asks what a spirit, liqueur, mixer or other cocktail ingredient is, what to use instead of one, or what a bar term means or how a technique works, for example "What is mezcal and what can I use instead?", "What can I use instead of Aperol?" or "How do I dry shake?". Covers ingredients (taste, what it is made from, typical ABV, styles, substitutes including zero-proof ones, cocktails that use it) and bar terms such as a technique, glass, tool or drink style (definition, how-to steps, related terms). Returns the matching fixmeadrinkapp.com ingredient or glossary page. It does not give health or nutrition advice.

NameRequiredDescriptionDefault
termYesThe thing to explain, e.g. "mezcal", "Aperol", "dry shake", "coupe glass"

Output Schema

NameRequiredDescription
urlYes
kindYes
nameYes
how_toNo
detailsYes
relatedYes
definitionYes
substitutesNo
also_matchesNo
example_cocktailsNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish the safe read-only, idempotent, closed-world profile, so the bar is lower. The description still adds real behavior: the response is a matching fixmeadrinkapp.com ingredient or glossary page, and health/nutrition questions are out of scope — information not expressed anywhere in the structured fields.

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?

One dense paragraph, but it is correctly front-loaded: trigger conditions first, then coverage, then return value, then the scope exclusion. The long parenthetical inventories of covered fields are slightly list-like and could be trimmed, but nothing is redundant with the annotations or schema.

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?

An output schema and rich annotations exist, so the description only needs to cover scope and routing, which it largely does, including the ingredient-vs-glossary branch. It stops short of explaining behavior on an unknown or ambiguous term (no match found, multiple meanings like a glass vs. a drink style), which is the one operational gap for a lookup tool.

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?

With one parameter at 100% schema description coverage, the schema already carries the meaning, so baseline 3 applies. The description does add marginal value by expanding what counts as a valid term (ingredient names, substitutes, techniques, glassware) and by enumerating the sub-fields returned per term type, but it adds no syntax or format detail beyond the schema.

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?

A specific verb ("explain") plus an explicit resource set — spirits, liqueurs, mixers, ingredients, and bar terms such as techniques, glassware, tools, and drink styles. That scope cleanly separates it from the recipe- and similarity-oriented siblings an agent would otherwise consider.

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

Usage Guidelines4/5

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

It gives concrete triggering conditions with three quoted user phrasings ("What is mezcal...", "What can I use instead of Aperol?", "How do I dry shake?"), which is strong positive guidance. It also adds one explicit exclusion (no health or nutrition advice), but never names a sibling as the alternative for adjacent asks like recipe retrieval, leaving that routing to inference.

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

find_cocktails_by_ingredientsFind cocktails from your ingredientsA
Read-onlyIdempotent
Inspect

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.

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

NameRequiredDescription
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

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.

get_cocktail_recipeGet a cocktail recipeA
Read-onlyIdempotent
Inspect

Use this when the user asks how to make a cocktail they name, or wants its recipe, ingredients or steps, for example "How do I make an Espresso Martini?" or "What goes in an Old Fashioned?". Gets that recipe from the Garçon catalogue by name, slug or fixmeadrinkapp.com recipe URL: description, glass, ice, garnish, ingredient amounts (oz with ml), steps, strength and its fixmeadrinkapp.com page. Do not use it when the user lists ingredients and asks what they can make (use find_cocktails_by_ingredients). For premium recipes the ingredient list is not public; the result says so and lists free recipes like it. Recipes are for adults of legal drinking age. It does not give health or nutrition advice.

NameRequiredDescriptionDefault
nameYesCocktail name ("Espresso Martini"), slug ("espresso-martini") or fixmeadrinkapp.com recipe URL

Output Schema

NameRequiredDescription
iceNo
urlYes
nameYes
noteNoSet when no recipe has exactly the requested name
glassNo
stepsYes
flavorsYes
garnishNo
minutesNo
strengthYes
difficultyNo
abv_percentNo
base_spiritNo
descriptionYes
ingredientsYes
unavailableNoParts of the answer that could not be loaded this time
other_matchesNo
free_alternativesNo
full_recipe_publicYes

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds genuinely new behavior: premium recipes hide the ingredient list, the result flags this and suggests free alternatives, plus adult-only scope and no health/nutrition advice. These are non-obvious response-shape caveats an agent could not derive from the 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?

Front-loaded with the use case and examples, then the exclusion, then caveats — a logical order with no filler. It is on the long side and the return-field enumeration partially duplicates the output schema, keeping it just short of a 5.

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 single-parameter lookup with an output schema, the description covers trigger conditions, the exclusion case, the premium-paywall edge case, and content restrictions. An agent has everything needed to call it correctly and interpret the response.

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% and the schema already documents that the single parameter accepts a name, slug, or fixmeadrinkapp.com URL. The description restates the same three accepted forms without adding format or resolution rules, so it adds little beyond the schema — 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?

States a specific verb and resource ("Gets that recipe from the Garçon catalogue") and enumerates the returned content (description, glass, ice, garnish, amounts, steps, strength, page). It explicitly distinguishes itself from the sibling find_cocktails_by_ingredients, so an agent can route without opening either 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 concrete when-to-use triggers with example user utterances ("How do I make an Espresso Martini?") and an explicit when-not-to-use rule naming the alternative tool for the ingredient-list case. Nothing 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.

suggest_similar_cocktailSuggest similar cocktailsA
Read-onlyIdempotent
Inspect

Use this when the user names a drink they like and wants something similar, a lighter or lower-alcohol option, or both, for example "I like Moscow Mules. Suggest something similar, and a lighter option too." or "What is a low-alcohol drink like an Espresso Martini?". Suggests cocktails similar to that one from the Garçon catalogue, with each drink's strength, flavours and fixmeadrinkapp.com page, plus low or zero-proof options that share its flavours or base spirit; set low_proof to true to get only low and zero-proof alternatives. Drinks are for adults of legal drinking age.

NameRequiredDescriptionDefault
nameYesThe cocktail to match, e.g. "Negroni"
low_proofNoTrue to suggest only low and zero-proof drinks

Output Schema

NameRequiredDescription
noteNoSet when no recipe has exactly the requested name
sourceYes
suggestionsYes
low_proof_optionsYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: results carry strength, flavours and a fixmeadrinkapp.com page per drink, plus low/zero-proof alternatives sharing flavour or base spirit, and an audience restriction to legal drinking age. No auth or rate-limit detail, but none is plausible for a public read tool.

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?

Usage guidance is front-loaded before the description of output, which is the right ordering. The single opening sentence is long, packing two quoted example utterances into one clause, but every element still carries routing value and nothing is pure filler.

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 two-parameter read tool with an output schema, the description covers the trigger, the filter parameter, the shape of returned content and the audience constraint. There is no ambiguity an agent would need resolved before calling it.

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 description coverage is 100%, so the schema already defines both parameters, including 'low_proof: True to suggest only low and zero-proof drinks'. The description's restatement of low_proof adds no syntax or semantics beyond that, and 'name' is only loosely characterized as the drink the user likes. Baseline 3 applies.

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

Purpose4/5

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

The description uses a specific verb+resource: 'Suggests cocktails similar to that one from the Garçon catalogue.' An agent can tell this is a similarity-recommendation tool rather than a recipe lookup or ingredient search. It stops short of explicitly naming the sibling tools it replaces, so it lands at 4 rather than 5.

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

Usage Guidelines4/5

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

It states the triggering condition precisely ('when the user names a drink they like and wants something similar, a lighter or lower-alcohol option, or both') and reinforces it with two concrete example utterances. There is no explicit exclusion clause pointing to get_cocktail_recipe or find_cocktails_by_ingredients, which keeps it from a 5.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedexplain_bar_term
    • First observedfind_cocktails_by_ingredients
    • First observedget_cocktail_recipe
    • First observedsuggest_similar_cocktail

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Gives your AI a live picture of your home bar's spirits, liqueurs, juices, garnishes, equipment and glassware, so it can suggest cocktails you can actually make right now, propose substitutes, help use up open bottles before they turn, and keep a shopping list. Runs locally alongside a web UI where you and the AI read and write the same inventory, with fill levels, expiry dates and every change logged.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Provides read-only access to a personal cocktail library stored in a synced on-device snapshot, letting AI assistants search recipes by name, ingredient, spirit, or collection, retrieve full drink specs, list collections, determine which drinks can be made from the bottles on hand, and review what has been made and how it was rated. Every result reports the snapshot's age so stale data is flagged rather than silently trusted.
    8
    11 npm
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables natural language search for cocktail recipes and ingredient information through TheCocktailDB API. Supports searching by cocktail name, ingredient, category, or alcohol content to discover recipes and recommendations.
    5
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables searching for cocktail recipes by name, ingredient, or randomly, and retrieving full cocktail details including ingredients, measurements, and instructions via TheCocktailDB API.
    435 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources