SpiritFacts
Server Details
Calories, sugar, carbs, ABV, gluten status, congeners and Hangover Index for 222 alcoholic drinks.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
TDQS
Score is being calculated.
Available Tools
5 toolscompare_drinksCompare drinksARead-onlyInspect
Compare 2 to 5 drinks or categories side by side, e.g. ["vodka", "tequila"] or ["White Claw", "Truly"].
| Name | Required | Description | Default |
|---|---|---|---|
| drinks | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the description does not need to restate safety. It adds the side-by-side comparison behavior and the 2-5 item bound, but does not say what the comparison returns (which attributes, ordering, or format), even though there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with zero waste; the constraint (2-5) and the examples are front-loaded. Nothing needs trimming.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description covers scope and valid inputs well. The one remaining gap is the return shape, which is unknown because there is no output schema, so the agent cannot tell what the comparison result looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the parameter meaning. It does so by stating the 2-5 range (matching minItems/maxItems) and, more importantly, by showing that items may be drink names or category names, using brand-level examples such as "White Claw" and "Truly". The exact string format is still not specified, such as case sensitivity or valid-name lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: "Compare ... drinks or categories side by side". It also names the scope (2 to 5 items) and gives examples, so an agent can distinguish it from get_drink, list_categories, rank_drinks, and search_drinks. It never explicitly contrasts compare with rank_drinks, which is the closest sibling in function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The examples (["vodka","tequila"], ["White Claw","Truly"]) imply the intended use, and the 2-5 item range bounds it. However, it never says when to pick compare over rank_drinks or when a comparison is inappropriate, leaving usage to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_drinkGet drink factsARead-onlyInspect
Full facts for one drink or category: nutrition per serving, seven chemistry factors (congeners, histamines, polyphenols, sulfites, tannins, sugar, additives), allergens, gluten and vegan status, sourcing notes.
| Name | Required | Description | Default |
|---|---|---|---|
| drink | Yes | A brand or a category such as "gin". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes far beyond what annotations provide by enumerating the exact data points included, such as 'seven chemistry factors,' 'allergens,' and 'sourcing notes.' This informs the agent precisely what kind of data and behavioral payload to expect from this resource.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused paragraph. It is front-loaded with the main purpose ('Full facts') and then efficiently lists the contents, using minimal words to describe a vast set of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description is nearly perfect. It serves as a comprehensive contract, listing all the granular details (nutrition, specific factors) that an agent needs to understand the utility of this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 100%, the description is highly redundant regarding parameter meaning. It merely reinforces that the input should be a single entity ('drink or category') as already documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the action ('Get Full facts') and the object ('one drink or category'). By specifying 'one' versus the broader search and list siblings, it leaves no doubt about the tool's specific scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It defines the context of use as retrieving 'full facts' for a singular entry. It implicitly sets it apart from search tools (which imply a list) and list tools (which focus on categories), though it does not explicitly state 'use this when' or 'do not use this when'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList categoriesARead-onlyInspect
Every category with its typical ABV and Hangover Index, lowest Hangover Index first.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: the exact payload fields and the deterministic sort order, which is what an agent needs to interpret results without an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the resource front-loaded and the sort order trailing as the useful qualifier. Every clause carries information; nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only listing with no output schema, the description covers what is returned and in what order, which is sufficient to call and interpret it. A note on result size or whether categories are a fixed enumeration would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. Nothing in the description is needed to explain inputs, and it correctly adds no parameter noise.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource (every category) and the fields returned (typical ABV, Hangover Index) plus the sort order, which is specific enough to distinguish it from siblings like rank_drinks and search_drinks. It omits an explicit verb such as 'list/return', but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the ordering hint ('lowest Hangover Index first') suggests a discovery or browsing role, but the description never says when to call this versus search_drinks or rank_drinks. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rank_drinksRank drinksARead-onlyInspect
Rank drinks by calories, sugar, carbs, Hangover Index or ABV, optionally filtered, e.g. lowest calorie gluten-free hard seltzer. Drinks with no verified figure are left out.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results to return. Default 10. | |
| order | No | Default lowest. | |
| vegan | No | ||
| family | No | ||
| metric | Yes | ||
| category | No | A category such as "vodka" or "hard-seltzer". | |
| glutenFree | No | Only drinks gluten-free under US labelling rules. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, closed-world, non-destructive safety. The description adds genuinely useful behavior beyond them: "Drinks with no verified figure are left out" tells the agent results are silently truncated for missing data, which affects how results should be interpreted and reported. It doesn't cover pagination or return shape, but that is secondary here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: capability and metrics first, then a concrete example, then the caveat about missing data. Nothing is padded or repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter read tool with no output schema and annotations covering safety, the description supplies metrics, filterability, and the omission caveat. Only minor gaps remain (limit ceiling, family/vegan semantics), all of which happen to be partly defined by enums or schema descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 57%, so the description carries real weight. It enumerates the metric values in prose (including the domain-specific "Hangover Index") and signals that filters are optional via a concrete example combining order, metric and gluten-free. It doesn't explain 'family', 'vegan', or the 50-result cap, leaving some gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ("Rank drinks") with the exact metrics available (calories, sugar, carbs, Hangover Index, ABV) and the filterable nature of the operation. It doesn't explicitly distinguish itself from siblings like compare_drinks or search_drinks, but the verb 'rank' versus 'compare' or 'search' is naturally discriminating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The example ("lowest calorie gluten-free hard seltzer") implies the use case and shows how metric + filter combine, but there is no explicit routing guidance - nothing says when to use this instead of search_drinks or compare_drinks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_drinksSearch drinksARead-onlyInspect
Find alcoholic drinks by brand, style or origin, e.g. "titos", "kentucky bourbon". Returns calories, sugar, carbs, ABV, Hangover Index and gluten status per serving.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results to return. Default 10. | |
| query | Yes | Brand, style or origin. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a safe, read-only, non-destructive search. The description adds useful behavioral context by listing the result fields (calories, sugar, carbs, ABV, Hangover Index, gluten status per serving), which helps an agent understand what the tool returns in the absence of an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the primary action and followed by the return payload. Every sentence earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only search tool with no output schema, the description covers the action, query intent, and returned fields sufficiently. Minor gaps remain around result ordering and pagination, but the annotations and schema handle safety and limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents both query and limit. The description's examples clarify query semantics slightly, but it does not mention the limit parameter or add meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Find alcoholic drinks by brand, style or origin,' and gives concrete query examples. It clearly contrasts with sibling tools like get_drink, rank_drinks, and compare_drinks by being a search operation, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the examples ('titos', 'kentucky bourbon'), but there is no explicit guidance on when to use search_drinks versus list_categories, rank_drinks, or get_drink. An agent can infer the use case, but alternatives and exclusions are absent.
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.
5 tool updates
- First observed
compare_drinks - First observed
get_drink - First observed
list_categories - First observed
rank_drinks - First observed
search_drinks
Related MCP Connectors
Label facts (caffeine, sugar, ingredients) and community ratings for 1,000+ energy drinks.
Blood alcohol estimates, drinks per permille level, breath/blood conversion, DE + EU driving limits
Cocktail recipes and an exact ingredient finder: what can I mix with what I have at home?
Search 500 cocktail recipes, get full recipes, find drinks by ingredient, suggest random picks.
Related MCP Servers
- AlicenseAqualityNot gradedmaintenanceProvides access to over 2.5 million US alcohol label records from the TTB via the COLA Cloud API. It enables users to search for labels by brand, barcode, or permit holder and retrieve detailed product information including label images and ABV.6MIT
- AlicenseNot gradedqualityBmaintenanceGives 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
- AlicenseAqualityAmaintenanceProvides 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.84 npmMIT
- AlicenseAqualityBmaintenanceIndian food nutrition from ICMR-NIN: protein and calcium per 100 g and per katori for 52 foods, protein targets by age and weight, and protein cost ranked in rupees. Every response carries a source URL, so answers are citable.8MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.