Holiday cooking schedule
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.
Use this when the user asks a turkey cooking time calculator question: how long to roast a turkey by weight (lb or kg), stuffed or unstuffed, or turkey thaw time in the fridge or cold water. Returns the USDA FSIS roasting range at 325°F, the 165°F safe internal temperature, fridge and cold-water thaw times and, with a serve time, the clock times to start thawing and roasting. Covers 4 to 24 lb (stuffed 8 to 24 lb). Does not cover other meats, deep frying or smoking.
Turkey weight in pounds, or text with a unit, e.g. 14 or "6.5 kg".
12h (default) or 24h.
true if stuffed. Default false.
Optional serve time to get clock times, e.g. "2026-11-26 16:00" or "4 PM" (default date Thanksgiving, 26 November 2026).
Minutes to rest before carving, default 30 (USDA says at least 20).
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http cooking-timeline https://cooking-timeline.zovo.one/mcp
Use this when the user asks a turkey cooking time calculator question: how long to roast a turkey by weight (lb or kg), stuffed or unstuffed, or turkey thaw time in the fridge or cold water. Returns the USDA FSIS roasting range at 325°F, the 165°F safe internal temperature, fridge and cold-water thaw times and, with a serve time, the clock times to start thawing and roasting. Covers 4 to 24 lb (stuffed 8 to 24 lb). Does not cover other meats, deep frying or smoking.
| Argument | Type | Description |
|---|---|---|
| clock | any | 12h (default) or 24h. |
| weight* | any | Turkey weight in pounds, or text with a unit, e.g. 14 or "6.5 kg". |
| stuffed | any | true if stuffed. Default false. |
| serve_time | any | Optional serve time to get clock times, e.g. "2026-11-26 16:00" or "4 PM" (default date Thanksgiving, 26 November 2026). |
| rest_minutes | any | Minutes to rest before carving, default 30 (USDA says at least 20). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"weight"
],
"properties": {
"clock": {
"anyOf": [
{
"type": "string",
"maxLength": 12
},
{
"type": "null"
}
],
"description": "12h (default) or 24h."
},
"weight": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 40
}
],
"description": "Turkey weight in pounds, or text with a unit, e.g. 14 or \"6.5 kg\"."
},
"stuffed": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 20
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "true if stuffed. Default false."
},
"serve_time": {
"anyOf": [
{
"type": "string",
"maxLength": 60
},
{
"type": "null"
}
],
"description": "Optional serve time to get clock times, e.g. \"2026-11-26 16:00\" or \"4 PM\" (default date Thanksgiving, 26 November 2026)."
},
"rest_minutes": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Minutes to rest before carving, default 30 (USDA says at least 20)."
}
}
}Use this when the user wants a Thanksgiving cooking timeline, a holiday dinner cooking schedule or an oven schedule for several dishes. Convert the user's menu, pasted recipe notes or a photo of a menu into the dishes array (name, prep_minutes, cook_minutes, rest_minutes, method, oven_temp, make_ahead); use text only as a fallback. Works backward from serve_time (default Thanksgiving, 26 November 2026, 4:00 PM) and gives each step a clock time, detects oven conflicts (one oven by default, ovens: 2 for two), moves make-ahead dishes earlier, adds turkey roast and thaw steps from the USDA table when a turkey weight is given, and returns a printable checklist PDF, an ICS calendar file with a reminder per step, and a shopping-day note. Up to 25 dishes. Does not invent recipe times or give recipes.
| Argument | Type | Description |
|---|---|---|
| text | any | Fallback only: a pasted menu, one dish per line, e.g. "Stuffing: prep 20, bake 45 min at 350F, make ahead". Prefer dishes. |
| clock | any | 12h (default, 4:00 PM) or 24h (16:00). |
| cooks | any | People doing hands-on prep at the same time, default 1. |
| ovens | any | Number of ovens, 1 (default) or 2. |
| paper | any | PDF paper size: letter (default) or A4. |
| title | any | Title for the PDF and calendar, e.g. Thanksgiving at Grandma's. |
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 8, 2026.
| dishes | any | The menu as a list of dish objects. Convert the user's pasted menu, recipe notes or a photo of a menu into these fields. Example: [{"name":"Green bean casserole","prep_minutes":15,"cook_minutes":30,"oven_temp":350,"make_ahead":true},{"name":"Gravy","cook_minutes":15,"method":"stovetop"}]. Up to 25 dishes. |
| turkey | any | Optional turkey roasted from the USDA timetable at 325°F, e.g. {"weight":16,"stuffed":false,"frozen":true}. |
| burners | any | Stovetop burners, default 4. |
| serve_date | any | Serve date if given separately, e.g. 2026-11-26. |
| serve_time | any | When dinner is served, e.g. "2026-11-26 16:00", "4:00 PM" or "Nov 26 5pm". Default date is Thanksgiving, 26 November 2026; default time 4:00 PM. |
| hold_minutes | any | Minutes a dish that is not make-ahead may come out early and wait covered to make room in the oven, default 30. 0 to never hold. |
| share_within_f | any | A dish that is not make-ahead may join an oven already running within this many °F (cooked about 10% longer per 25°F lower), default 25. 0 to keep recipe temperatures. |
| preheat_minutes | any | Minutes to preheat or change oven temperature, default 15. |
| reminder_minutes | any | Calendar alarm this many minutes before each step, default 5. |
| temperature_unit | any | F (default) or C for oven temperatures given without a unit. |
| shopping_days_before | any | Shopping day this many days before serving, default 2. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"text": {
"anyOf": [
{
"type": "string",
"maxLength": 6000
},
{
"type": "null"
}
],
"description": "Fallback only: a pasted menu, one dish per line, e.g. \"Stuffing: prep 20, bake 45 min at 350F, make ahead\". Prefer dishes."
},
"clock": {
"anyOf": [
{
"type": "string",
"maxLength": 12
},
{
"type": "null"
}
],
"description": "12h (default, 4:00 PM) or 24h (16:00)."
},
"cooks": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "People doing hands-on prep at the same time, default 1."
},
"ovens": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Number of ovens, 1 (default) or 2."
},
"paper": {
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "null"
}
],
"description": "PDF paper size: letter (default) or A4."
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
],
"description": "Title for the PDF and calendar, e.g. Thanksgiving at Grandma's."
},
"dishes": {
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"description": "Dish name, e.g. Mashed potatoes."
},
"oven": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Pin the dish to oven 1 or 2 (optional)."
},
"method": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "oven, stovetop, no heat, or another appliance (microwave, slow cooker, grill, air fryer). Default: oven when oven_temp is given."
},
"weight": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Turkey only: weight in lb or text such as \"6 kg\"; cook time then comes from the USDA table."
},
"stuffed": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 20
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "Turkey only: true if stuffed. Default false."
},
"oven_temp": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 30
}
]
},
{
"type": "null"
}
],
"description": "Oven temperature, e.g. 350, \"375F\", \"180C\" or \"gas mark 4\". °F unless temperature_unit is C."
},
"make_ahead": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 20
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "true if the dish can be cooked earlier and held or reheated (pies, casseroles, rolls). Only make-ahead dishes are moved earlier to make room in the oven."
},
"cook_minutes": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Minutes on the heat (oven, stovetop or other), e.g. 45 or \"1h 30m\". 0 for no-cook dishes."
},
"prep_minutes": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Hands-on prep minutes before cooking, e.g. 20 or \"1 hour\"."
},
"rest_minutes": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Minutes between taking it off the heat and serving (rest, cool or chill), e.g. 10."
}
},
"additionalProperties": {}
},
{
"type": "string",
"maxLength": 300
}
]
},
"maxItems": 25
},
{
"type": "string",
"maxLength": 6000
}
]
},
{
"type": "null"
}
],
"description": "The menu as a list of dish objects. Convert the user's pasted menu, recipe notes or a photo of a menu into these fields. Example: [{\"name\":\"Green bean casserole\",\"prep_minutes\":15,\"cook_minutes\":30,\"oven_temp\":350,\"make_ahead\":true},{\"name\":\"Gravy\",\"cook_minutes\":15,\"method\":\"stovetop\"}]. Up to 25 dishes."
},
"turkey": {
"anyOf": [
{
"type": "object",
"required": [
"weight"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"description": "Label, default Turkey."
},
"oven": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Pin to oven 1 or 2 (optional)."
},
"frozen": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 20
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "true if the turkey is frozen now (adds a thaw step), false if fresh. Default: unknown, the thaw step says \"if frozen\"."
},
"weight": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 40
}
],
"description": "Turkey weight in pounds, or text with a unit, e.g. 14 or \"6.5 kg\"."
},
"stuffed": {
"anyOf": [
{
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"maxLength": 20
},
{
"type": "number"
}
]
},
{
"type": "null"
}
],
"description": "true if stuffed. Default false (USDA recommends cooking stuffing separately)."
},
"thaw_method": {
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "null"
}
],
"description": "fridge (default) or cold water."
},
"prep_minutes": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Prep minutes before it goes in (default 20)."
},
"rest_minutes": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Minutes to rest before carving (default 30; USDA says at least 20)."
}
},
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "Optional turkey roasted from the USDA timetable at 325°F, e.g. {\"weight\":16,\"stuffed\":false,\"frozen\":true}."
},
"burners": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Stovetop burners, default 4."
},
"serve_date": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "Serve date if given separately, e.g. 2026-11-26."
},
"serve_time": {
"anyOf": [
{
"type": "string",
"maxLength": 60
},
{
"type": "null"
}
],
"description": "When dinner is served, e.g. \"2026-11-26 16:00\", \"4:00 PM\" or \"Nov 26 5pm\". Default date is Thanksgiving, 26 November 2026; default time 4:00 PM."
},
"hold_minutes": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Minutes a dish that is not make-ahead may come out early and wait covered to make room in the oven, default 30. 0 to never hold."
},
"share_within_f": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "A dish that is not make-ahead may join an oven already running within this many °F (cooked about 10% longer per 25°F lower), default 25. 0 to keep recipe temperatures."
},
"preheat_minutes": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Minutes to preheat or change oven temperature, default 15."
},
"reminder_minutes": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Calendar alarm this many minutes before each step, default 5."
},
"temperature_unit": {
"anyOf": [
{
"type": "string",
"maxLength": 12
},
{
"type": "null"
}
],
"description": "F (default) or C for oven temperatures given without a unit."
},
"shopping_days_before": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 60
}
]
},
{
"type": "null"
}
],
"description": "Shopping day this many days before serving, default 2."
}
}
}