Scale recipes, convert kitchen units and merge shopping lists. Free.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Convert one cooking amount between units: within volume or weight exactly, or between volume and weight using a built-in density for flour, sugar, brown sugar, butter, water, milk, rice, oats, cocoa or honey. Use for questions like 'how many grams is 2 cups of flour'. Do NOT use to change serving counts (use scale_recipe).
Unit to convert to, e.g. 'g'; same supported units as from
Unit to convert from, e.g. 'cup'. Supported: tsp, tbsp, cup, fl_oz, ml, l, pint, quart, gallon (volume); g, kg, oz, lb (weight); each (count). Common spellings like 'cups', 'grams', 'tablespoon' also work
Amount to convert, zero or positive, e.g. 2
Ingredient name, required only for volume <-> weight; must contain one of flour, sugar, brown sugar, butter, water, milk, rice, oats, cocoa, honey (e.g. 'all-purpose flour')
Convert one cooking amount between units: within volume or weight exactly, or between volume and weight using a built-in density for flour, sugar, brown sugar, butter, water, milk, rice, oats, cocoa or honey. Use for questions like 'how many grams is 2 cups of flour'. Do NOT use to change serving counts (use scale_recipe).
| Argument | Type | Description |
|---|---|---|
| to* | string | Unit to convert to, e.g. 'g'; same supported units as from |
| from* | string | Unit to convert from, e.g. 'cup'. Supported: tsp, tbsp, cup, fl_oz, ml, l, pint, quart, gallon (volume); g, kg, oz, lb (weight); each (count). Common spellings like 'cups', 'grams', 'tablespoon' also work |
| value* | number | Amount to convert, zero or positive, e.g. 2 |
| ingredient | string | Ingredient name, required only for volume <-> weight; must contain one of flour, sugar, brown sugar, butter, water, milk, rice, oats, cocoa, honey (e.g. 'all-purpose flour') |
{
"type": "object",
"required": [
"value",
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"description": "Unit to convert to, e.g. 'g'; same supported units as from"
},
"from": {
"type": "string",
"description": "Unit to convert from, e.g. 'cup'. Supported: tsp, tbsp, cup, fl_oz, ml, l, pint, quart, gallon (volume); g, kg, oz, lb (weight); each (count). Common spellings like 'cups', 'grams', 'tablespoon' also work"
},
"value": {
"type": "number",
"minimum": 0,
"description": "Amount to convert, zero or positive, e.g. 2"
},
"ingredient": {
"type": "string",
"description": "Ingredient name, required only for volume <-> weight; must contain one of flour, sugar, brown sugar, butter, water, milk, rice, oats, cocoa, honey (e.g. 'all-purpose flour')"
}
}
}Total the cost of a recipe's ingredients and work out the cost per serving and per 10 servings. Use when budgeting a dish, pricing meal prep or comparing recipes on cost. Do NOT use to resize the recipe (use scale_recipe first, then price the scaled amounts here).
| Argument | Type | Description |
|---|---|---|
| currency | string | Currency code for display only, e.g. 'EUR'; default USD |
| servings* | number | How many servings the recipe makes, positive, e.g. 4 |
| ingredients* | array | Priced ingredients, e.g. [{"item":"chicken","cost":8.5},{"item":"rice","cost":1.2}] |
{
"type": "object",
"required": [
"ingredients",
"servings"
],
"properties": {
"currency": {
"type": "string",
"description": "Currency code for display only, e.g. 'EUR'; default USD"
},
"servings": {
"type": "number",
"description": "How many servings the recipe makes, positive, e.g. 4",
"exclusiveMinimum": 0
},
"ingredients": {
"type": "array",
"items": {
"type": "object",
"required": [
"item",
"cost"
],
"properties": {
"cost": {
"type": "number",
"minimum": 0,
"description": "Cost of the amount used in the recipe, 0 or more, in the given currency"
},
"item": {
"type": "string",
"description": "Ingredient name"
}
}
},
"minItems": 1,
"description": "Priced ingredients, e.g. [{\"item\":\"chicken\",\"cost\":8.5},{\"item\":\"rice\",\"cost\":1.2}]"
}
}
}Combine several shopping or ingredient lists into one, summing the same item across lists (volumes and weights converted to a friendly unit) and noting which list each came from. Use when shopping for several recipes or meals at once. Do NOT use to resize one recipe (use scale_recipe) or price it (use cost_per_serving).
| Argument | Type | Description |
|---|---|---|
| lists* | array | Shopping lists to merge (at least one item overall), e.g. [{"name":"Pancakes","items":[{"item":"milk","quantity":1,"unit":"cup"}]}] |
{
"type": "object",
"required": [
"lists"
],
"properties": {
"lists": {
"type": "array",
"items": {
"type": "object",
"required": [
"items"
],
"properties": {
"name": {
"type": "string",
"description": "List label shown in from_lists, e.g. 'Saturday dinner'; default 'list N'"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"item"
],
"properties": {
"item": {
"type": "string",
"description": "Item to buy, e.g. 'eggs'"
},
"unit": {
"type": "string",
"description": "Unit such as cup, tbsp, g, kg, or a free label like 'can'; omit for plain counts"
},
"quantity": {
"type": "number",
"minimum": 0,
"description": "Amount, non-negative; omit for non-numeric items (listed in skipped_no_quantity)"
}
}
},
"description": "Items on this list"
}
}
},
"minItems": 1,
"description": "Shopping lists to merge (at least one item overall), e.g. [{\"name\":\"Pancakes\",\"items\":[{\"item\":\"milk\",\"quantity\":1,\"unit\":\"cup\"}]}]"
}
}
}Scale every ingredient in a recipe from one serving count to another (0.1x to 20x), with kitchen-friendly fraction hints; items without a quantity pass through unchanged. Use when cooking for more or fewer people. Do NOT use to change units (use convert_units) or to combine several recipes' ingredients (use merge_shopping_list).
| Argument | Type | Description |
|---|---|---|
| ingredients* | array | Recipe ingredients, e.g. [{"item":"flour","quantity":2,"unit":"cup"},{"item":"salt","note":"to taste"}] |
| to_servings* | number | Servings wanted, positive; to_servings / from_servings must be 0.1-20, e.g. 10 |
| from_servings* | number | Servings the recipe is written for, positive, e.g. 4 |
{
"type": "object",
"required": [
"ingredients",
"from_servings",
"to_servings"
],
"properties": {
"ingredients": {
"type": "array",
"items": {
"type": "object",
"required": [
"item"
],
"properties": {
"item": {
"type": "string",
"description": "Ingredient name, e.g. 'flour'"
},
"note": {
"type": "string",
"description": "Text shown instead of an amount when quantity is omitted, e.g. 'to taste' (default 'as needed')"
},
"unit": {
"type": "string",
"description": "Unit such as cup, tbsp, g, or a free count label like 'clove' or 'egg'"
},
"quantity": {
"type": "number",
"minimum": 0,
"description": "Amount, non-negative; omit for items like 'salt to taste'"
}
}
},
"minItems": 1,
"description": "Recipe ingredients, e.g. [{\"item\":\"flour\",\"quantity\":2,\"unit\":\"cup\"},{\"item\":\"salt\",\"note\":\"to taste\"}]"
},
"to_servings": {
"type": "number",
"description": "Servings wanted, positive; to_servings / from_servings must be 0.1-20, e.g. 10",
"exclusiveMinimum": 0
},
"from_servings": {
"type": "number",
"description": "Servings the recipe is written for, positive, e.g. 4",
"exclusiveMinimum": 0
}
}
}