
Recipes, plating guides and kitchen calculators (turkey, Thanksgiving timeline). Free, read-only.
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.
How much cheese, cured meat, crackers, fruit, nuts and jars to buy for a charcuterie board, and what size board, for a guest count.
Number of guests
appetizer = before a meal; meal = the board is dinner; cheese-course = after dinner
Guests who eat no meat
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http plate-artists https://plateartists.com/mcp
How much cheese, cured meat, crackers, fruit, nuts and jars to buy for a charcuterie board, and what size board, for a guest count.
| Argument | Type | Description |
|---|---|---|
| guests* | integer | Number of guests |
| occasion* | string | appetizer = before a meal; meal = the board is dinner; cheese-course = after dinner |
| vegetarians | integer | Guests who eat no meat |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"guests",
"occasion"
],
"properties": {
"guests": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of guests"
},
"occasion": {
"enum": [
"appetizer",
"meal",
"cheese-course"
],
"type": "string",
"description": "appetizer = before a meal; meal = the board is dinner; cheese-course = after dinner"
},
"vegetarians": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "Guests who eat no meat"
}
}
}Find Plate Artists guides, board guides, holiday hubs and free tools on a topic: plating technique, garnishes, sauces, plate types, knife skills, table setting, napkin folding, food photography, charcuterie boards and more. Returns titles, summaries and URLs. Without a query, lists every guide.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results (default 5) |
| query | string | Topic, e.g. "how to plate steak", "quenelle", "cocktail garnish" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Max results (default 5)"
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Topic, e.g. \"how to plate steak\", \"quenelle\", \"cocktail garnish\""
}
}
}The full recipe by id: description, times, servings, ingredients with quantities, the method step by step, plating ideas (how to plate and garnish it), food-safety notes, FAQ and the page URL.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Recipe id from search_recipes |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Recipe id from search_recipes"
}
}
}How much ham to buy per person and USDA FSIS cooking or reheating time and safe temperature. label: cooked = fully cooked (reheat); cbe = cook before eating; fresh = raw pork leg; country = dry-cured country ham. Not every label has every cut.
| Argument | Type | Description |
|---|---|---|
| cut* | string | |
| label* | string | |
| guests* | integer | Number of guests |
| appetite | string | |
| store_wrapped | boolean | Fully cooked ham repackaged at the store or deli (reheat to 165°F, not 140°F) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"guests",
"label",
"cut"
],
"properties": {
"cut": {
"enum": [
"spiral",
"whole",
"half",
"boneless"
],
"type": "string"
},
"label": {
"enum": [
"cooked",
"cbe",
"fresh",
"country"
],
"type": "string"
},
"guests": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Number of guests"
},
"appetite": {
"enum": [
"dinner",
"leftovers"
],
"type": "string"
},
"store_wrapped": {
"type": "boolean",
"description": "Fully cooked ham repackaged at the store or deli (reheat to 165°F, not 140°F)"
}
}
}The size and method of a classic knife cut (julienne, brunoise, batonnet, small dice, chiffonade, paysanne, tourné, mirepoix and more), in inches and millimetres. Without a cut, lists every cut with its size.
| Argument | Type | Description |
|---|---|---|
| cut | string | e.g. "brunoise", "allumette" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cut": {
"type": "string",
"maxLength": 60,
"description": "e.g. \"brunoise\", \"allumette\""
}
}
}The cuisines and categories in the recipe catalog, to use as exact filter values.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}How much food and drink to buy for a party: appetizer pieces, then the mains, sides, salads, bread and desserts you pick, and drinks for the hours.
| Argument | Type | Description |
|---|---|---|
| foods | array | Dishes on the menu |
| hours | number | Party length, for drinks (default 3) |
| style* | string | |
| drinks | array | |
| guests* | integer | Number of guests |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"guests",
"style"
],
"properties": {
"foods": {
"type": "array",
"items": {
"enum": [
"turkey",
"poultry-bone",
"poultry-boneless",
"roast-bone",
"roast-boneless",
"pork",
"ribs",
"ground-beef",
"stew",
"steak",
"shrimp",
"shellfish",
"pasta-main",
"casserole",
"soup-first",
"soup-main",
"veg",
"potatoes",
"corn",
"pasta-side",
"rice",
"green-salad",
"potato-salad",
"coleslaw",
"fruit-salad",
"rolls",
"loaf",
"pie",
"layer-cake",
"cheesecake",
"cookies",
"brownies",
"ice-cream",
"pudding"
],
"type": "string"
},
"maxItems": 20,
"description": "Dishes on the menu"
},
"hours": {
"type": "number",
"maximum": 12,
"minimum": 1,
"description": "Party length, for drinks (default 3)"
},
"style": {
"enum": [
"appetizers-then-meal",
"meal",
"appetizers-only"
],
"type": "string"
},
"drinks": {
"type": "array",
"items": {
"enum": [
"soft",
"tea",
"punch",
"coffee"
],
"type": "string"
},
"maxItems": 4
},
"guests": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Number of guests"
}
}
}Which plate colour flatters a dish and which makes it disappear, by the food's dominant colour; or which foods a plate you own suits. Call with neither to see the colour families and plates.
| Argument | Type | Description |
|---|---|---|
| plate | string | |
| food_color | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"plate": {
"enum": [
"white",
"white-rim",
"cream-rings",
"black",
"speckled",
"fog-speckle",
"slate",
"navy",
"sage",
"blush",
"terracotta",
"white-bowl",
"slate-board"
],
"type": "string"
},
"food_color": {
"enum": [
"golden",
"darkbrown",
"red",
"orange",
"green",
"pale",
"purple",
"multi"
],
"type": "string"
}
}
}How big a prime rib (standing rib roast) to buy for a guest count, roasting time, the pull temperature for the doneness you want, and the rest. Classic 350°F roast or reverse sear.
| Argument | Type | Description |
|---|---|---|
| bone | string | |
| guests* | integer | Number of guests |
| method | string | |
| appetite | string | light = plenty else on the table |
| doneness | string | |
| leftovers | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"guests"
],
"properties": {
"bone": {
"enum": [
"bone-in",
"boneless"
],
"type": "string"
},
"guests": {
"type": "integer",
"maximum": 60,
"minimum": 1,
"description": "Number of guests"
},
"method": {
"enum": [
"classic",
"reverse-sear"
],
"type": "string"
},
"appetite": {
"enum": [
"light",
"standard"
],
"type": "string",
"description": "light = plenty else on the table"
},
"doneness": {
"enum": [
"rare",
"medium-rare",
"medium",
"usda",
"medium-well",
"well"
],
"type": "string"
},
"leftovers": {
"type": "boolean"
}
}
}One random full recipe, optionally limited by cuisine, category or vegetarian. For "what should I cook tonight?" questions.
| Argument | Type | Description |
|---|---|---|
| cuisine | string | |
| category | string | |
| vegetarian | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cuisine": {
"type": "string",
"maxLength": 60
},
"category": {
"type": "string",
"maxLength": 60
},
"vegetarian": {
"type": "boolean"
}
}
}Search the Plate Artists recipe catalog by words in the dish name or keywords, cuisine, category, vegetarian, and total time. Returns short cards with ids and URLs; call get_recipe for the full recipe. Call list_recipe_filters for the exact cuisine and category values.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results (default 10) |
| query | string | Words to match, e.g. "chicken", "chocolate cake", "goulash" |
| cuisine | string | Exact cuisine, e.g. "Italian" |
| category | string | Exact category, e.g. "Dessert" |
| vegetarian | boolean | Only vegetarian recipes |
| max_total_minutes | integer | Prep + cook + rest time limit |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Max results (default 10)"
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Words to match, e.g. \"chicken\", \"chocolate cake\", \"goulash\""
},
"cuisine": {
"type": "string",
"maxLength": 60,
"description": "Exact cuisine, e.g. \"Italian\""
},
"category": {
"type": "string",
"maxLength": 60,
"description": "Exact category, e.g. \"Dessert\""
},
"vegetarian": {
"type": "boolean",
"description": "Only vegetarian recipes"
},
"max_total_minutes": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Prep + cook + rest time limit"
}
}
}A Thanksgiving cooking schedule worked back from the dinner time: what to do on each day before (thawing, make-ahead dishes), when the turkey goes in and comes out, which oven each side dish goes in and when, and any dish that does not fit the ovens, with fixes. Turkey times are USDA FSIS's; dish times are each recipe's own. Every setting is optional.
| Argument | Type | Description |
|---|---|---|
| date | string | Dinner date YYYY-MM-DD (default: the next US Thanksgiving) |
| thaw | string | fridge (default), cold water, or fresh = no thawing |
| dishes | array | Dishes on the menu (default: mashed, gravy, stuffing, green-beans, rolls, cranberry, pumpkin-pie, pecan-pie). mashed = Mashed potatoes, gravy = Turkey gravy, stuffing = Stuffing, baked in a dish, green-beans = Green bean casserole, sweet-potato = Sweet potato casserole, scalloped = Scalloped potatoes, mac = Baked mac and cheese, sprouts = Roasted Brussels sprouts, rolls = Dinner rolls, cranberry = Cranberry sauce, pumpkin-pie = Pumpkin pie, pecan-pie = Pecan pie |
| kitchen | string | one oven (default), one oven plus a countertop oven, or two ovens |
| stuffed | boolean | Roasting with stuffing inside the bird |
| turkey_lb | number | Turkey weight in pounds, 4 to 24 (default 16; kg × 2.2) |
What size turkey to buy for a guest count, USDA roasting time at 325°F, fridge and cold-water thawing time, and the done temperature.
| Argument | Type | Description |
|---|---|---|
| kind | string | Default whole |
| guests* | integer | Number of guests |
| stuffed | boolean | Roasting with stuffing inside |
| appetite | string | leftovers adds ½ lb a person |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"guests"
],
"properties": {
"kind": {
"enum": [
"whole",
"prestuffed"
],
"type": "string",
"description": "Default whole"
},
"guests": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of guests"
},
"stuffed": {
"type": "boolean",
"description": "Roasting with stuffing inside"
},
"appetite": {
"enum": [
"standard",
"leftovers"
],
"type": "string",
"description": "leftovers adds ½ lb a person"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 6, 2026.
| dinner_time |
| string |
| 24-hour HH:MM the food is on the table (default "16:00") |
| dish_beside_turkey | boolean | A side dish fits on a rack beside the turkey |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"date": {
"type": "string",
"maxLength": 10,
"description": "Dinner date YYYY-MM-DD (default: the next US Thanksgiving)"
},
"thaw": {
"enum": [
"fridge",
"water",
"fresh"
],
"type": "string",
"description": "fridge (default), cold water, or fresh = no thawing"
},
"dishes": {
"type": "array",
"items": {
"enum": [
"mashed",
"gravy",
"stuffing",
"green-beans",
"sweet-potato",
"scalloped",
"mac",
"sprouts",
"rolls",
"cranberry",
"pumpkin-pie",
"pecan-pie"
],
"type": "string"
},
"maxItems": 12,
"description": "Dishes on the menu (default: mashed, gravy, stuffing, green-beans, rolls, cranberry, pumpkin-pie, pecan-pie). mashed = Mashed potatoes, gravy = Turkey gravy, stuffing = Stuffing, baked in a dish, green-beans = Green bean casserole, sweet-potato = Sweet potato casserole, scalloped = Scalloped potatoes, mac = Baked mac and cheese, sprouts = Roasted Brussels sprouts, rolls = Dinner rolls, cranberry = Cranberry sauce, pumpkin-pie = Pumpkin pie, pecan-pie = Pecan pie"
},
"kitchen": {
"enum": [
"one",
"countertop",
"two"
],
"type": "string",
"description": "one oven (default), one oven plus a countertop oven, or two ovens"
},
"stuffed": {
"type": "boolean",
"description": "Roasting with stuffing inside the bird"
},
"turkey_lb": {
"type": "number",
"maximum": 24,
"minimum": 4,
"description": "Turkey weight in pounds, 4 to 24 (default 16; kg × 2.2)"
},
"dinner_time": {
"type": "string",
"maxLength": 5,
"description": "24-hour HH:MM the food is on the table (default \"16:00\")"
},
"dish_beside_turkey": {
"type": "boolean",
"description": "A side dish fits on a rack beside the turkey"
}
}
}