Chop it: meal planning, recipes, pantry and shopping
REMOTE · CHOPIT.APP
Weekly meal planning, recipes and pantry-aware shopping. Browse and draft without an account.
Available components
Last scanned (23 hours ago)
Scores higher than 53% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Productivity and Notes
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (set_this_week). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability84
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 9812 tokens (~106/item across 92 items; 34 tools + 58 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management10
- Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage92
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 72% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 36 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Nov 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “create_shopping_list” rewrote its description, which is the text the model reads security
- Tool “list_saved_weeks” rewrote its description, which is the text the model reads security
- Tool “set_this_week” rewrote its description, which is the text the model reads security
- Stability: unverified → 0.03 ▲ functional
- “create_shopping_list” added an optional parameter “leaveOutPantry” cosmetic
- “create_shopping_list” added an optional parameter “pantryMode” cosmetic
- 1 Nov 26 65
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Probed https://chopit.app/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=chopit.app | CN=WE1,O=Google Trust Services,C=US | 20 Oct 2026 | 18 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | 2d3bdfcdd6bc9dbc13a9aed1d4ae60f1 |
| SANs: chopit.app, *.chopit.app | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of chopit.app. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| chopit.app. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.whisk.com https://eu-assets.i.posthog.com https://e.chopit.app https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https: blob:; connect-src 'self' https://*.supabase.co wss://*.supabase.co https://cdn.whisk.com https://api.whisk.com https://my.whisk.com https://events.whisk.com https://list-integration.whisk.com https://imagedelivery.net https://chop-it-frankfurt.onrender.com https://e.chopit.app https://eu.i.posthog.com https://us.i.posthog.com https://eu-assets.i.posthog.com https://va.vercel-scripts.com; frame-src 'self' https://list-integration.whisk.com https://my.whisk.com https://cdn.whisk.com; child-src https://list-integration.whisk.com https://my.whisk.com https://cdn.whisk.com; font-src 'self' data:; base-uri 'self'; form-action 'self' https://my.whisk.com https://list-integration.whisk.com; worker-src 'self' blob:; |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://chopit.app/mcp | Verified | 200 | |
| http (plaintext) | http://chopit.app/mcp | HTTPS enforced | 301 | https://chopit.app/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
create_shopping_list Build a consolidated shopping list ~351
Builds one consolidated, aisle-organised shopping list from a completed menu draft (menuDraftId) or a set of recipes (recipeIds: catalogue, the user's own, or both), merging duplicate ingredients and scaling to servings. Returns shoppingListId, the source draft and recipes, and counts: buy, covered (already have) and checkStock (pantry matches to confirm); remainingItemCount includes unresolved stock checks. Any recipe ID that can't be resolved is reported in note, meaning the list is incomplete. Pantry handling follows the draft, or explicit pantryMode for recipeIds: ignore and focus do not read stock; use covers comparable measured stock and leaves unmeasured matches as checkStock. Set leaveOutPantry only when asked to leave out Pantry items, matching Chef IQ Shop coverage. Low and zero stock cover nothing. Whole items round up for buying; measured quantities are recipe amounts. get_shopping_list, update_shopping_list and open_shop_handoff take the returned shoppingListId. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| leaveOutPantry | boolean | – | Only when asked to leave out Pantry items. Uses the same reversible stock coverage as Chef IQ Shop, including listed items without comparable amounts. Low or zero stock never covers a line. |
| menuDraftId | string | – | A menuDraftId returned by create_weekly_menu. |
| pantryMode | string | – | For recipeIds, use checks your Pantry, ignore leaves it out, and focus does not read stock. For a draft, omit or match its pantryMode; change the draft first otherwise. |
| recipeIds | array | – | Explicit recipe ids (used when no menuDraftId). |
| servings | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| counts | object | – | – |
| note | string | – | – |
| recipeIds | array | – | – |
| recipeServings | object | – | – |
| remainingItemCount | integer | – | – |
| revision | integer | – | – |
| sections | array | yes | – |
| shopIntelligence | – | – | – |
| shoppingListId | string | yes | – |
| sourceMenuDraftId | string | – | – |
No examples provided.
create_weekly_menu Build a weekly dinner menu ~647
Main entry point for planning dinners. Builds a draft week of dinners from Chop It's catalogue, including broad requests such as 'plan five dinners' with a balanced protein mix adapted to food rules. Each dinner slot gets up to five equal recipe choices and none is selected until the user chooses, in the widget or in chat; a draft with zero selected (status needs_selections) is the normal starting state. Returns the native recipe-selection widget and a menuDraftId that revise_weekly_menu, get_menu_draft, save_week and create_shopping_list accept. Building a draft works without an account. Parameters: brief is the user's own words; each counted protein ('2 chicken, 1 fish') or slotRequirement is one dinner slot; dietary holds whole-week food rules only (one vegetarian dinner is a slot, not dietary); maxTimeMins caps every dinner, while slotRequirements can mix quick and slower dinners; priority is balanced, quick (30-minute cap), healthy or comfort; pantryMode stays off unless the user wants to cook from their pantry (using account stock needs a linked account); includeRecipeIds are pinned as selected dinners. Dietary rules and time limits are hard constraints, and only dinner mains are offered. slotIssues lists any slot with fewer than five matches and the reason: fewer cards means fewer recipes met that slot's rules, not that the catalogue is short.
| Name | Type | Req | Description |
|---|---|---|---|
| brief | string | yes | Free-text brief, e.g. 'quick midweek family dinners, no fish'. |
| configurationId | string | – | Set by the weekly chooser widget: the chooser this week is built from, so the widget can find it again after a reload. |
| dietary | array | – | – |
| dinnersCount | integer | – | How many dinners to plan. If omitted, the count named in the brief wins, else 5. |
| excludeRecipeIds | array | – | – |
| focusIngredients | array | – | Only ingredients explicitly named for using up; do not fill from remembered inventory. |
| includeRecipeIds | array | – | Recipe ids to pin into the week. |
| maxTimeMins | integer | – | Global hard cap for EVERY dinner. For quick weeknights plus a slower weekend, use slotRequirements instead. |
| mixPreset | string | – | – |
| pantryMode | string | – | Task only: default ignore for fresh inspiration; use only when explicitly asked to plan from stock; focus prioritises named ingredients. Never changes the diet, foods to avoid or other lasting prefer… |
| priority | string | – | quick and speedy are the same criterion: every dinner within 30 minutes of credible total time. healthy uses the documented per-serving nutrition rule; comfort is the curated comfort style. balanced… |
| recipeSource | string | – | Saved means the linked library. Not recently planned excludes recent MCP draft selections; it does not imply never cooked. |
| servings | integer | – | – |
| slotRequirements | array | – | One entry per dinner, in display order. Use for mixed briefs: quick slots have maxTimeMins, a slower weekend has minTimeMins and special, and a fish slot has protein fish. Empty entries mean a varied… |
| Name | Type | Req | Description |
|---|---|---|---|
| allowedNextActions | array | yes | – |
| appUrl | string | yes | – |
| brief | string | – | – |
| canUndo | boolean | – | – |
| debug | – | – | – |
| dietary | array | – | – |
| dinners | array | yes | – |
| diversity | – | – | – |
| diversityStatus | string | – | – |
| focusIngredients | array | – | – |
| menuDraftId | string | yes | – |
| navigation | object | – | – |
| note | string | – | – |
| pantryMode | string | – | – |
| priority | string | – | – |
| progress | object | yes | – |
| recipeSource | string | – | – |
| savedWeekAppUrl | string | – | – |
| savedWeekId | string | – | – |
| savedWeekTitle | string | – | – |
| selection | object | yes | – |
| selectionWarnings | array | – | – |
| servings | number | yes | – |
| slotIssues | array | – | – |
| status | string | yes | – |
| title | string | yes | – |
No examples provided.
delete_recipe Remove a recipe from my library ~84
Permanently deletes one of the user's own saved recipes, such as a duplicate or a bad import. It cannot be undone, so it suits a request where the user has confirmed which recipe to delete. Catalogue recipes can't be deleted. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| recipeId | string | yes | Id of one of the user's own saved recipes (from list_saved_recipes). |
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | – |
| recipeId | string | – | – |
| status | string | yes | – |
| title | string | – | – |
No examples provided.
delete_saved_week Delete a saved week ~94
Permanently deletes one of the user's Saved Weeks by savedWeekId; irreversible, so it suits an explicit request that names the week. expectedTitle is the week's current title as list_saved_weeks shows it; a mismatch, or a week that is currently This Week, is refused and nothing is deleted. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| expectedTitle | string | yes | – |
| savedWeekId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| savedWeekId | string | yes | – |
| status | string | yes | – |
No examples provided.
get_food_preferences See food preferences ~92
Returns the account's food preferences, the same record the app's Food preferences settings show: the diet (none, vegetarian, vegan or pescatarian), the foods to avoid (fourteen common foods such as milk, eggs, peanuts or gluten) and dislikes (other foods the household doesn't eat). Every planning, search and recipe tool applies these on each call. Read-only. Requires a linked Chop It account.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| diet | string | yes | – |
| dislikes | array | yes | – |
| foodsToAvoid | array | yes | – |
| summary | string | yes | – |
No examples provided.
get_menu_draft Review a dinner draft ~188
Returns the current state of a menu draft: dinner slots and their labels, the offered choices, what is selected and locked, servings and slotIssues. Useful before an edit, after the user has chosen dinners in the widget, or whenever the latest menuDraftId is uncertain. Follows revisions of that exact draft. Unavailable drafts can be recovered through open_saved_week with their exact known savedWeekId; otherwise the user needs to reopen the intended week. Works before sign-in for a draft built before sign-in; once the user links their account, reading the draft attaches it to that account. Drafts are separate from Saved Weeks and This Week.
| Name | Type | Req | Description |
|---|---|---|---|
| configurationId | string | – | Set by the weekly chooser widget after a reload: reads the newest draft built from that chooser. |
| menuDraftId | string | – | The draft to read. Omit only when reading by configurationId. |
| Name | Type | Req | Description |
|---|---|---|---|
| allowedNextActions | array | yes | – |
| appUrl | string | yes | – |
| brief | string | – | – |
| canUndo | boolean | – | – |
| debug | – | – | – |
| dietary | array | – | – |
| dinners | array | yes | – |
| diversity | – | – | – |
| diversityStatus | string | – | – |
| focusIngredients | array | – | – |
| menuDraftId | string | yes | – |
| navigation | object | – | – |
| note | string | – | – |
| pantryMode | string | – | – |
| priority | string | – | – |
| progress | object | yes | – |
| recipeSource | string | – | – |
| savedWeekAppUrl | string | – | – |
| savedWeekId | string | – | – |
| savedWeekTitle | string | – | – |
| selection | object | yes | – |
| selectionWarnings | array | – | – |
| servings | number | yes | – |
| slotIssues | array | – | – |
| status | string | yes | – |
| title | string | yes | – |
No examples provided.
get_my_week See what I'm cooking this week ~76
Returns the dinners currently set as This Week in the user's Chop It app, with recipe links: the week they are cooking now. Answers 'what's for dinner tonight?' or 'what's on this week?' without planning anything new. Drafts and Saved Weeks do not change it. Read-only. Requires a linked Chop It account.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| appUrl | string | yes | – |
| message | string | yes | – |
| recipes | array | yes | – |
| title | string | yes | – |
| total | number | yes | – |
No examples provided.
get_pantry See what's in the pantry ~80
Lists the items in the user's Chop It pantry (name, location, quantity, how full, expiry), the same pantry the app shows. Relevant when the user wants to cook from what they have or use things up; general dinner ideas don't need it. Live pantry data supersedes remembered or earlier details. Read-only. Requires a linked Chop It account.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| appUrl | string | yes | – |
| items | array | yes | – |
| note | string | yes | – |
| total | number | yes | – |
No examples provided.
get_recipe Get the full recipe ~250
Returns one complete recipe by recipeId: ingredients with quantities, method steps, timings and photo. Accepts IDs from search_recipes, a menu draft, a week or list_saved_recipes, for catalogue recipes and the user's own saved recipes alike. servings scales simple ingredient amounts (the app's Shop list rounding); scaledFrom holds the written count. If scalingNote is present, amounts embedded in the instructions need review: the whole recipe stays at its returned original servings. Do not claim it was adapted; review ingredients and method together before a separate copy; the weekly widget asks for the dinner's servings. Garnishes and 'to serve' ingredients carry optional: true. nutrition holds per-serving kcal, protein, carbs, fat and fibre when the catalogue can vouch for them (an estimate, not medical advice); nutritionNote says why they are withheld otherwise. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| recipeId | string | yes | Recipe id from search_recipes, create_weekly_menu, or list_saved_recipes. |
| servings | integer | – | Requested servings. Simple ingredient amounts scale using Shop rounding; a scalingNote explains when embedded quantities require keeping the complete written recipe for review. Omit for the recipe's… |
| Name | Type | Req | Description |
|---|---|---|---|
| appUrl | string | yes | – |
| imageUrl | string|null | yes | – |
| ingredients | array | yes | – |
| method | array | yes | – |
| nutrition | – | – | – |
| nutritionNote | string | – | – |
| oneLiner | string|null | yes | – |
| recipeId | string | yes | – |
| scaledFrom | number|null | – | – |
| scalingNote | string | – | – |
| servings | number|null | yes | – |
| tags | array | yes | – |
| title | string | yes | – |
| totalTimeMins | number|null | yes | – |
No examples provided.
get_shopping_list Review your current shopping list ~173
Returns the latest saved revision of a shopping list: lines with stable IDs, which are ticked off (excluded) or partly covered, and the revision number that update_shopping_list and open_shop_handoff take. Saved state here supersedes earlier conversation output. Lists expire after 24 hours; retrying an unavailable ID cannot recover it. Recovery creates a new list from the exact known intended menuDraftId, reopening its exact known savedWeekId first if needed. Missing exact references require the user to reopen the intended week; guessed IDs and recent-week substitutions cannot establish the intended plan. Rebuilding does not restore ticks or partial coverage. Read-only. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| shoppingListId | string | yes | The exact shopping list to read or update. Never infer the list from an old widget. |
| Name | Type | Req | Description |
|---|---|---|---|
| counts | object | – | – |
| note | string | – | – |
| recipeIds | array | – | – |
| recipeServings | object | – | – |
| remainingItemCount | integer | – | – |
| revision | integer | – | – |
| sections | array | yes | – |
| shopIntelligence | – | – | – |
| shoppingListId | string | yes | – |
| sourceMenuDraftId | string | – | – |
No examples provided.
import_recipe_from_image Import a recipe from a photo ~261
Imports a recipe from a photo (cookbook page, screenshot or handwritten card) given a fetchable http(s) imageUrl, restructures it to Chop It's recipe standard and saves it to the user's library. A needs_review result carries a preview and the issues found, for correction with save_recipe. If the image can't be fetched, the recipe text can be imported as a caption with import_recipe_from_url. Imports that need paid processing require confirmPaidImport after the user agrees. Limited per conversation. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| caption | string | – | Optional extra context, e.g. the dish name or text the photo cuts off. |
| confirmPaidImport | boolean | – | True only after the user explicitly approves 1 credit once the 10 free weekly imports are exhausted. |
| imageUrl | string | yes | http(s) URL of a photo of the recipe — a cookbook page, screenshot, or handwritten card. Must be a fetchable link; if the fetch fails, fall back to import_recipe_from_url with the recipe text as capt… |
| requestId | string | – | Generate a unique ID before starting a new import. Reuse it until that import completes, including confirmation and recovery; a later new import needs a new ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| appUrl | string | – | – |
| failedRules | array | – | – |
| keepUrl | string|null | – | – |
| message | string | yes | – |
| recipeId | string | – | – |
| recipePreview | – | – | – |
| status | string | yes | – |
| title | string | – | – |
No examples provided.
import_recipe_from_url Import a recipe from a link ~207
Imports a recipe from a link (TikTok, Instagram or any recipe website), or from pasted caption text when the link can't be read, restructures it to Chop It's recipe standard and saves it to the user's library. A needs_review result carries a preview and the issues found; the corrected recipe can then be saved with save_recipe. Imports that need paid processing require confirmPaidImport after the user agrees. Limited per conversation. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| caption | string | – | Pasted caption/recipe text — used alone or to supplement the url. |
| confirmPaidImport | boolean | – | True only after the user explicitly approves 1 credit once the 10 free weekly imports are exhausted. |
| requestId | string | – | Generate a unique ID before starting a new import. Reuse it until that import completes, including confirmation and recovery; a later new import needs a new ID. |
| url | string | – | TikTok, Instagram or website link to a recipe. |
| Name | Type | Req | Description |
|---|---|---|---|
| appUrl | string | – | – |
| failedRules | array | – | – |
| keepUrl | string|null | – | – |
| message | string | yes | – |
| recipeId | string | – | – |
| recipePreview | – | – | – |
| status | string | yes | – |
| title | string | – | – |
No examples provided.
import_shared_week Import your own copy of a shared week ~87
Copies a shared week (shareCode) into the user's account: its recipes join their library and a private menu draft is created, returned as menuDraftId for review, save_week or shopping. The source week and the user's This Week are unchanged. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| shareCode | string | yes | The intentional public share code, never a private collection or draft ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| allowedNextActions | array | yes | – |
| appUrl | string | yes | – |
| brief | string | – | – |
| canUndo | boolean | – | – |
| debug | – | – | – |
| dietary | array | – | – |
| dinnerCount | integer | yes | – |
| dinners | array | yes | – |
| diversity | – | – | – |
| diversityStatus | string | – | – |
| focusIngredients | array | – | – |
| menuDraftId | string | yes | – |
| message | string | yes | – |
| navigation | object | – | – |
| note | string | – | – |
| pantryMode | string | – | – |
| priority | string | – | – |
| progress | object | yes | – |
| recipeSource | string | – | – |
| savedWeekAppUrl | string | – | – |
| savedWeekId | string | – | – |
| savedWeekTitle | string | – | – |
| selection | object | yes | – |
| selectionWarnings | array | – | – |
| servings | number | yes | – |
| slotIssues | array | – | – |
| status | string | yes | – |
| title | string | yes | – |
No examples provided.
list_saved_recipes See my saved recipes ~131
Lists recipes in the user's Chop It library, the same ones the app shows (including anything imported or saved in this chat), most recently updated first. returned is this page and total is the whole library. Pass nextOffset as offset until hasMore is false; one page is not the whole library. Collect every page before proposing edits and restart if records change during the read. Read-only. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| offset | integer | – | Start at 0, then pass nextOffset from the previous page. Read every page before proposing whole-library changes; restart if records change while browsing. |
| Name | Type | Req | Description |
|---|---|---|---|
| hasMore | boolean | – | – |
| nextOffset | – | – | – |
| note | string | – | – |
| offset | integer | – | – |
| pageSize | number | yes | – |
| recipes | array | yes | – |
| returned | number | yes | – |
| total | number | yes | – |
No examples provided.
list_saved_weeks Find saved weeks ~154
Lists the user's Saved Weeks with their dinners and savedWeekId, for browsing or picking a week to reuse. Pass nextOffset as offset until hasMore is false to read all weeks. Collect all pages before editing; restart if records change during the read. A week saved earlier in this conversation is identified by the savedWeekId save_week returned, not by its position or recency in this list. Provenance is not recorded for personal snapshots; never infer Chef IQ origin from a title. Read-only. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| offset | integer | – | Start at 0, then pass nextOffset from the previous page. Read every page before proposing whole-library changes; restart if records change while browsing. |
| Name | Type | Req | Description |
|---|---|---|---|
| hasMore | boolean | – | – |
| nextOffset | – | – | – |
| note | string | yes | – |
| offset | integer | – | – |
| pageSize | integer | – | – |
| returned | integer | – | – |
| total | integer | – | – |
| weeks | array | yes | – |
No examples provided.
open_saved_week Use a saved week as a new draft ~74
Creates a private, editable menu draft copied from a Saved Week, keeping its dinner order and servings, and returns its menuDraftId for revise_weekly_menu, save_week or create_shopping_list. The Saved Week and This Week are unchanged. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| savedWeekId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| allowedNextActions | array | yes | – |
| appUrl | string | yes | – |
| brief | string | – | – |
| canUndo | boolean | – | – |
| debug | – | – | – |
| dietary | array | – | – |
| dinners | array | yes | – |
| diversity | – | – | – |
| diversityStatus | string | – | – |
| focusIngredients | array | – | – |
| menuDraftId | string | yes | – |
| navigation | object | – | – |
| note | string | – | – |
| pantryMode | string | – | – |
| priority | string | – | – |
| progress | object | yes | – |
| recipeSource | string | – | – |
| savedWeekAppUrl | string | – | – |
| savedWeekId | string | – | – |
| savedWeekTitle | string | – | – |
| selection | object | yes | – |
| selectionWarnings | array | – | – |
| servings | number | yes | – |
| slotIssues | array | – | – |
| status | string | yes | – |
| title | string | yes | – |
No examples provided.
open_shop_handoff Open shopping review ~140
Creates a time-limited Chop It review link for the groceries still to buy on a shopping list (or a menu draft's list) at its current revision. On that page the user reviews and ticks off the list; any purchase happens on a supermarket's own site. This tool buys nothing. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| expectedRevision | integer | – | Revision last reviewed; a changed list requires a fresh review. |
| menuDraftId | string | – | A menuDraftId; a shopping list is derived if no shoppingListId is given. |
| shoppingListId | string | – | A shoppingListId returned by create_shopping_list. |
| Name | Type | Req | Description |
|---|---|---|---|
| appUrl | string | yes | – |
| handoffUrl | string|null | yes | – |
| message | string | yes | – |
| provider | string | yes | Who hosts the review: "Chop it". |
| remainingItemCount | number | – | – |
| review | array | – | – |
| revision | number | – | – |
| shoppingListId | string | – | – |
| whiskUrl | string | yes | Kept for compatibility: the same Chop it review page as handoffUrl. Not a retailer link and not a purchase. |
No examples provided.
prepare_weekly_menu Choose a protein mix ~584
Compatibility planning entry point for older callers. create_weekly_menu is the main planner. Opens the optional weekly planning chooser in the widget: the user picks a protein mix (a balanced default is offered, such as 2 chicken, 1 fish and 1 veg for four dinners) and people per dinner, and the widget then builds the week. The chooser has no priority setting; a priority the user states (quick, healthy, comfort) is passed as the priority parameter. Provides optional visual mix configuration when the user wants to choose the structure before recipe generation. The default mix is a suggestion shown to the user, not a choice made for them. Returns configuration only: no recipes are chosen and no account is needed; for a signed-in account, its diet (vegetarian, vegan, pescatarian) shapes the mixes offered. When the request already states a counted mix, slotRequirements, a mixPreset or 'surprise me', this tool builds the draft directly, exactly as create_weekly_menu does. Takes the same parameters as create_weekly_menu.
| Name | Type | Req | Description |
|---|---|---|---|
| brief | string | yes | Free-text brief, e.g. 'quick midweek family dinners, no fish'. |
| configurationId | string | – | Set by the weekly chooser widget: the chooser this week is built from, so the widget can find it again after a reload. |
| dietary | array | – | – |
| dinnersCount | integer | – | How many dinners to plan. If omitted, the count named in the brief wins, else 5. |
| excludeRecipeIds | array | – | – |
| focusIngredients | array | – | Only ingredients explicitly named for using up; do not fill from remembered inventory. |
| includeRecipeIds | array | – | Recipe ids to pin into the week. |
| maxTimeMins | integer | – | Global hard cap for EVERY dinner. For quick weeknights plus a slower weekend, use slotRequirements instead. |
| mixPreset | string | – | – |
| pantryMode | string | – | Task only: default ignore for fresh inspiration; use only when explicitly asked to plan from stock; focus prioritises named ingredients. Never changes the diet, foods to avoid or other lasting prefer… |
| priority | string | – | quick and speedy are the same criterion: every dinner within 30 minutes of credible total time. healthy uses the documented per-serving nutrition rule; comfort is the curated comfort style. balanced… |
| recipeSource | string | – | Saved means the linked library. Not recently planned excludes recent MCP draft selections; it does not imply never cooked. |
| servings | integer | – | – |
| slotRequirements | array | – | One entry per dinner, in display order. Use for mixed briefs: quick slots have maxTimeMins, a slower weekend has minTimeMins and special, and a fish slot has protein fish. Empty entries mean a varied… |
| Name | Type | Req | Description |
|---|---|---|---|
| allowedNextActions | array | – | – |
| appUrl | string | – | – |
| brief | string | – | – |
| canUndo | boolean | – | – |
| configuration | – | – | – |
| debug | – | – | – |
| dietary | array | – | – |
| dinners | array | – | – |
| diversity | – | – | – |
| diversityStatus | string | – | – |
| focusIngredients | array | – | – |
| menuDraftId | string | – | – |
| navigation | object | – | – |
| note | string | – | – |
| pantryMode | string | – | – |
| priority | string | – | – |
| progress | object | – | – |
| recipeSource | string | – | – |
| savedWeekAppUrl | string | – | – |
| savedWeekId | string | – | – |
| savedWeekTitle | string | – | – |
| selection | object | – | – |
| selectionWarnings | array | – | – |
| servings | number | – | – |
| slotIssues | array | – | – |
| status | string | yes | – |
| title | string | – | – |
No examples provided.
preview_shared_week Preview a publicly shared week ~53
Shows the dinners and cooking details behind a shared week link (shareCode). Available without an account and changes nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| shareCode | string | yes | The intentional public share code, never a private collection or draft ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| allowedNextActions | array | yes | – |
| dinnerCount | integer | yes | – |
| dinners | array | yes | – |
| message | string | yes | – |
| shareCode | string | yes | – |
| status | string | yes | – |
| title | string | yes | – |
No examples provided.
rename_saved_week Rename a saved week ~63
Renames one of the user's Saved Weeks by savedWeekId. Its dinners, servings and This Week are unchanged. Idempotent for the same title. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| savedWeekId | string | yes | – |
| title | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| appUrl | string | yes | – |
| savedWeekId | string | yes | – |
| status | string | yes | – |
| title | string | yes | – |
No examples provided.
revise_weekly_menu Change one dinner or its servings ~695
Changes a menu draft and returns the updated draft with a new menuDraftId; unrelated dinners, locks, dietary rules and pantry choice are kept. Operations: select one offered choice for a slot (slotId + replacementRecipeId, which also locks it); select several offered recipes together across interchangeable slots (choices); five new choices for one slot (slotId + reroll: true); top up every slot listed in slotIssues in one call (refillShortSlots: true, no slotId); change a slot's protein, timing or health aim (slotRequirement or replacementBrief); change servings for one slot, or for the whole week without slotId; change pantry ranking (pantryMode, focusIngredients); lock or unlock a dinner (locked); undo the last change (undoLastChange). An explicit chooseForMe request can select a matching candidate for one slot; ordinary replacement requests leave that slot unselected. Nothing is selected implicitly, and changes described only in chat leave the draft as it was. The returned menuDraftId is the one to save or shop. A stale-edit error includes the current draft and changeApplied=false; the returned state supports review and a retry of only the unapplied change using its current menuDraftId. Exact slot IDs and labels come from get_menu_draft. Choosing and changing dinners works before sign-in; saving or shopping the result needs a linked account.
| Name | Type | Req | Description |
|---|---|---|---|
| choices | object | – | Add and keep recipes together in interchangeable unlocked slots. Supply one distinct offered recipe per slot. This is one atomic draft revision; never combine with other edits. |
| chooseForMe | boolean | – | Select one matching candidate for this slot only when the user explicitly asks you to choose. May accompany replacementBrief or reroll. Never saves or activates the week. |
| focusIngredients | array | – | – |
| locked | boolean | – | Keep this dinner through future changes. Unlock explicitly before replacing. |
| menuDraftId | string | yes | – |
| pantryMode | string | – | Refresh unselected dinners using this task-only pantry choice, preserving all selected slots, servings and dietary restrictions. |
| refillShortSlots | boolean | – | One repair for the whole draft: top up every unselected slot that has fewer than five candidates (see slotIssues), keeping its existing cards, every full slot and every selection. No slotId. Use this… |
| replacementBrief | string | – | What to change about this dinner, e.g. vegetarian or something new. Existing exclusions remain enforced. |
| replacementRecipeId | string | – | Select an exact offered alternative for this slot. Must belong to this draft's options; cannot duplicate another chosen dinner. |
| reroll | boolean | – | Five new candidates for the target unresolved slot only. Preserve all constraints and unrelated slots; exclude its previously shown recipes where possible. |
| servings | integer | – | Change the selected slot, or all slots when slot is omitted. |
| slot | string | – | Exact slot label to change; never rebuild unrelated dinners. |
| slotId | string | – | Stable slot ID, preferred over the legacy slot label. |
| slotRequirement | object | – | Replace this slot’s structure only. Other dinners stay unchanged. |
| undoLastChange | boolean | – | Undo the latest draft edit as a new revision. Does not change Saved Weeks, This Week or previous shopping lists. |
| Name | Type | Req | Description |
|---|---|---|---|
| allowedNextActions | array | yes | – |
| appUrl | string | yes | – |
| brief | string | – | – |
| canUndo | boolean | – | – |
| debug | – | – | – |
| dietary | array | – | – |
| dinners | array | yes | – |
| diversity | – | – | – |
| diversityStatus | string | – | – |
| focusIngredients | array | – | – |
| menuDraftId | string | yes | – |
| navigation | object | – | – |
| note | string | – | – |
| pantryMode | string | – | – |
| priority | string | – | – |
| progress | object | yes | – |
| recipeSource | string | – | – |
| savedWeekAppUrl | string | – | – |
| savedWeekId | string | – | – |
| savedWeekTitle | string | – | – |
| selection | object | yes | – |
| selectionWarnings | array | – | – |
| servings | number | yes | – |
| slotIssues | array | – | – |
| status | string | yes | – |
| title | string | yes | – |
No examples provided.
save_discovered_recipe Save a discovered recipe ~79
Saves a Chop It catalogue recipe, unchanged, into the user's own library, reusing the existing copy if they already saved it. Takes a recipeId from search_recipes, get_recipe or a menu draft and returns the library copy's own recipeId and appUrl. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| recipeId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| appUrl | string | yes | – |
| recipeId | string | yes | – |
| status | string | yes | – |
No examples provided.
save_menu Save and activate this week ~144
Compatibility save-and-activate operation for older callers. save_week followed by set_this_week provides the canonical explicit saving and activation workflow. Saves a completed menu draft as a Saved Week and makes it This Week in one step, the combined action the Chop It app uses. It replaces whatever week the user currently has set, so it suits an explicit request such as 'make this my week now', confirmed with the user when they already have a week in progress. save_week is the save that leaves This Week unchanged. Idempotent for the same draft. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| menuDraftId | string | yes | The menuDraftId returned by create_weekly_menu. |
| Name | Type | Req | Description |
|---|---|---|---|
| activeCollectionId | string | – | – |
| appUrl | string | yes | – |
| message | string | yes | – |
| recipeCount | number | – | – |
| savedCollectionId | string | – | – |
| status | string | yes | – |
No examples provided.
save_recipe Save a recipe to the Chop It library ~446
Saves a structured recipe to the user's Chop It library: one read from a cookbook photo, one created with the user, or a corrected import. Takes the recipeDraftToken from start_recipe; the recipe is checked against that brief (UK ingredient names and metric quantities, ingredients in logical sections, a complete method with sensory cues, a plain title). status needs_revision means nothing was saved and fixes lists what to change, with a fresh recipeDraftToken; status saved means it is in the library and appUrl opens it. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| cookTimeMins | integer | – | – |
| description | string | – | One-sentence appetising description of the finished dish. |
| fidelity | string | – | 'transcription' for a faithful copy of an existing recipe (a cookbook page, pasted text). Honoured ONLY when sourceUrl or sourceNote carries real evidence — otherwise treated as 'generated'. |
| finishingTouch | string | – | One vivid sentence describing the plated dish. |
| ingredientSections | array | yes | – |
| prepTimeMins | integer | – | – |
| recipeDraftToken | string | – | A signed copy of the brief start_recipe just issued, so the server can confirm the recipe was written to the brief it actually gave out. It is not a credential and not a secret: it carries no keys, g… |
| servings | integer | – | – |
| sourceNote | string | – | Provenance, e.g. 'photographed from a family cookbook'. |
| sourceUrl | string | – | Where the recipe came from, if a link exists. |
| steps | array | yes | Complete numbered method with sensory cues (golden, bubbling). |
| tags | array | – | e.g. cuisine, 'quick', 'family favourite'. |
| title | string | yes | Recipe title in plain title case, no marketing words. |
| Name | Type | Req | Description |
|---|---|---|---|
| appUrl | string | – | – |
| attemptsRemaining | number | – | – |
| fixes | array | – | – |
| keepUrl | string|null | – | – |
| message | string | yes | – |
| recipeDraftToken | string | – | The same signed brief, re-issued with the revision count advanced. Not a credential and not a secret; see the description on start_recipe's output. |
| recipeId | string | – | – |
| savesAfterCap | boolean | – | – |
| status | string | yes | – |
| title | string | – | – |
| warnings | array | – | – |
No examples provided.
save_week Save week ~152
Canonical saving operation. Saves a completed menu draft (every dinner selected) as a reusable Saved Week, keeping the exact recipes, order, slot labels, locks and per-dinner servings. Returns savedWeekId alongside the menuDraftId; create_shopping_list accepts that same menuDraftId, and open_saved_week recreates the draft from savedWeekId if the draft has expired. Leaves This Week unchanged and creates no shopping list. Idempotent: saving the same draft revision again returns the same Saved Week (status already_saved). A draft changed since it was read returns a conflict; get_menu_draft then gives the current revision. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| menuDraftId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| allowedNextActions | array | yes | – |
| appUrl | string | yes | – |
| dinnerCount | integer | yes | – |
| diversity | – | yes | – |
| menuDraftId | string | yes | – |
| message | string | yes | – |
| savedWeekId | string | yes | – |
| state | string | yes | – |
| status | string | yes | – |
| title | string | yes | – |
No examples provided.
search_recipes Search Chop It recipes ~184
Searches Chop It's catalogue of 1,000+ tested recipes and returns recipe cards (title, photo, time, tags, protein) with links into the app. Suits dinner ideas, a named dish, protein, cuisine or dietary need, or ideas built around ingredients the user mentions. Structured filters are hard constraints: 'quick chicken dinners' maps to filters.protein ['chicken'] and filters.maxTimeMins 30. The query text is also parsed for protein, time, dietary and dinner intent as a fallback, and dinner-intent searches leave out sides, dips and starters. Read-only and available without an account. Search results do not change a menu draft.
| Name | Type | Req | Description |
|---|---|---|---|
| filters | object | – | – |
| limit | integer | – | – |
| query | string | yes | What to search the Chop It catalogue for, e.g. 'chicken traybake'. |
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | – | – |
| recipes | array | yes | – |
| total | number | yes | – |
No examples provided.
set_this_week Make a saved week This Week ~118
Makes a Saved Week the user's This Week (the week the Chop It app shows for cooking) as an independent working copy with the same servings. Replaces the current This Week; the Saved Week stays reusable. Returns the working copy servings, or null when unset. To change portions, open_saved_week, revise_weekly_menu with servings, save_week, then activate that exact new savedWeekId. Suits a request to make a saved week the current one. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| savedWeekId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| activeCollectionId | string | yes | – |
| appUrl | string | yes | – |
| message | string | yes | – |
| recipeServings | object | yes | – |
| savedWeekId | string | yes | – |
| servings | number|null | yes | – |
| state | string | yes | – |
| status | string | yes | – |
No examples provided.
share_week Create a public week link ~80
Creates a public link to one of the user's Saved Weeks (savedWeekId) so others can preview it and import a copy. Anyone with the link can see the dinners and recipe contents, so it suits a request to share. Draft IDs are private and are never share codes. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| savedWeekId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| created | boolean | yes | – |
| message | string | yes | – |
| shareCode | string | yes | – |
| shareUrl | string | yes | – |
| status | string | yes | – |
No examples provided.
shop_week Shop these dinners ~60
Builds the shopping list for the exact completed menuDraftId and returns its summary and Chop it review URL in one call. Never purchases anything. Leaves Saved Weeks and This Week unchanged. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| menuDraftId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| appUrl | string | yes | – |
| counts | object | – | – |
| handoffUrl | string|null | yes | – |
| message | string | yes | – |
| note | string | – | – |
| provider | string | yes | Who hosts the review: "Chop it". |
| remainingItemCount | number | – | – |
| review | array | – | – |
| revision | number | – | – |
| shoppingListId | string | yes | – |
| sourceMenuDraftId | string | yes | – |
| whiskUrl | string | yes | Kept for compatibility: the same Chop it review page as handoffUrl. Not a retailer link and not a purchase. |
No examples provided.
start_recipe Get the rules before writing a recipe ~223
Returns the brief for writing a recipe to Chop It's library standard (structure, UK ingredient names, metric quantities, method detail), pantry context when the user wants to cook from their pantry, and a recipeDraftToken. save_recipe checks a recipe against the brief named by that token, so a recipe written to this brief is accepted first time. The token is a signed copy of the brief the user can see; it holds no secret and grants no access. Makes no AI call and saves nothing. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| cuisine | string | – | Cuisine the user asked for, if any. |
| dishIdea | string | yes | What the user wants to cook, in their words. |
| exclusions | array | – | Anything ruled out, in plain words: 'no pork', 'dairy-free', 'no peanuts'. Resolved server-side. |
| focusIngredients | array | – | – |
| maxTimeMins | integer | – | Hard ceiling on total time, when the user gave one. |
| pantryMode | string | – | – |
| servings | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| bannedPhrases | array | yes | – |
| dietary | array | yes | – |
| excludeFoods | array | yes | – |
| excludeProtein | array | yes | – |
| maxTimeMins | number|null | yes | – |
| methodRules | array | yes | – |
| note | string | yes | – |
| outputContract | array | yes | – |
| pantryMatches | array | yes | – |
| recipeDraftToken | string | yes | A signed copy of the brief start_recipe just issued, so the server can confirm the recipe was written to the brief it actually gave out. It is not a credential and not a secret: it carries no keys, g… |
| servings | number | yes | – |
| ukVocabulary | array | yes | – |
| unrecognisedExclusions | array | yes | – |
No examples provided.
update_food_preferences Change food preferences ~241
Changes the account's food preferences: diet, foods to avoid and dislikes, in plain words. Omitted fields keep their current value; a supplied list replaces that list whole, so a change to one item is sent as the full updated list (get_food_preferences gives the current one). Returns the saved preferences. They apply to the next planning, search or recipe call on every surface: recipes that use these foods are left out. Chop It leaves out the foods a person chooses but is not built for managing allergies, and never describes a recipe, plan or list as safe for one. Idempotent. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| diet | string | – | The whole-week diet. Omit to keep the current one. |
| dislikes | array | – | The complete list of other foods the household doesn't eat, in plain words ('mushrooms', 'coriander'). Omit to keep the current list; pass [] to clear it. |
| foodsToAvoid | array | – | The complete list of the fourteen common foods to leave out; recipes using them are left out. Omit to keep the current list; pass [] to clear it. |
| Name | Type | Req | Description |
|---|---|---|---|
| diet | string | yes | – |
| dislikes | array | yes | – |
| foodsToAvoid | array | yes | – |
| summary | string | yes | – |
No examples provided.
update_pantry Update the pantry ~228
Updates the user's Chop It pantry from what they've bought, have or used up: add items (topping up existing ones), remove by name, or change or remove exact rows by pantryItemId. On add, location places stock directly in pantry, fridge or freezer; only compatible items in that location are topped up. Omit unknown quantities or expiry dates rather than guessing. Read back before retrying a top-up, which is additive. An ambiguous item returns its candidates without changing that item; other unambiguous items in the request can still change. Staples such as salt, pepper and oil are skipped. Edits the same pantry the app shows. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| add | array | – | Items to add (or top up when already present). |
| remove | array | – | Ingredient names to remove; matched on the same canonical key the app uses. |
| removeItemIds | array | – | Exact pantryItemIds from get_pantry to delete. Preferred for duplicate names. |
| update | array | – | Set fields on an exact row; quantity replaces rather than adds. |
| Name | Type | Req | Description |
|---|---|---|---|
| added | array | yes | – |
| ambiguities | array | yes | – |
| appUrl | string | yes | – |
| merged | array | yes | – |
| notFound | array | yes | – |
| note | string | yes | – |
| removed | array | yes | – |
| skipped | array | yes | – |
| total | number | yes | – |
| updated | array | yes | – |
No examples provided.
update_recipe Review or edit my recipes ~459
Reviews changes to 1–20 recipes with action preview and changes; read every library page first for whole-library work. mode update tidies only titles, descriptions and tags. mode copy creates separate private recipes, protecting originals and all existing plans. Adaptations need complete ingredients and steps together, including serving changes; preserve optional garnishes. Show the exact preview, then action apply with changeSetId and confirmed true only after user approval. Retry the same ID to recover its receipt; never create a fresh batch after an uncertain write. Conflicts change nothing and require a fresh review. Metadata-only batches support confirmed undo for 24 hours if unchanged; undo never deletes copies. Omitting action retains the immediate single-recipe edit for an explicitly requested change to an original. Copies and reviews make no AI call or credit debit. Requires a linked Chop It account.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | Preview a bounded batch or separate recipe copies, then apply its changeSetId only after the user approves. Undo a metadata batch only while its results are unchanged. Omit for the existing single-re… |
| changeSetId | string | – | – |
| changes | array | – | Exact recipes and complete requested changes. Update permits only title, description and tags. Culinary changes use copy, preserving every original recipe and plan. Collect the full library before pr… |
| confirmed | boolean | – | True only after the user approves the displayed preview or undo. A preview itself grants no permission. |
| cookTimeMins | integer | – | – |
| description | string | – | New one-sentence description of the finished dish. |
| finishingTouch | string | – | One vivid sentence describing the plated dish. |
| ingredientSections | array | – | Replaces the WHOLE ingredient list — send every ingredient, not only the changed ones. |
| prepTimeMins | integer | – | – |
| recipeId | string | – | Id of one of the user's own saved recipes (from list_saved_recipes). |
| servings | integer | – | New serving count. |
| steps | array | – | Replaces the WHOLE method — send every step, not only the changed ones. |
| tags | array | – | – |
| title | string | – | New title, plain title case, no marketing words. |
| Name | Type | Req | Description |
|---|---|---|---|
| appUrl | string | – | – |
| canUndo | boolean | – | – |
| changeSetId | string | – | – |
| expiresAt | string | – | – |
| items | array | – | – |
| message | string | yes | – |
| recipeId | string | – | – |
| replayed | boolean | – | – |
| status | string | yes | – |
| title | string | – | – |
| updatedFields | array | – | – |
No examples provided.
How do I install the Chop it: meal planning, recipes, pantry and shopping MCP server?
Chop it: meal planning, recipes, pantry and shopping is a hosted endpoint at https://chopit.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · chopit.app
claude mcp add --transport http app-chopit-chopit 'https://chopit.app/mcp'
What is the Chop it: meal planning, recipes, pantry and shopping MCP server?
Chop it: meal planning, recipes, pantry and shopping is an MCP server listed in the public MCP registry as app.chopit/chopit. Weekly meal planning, recipes and pantry-aware shopping. Browse and draft without an account. This page covers its hosted endpoint (https://chopit.app/mcp).
Is the Chop it: meal planning, recipes, pantry and shopping MCP server safe to use?
Chop it: meal planning, recipes, pantry and shopping scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Chop it: meal planning, recipes, pantry and shopping MCP server expose?
Chop it: meal planning, recipes, pantry and shopping exposes 34 tools: search_recipes, prepare_weekly_menu, create_weekly_menu, create_shopping_list, shop_week, and 29 more. Their descriptions and schemas cost roughly 7,048 tokens of context every time the server is loaded.
Does the Chop it: meal planning, recipes, pantry and shopping MCP server require authentication?
No. We connected to Chop it: meal planning, recipes, pantry and shopping without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Chop it: meal planning, recipes, pantry and shopping MCP server still maintained?
Chop it: meal planning, recipes, pantry and shopping is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.