Skip to main content
Glama

Find recipes by ingredients on hand

find_by_ingredients
Read-onlyIdempotent

Find recipes that use ingredients the user already has: leftovers, a full fridge, an ingredient about to turn. Ranks by how many of those ingredients a recipe uses and how few extra ones it needs. Each result links to its source.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNooptional free-text to narrow results, e.g. 'breakfast pancakes'
max_fat_gNomaximum grams of fat per serving
min_ratingNominimum source star rating, default 4.2
ingredientsYesingredients on hand, e.g. ['oats','milk','eggs','skyr','berries']
max_carbs_gNomaximum grams of carbohydrates per serving
max_sugar_gNomaximum grams of sugar per serving
min_fiber_gNominimum grams of fiber per serving
min_reviewsNominimum number of source ratings, default 25
max_caloriesNoonly recipes with at most this many calories per serving, e.g. 300
min_caloriesNoonly recipes with at least this many calories per serving
min_protein_gNominimum grams of protein per serving, e.g. 10
max_total_minutesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
matchesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint, so the safety profile is covered. The description adds genuinely new behavior: the ranking logic (most on-hand ingredients, fewest extras needed) and that each result links back to its source — context an agent cannot get 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.

Conciseness5/5

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

Three tight sentences: purpose first, then ranking behavior, then result shape. No filler, no restatement of the title, and every clause carries information the agent can act on.

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 exists, so return-value detail is not required, and the description still notes that results link to their source. With 13 parameters but 85% schema coverage, the structured fields carry the parameter burden; the description is complete enough for correct selection, though it could flag the filtering dimension.

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 85%, so the schema already documents ingredients, query, and the nutritional filters with examples. The description mentions only the ingredient input and ranking, adding no syntax, format, or default information beyond what the schema already provides; baseline 3 is appropriate.

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?

States a specific verb and resource ('Find recipes that use ingredients the user already has') and adds the differentiating mechanism: ingredient-driven retrieval with ranking by overlap. It implicitly separates itself from search_recipes, but never names the sibling or the boundary between them explicitly.

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?

Gives concrete triggering situations ('leftovers, a full fridge, an ingredient about to turn'), which tells the agent when this tool fits. It offers no exclusions or named alternatives for the case where the user wants a dish by name rather than by pantry contents.

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.