Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
Chop it: meal planning, recipes, pantry and shopping is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Weekly meal planning, recipes and pantry-aware shopping. Browse and draft without an account.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http chop-it-mcp https://chopit.app/mcp
# 2 — ask your agent for something these tools do
# search_recipes, prepare_weekly_menu, create_weekly_menu and 31 more
Chop it: meal planning, recipes, pantry and shopping costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http chop-it-mcp https://chopit.app/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
34 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | What to search the Chop It catalogue for, e.g. 'chicken traybake'. |
| limit | integer | no | — |
| filters | object | no | — |
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, h
| Parameter | Type | Required | Notes |
|---|---|---|---|
| mixPreset | string | no | — |
| recipeSource | string | no | Saved means the linked library. Not recently planned excludes recent MCP draft selections; it does not imply never cooked. |
| priority | string | no | 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 a |
| slotRequirements | array | no | 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 |
| pantryMode | string | no | 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 prefere |
| focusIngredients | array | no | Only ingredients explicitly named for using up; do not fill from remembered inventory. |
| brief | string | yes | Free-text brief, e.g. 'quick midweek family dinners, no fish'. |
| dinnersCount | integer | no | How many dinners to plan. If omitted, the count named in the brief wins, else 5. |
| servings | integer | no | — |
| dietary | array | no | — |
| includeRecipeIds | array | no | Recipe ids to pin into the week. |
| excludeRecipeIds | array | no | — |
| configurationId | string | no | Set by the weekly chooser widget: the chooser this week is built from, so the widget can find it again after a reload. |
| maxTimeMins | integer | no | Global hard cap for EVERY dinner. For quick weeknights plus a slower weekend, use slotRequirements instead. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| mixPreset | string | no | — |
| recipeSource | string | no | Saved means the linked library. Not recently planned excludes recent MCP draft selections; it does not imply never cooked. |
| priority | string | no | 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 a |
| slotRequirements | array | no | 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 |
| pantryMode | string | no | 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 prefere |
| focusIngredients | array | no | Only ingredients explicitly named for using up; do not fill from remembered inventory. |
| brief | string | yes | Free-text brief, e.g. 'quick midweek family dinners, no fish'. |
| dinnersCount | integer | no | How many dinners to plan. If omitted, the count named in the brief wins, else 5. |
| servings | integer | no | — |
| dietary | array | no | — |
| includeRecipeIds | array | no | Recipe ids to pin into the week. |
| excludeRecipeIds | array | no | — |
| configurationId | string | no | Set by the weekly chooser widget: the chooser this week is built from, so the widget can find it again after a reload. |
| maxTimeMins | integer | no | Global hard cap for EVERY dinner. For quick weeknights plus a slower weekend, use slotRequirements instead. |
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 st
| Parameter | Type | Required | Notes |
|---|---|---|---|
| menuDraftId | string | no | A menuDraftId returned by create_weekly_menu. |
| recipeIds | array | no | Explicit recipe ids (used when no menuDraftId). |
| pantryMode | string | no | 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. |
| leaveOutPantry | boolean | no | 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. |
| servings | integer | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| menuDraftId | string | yes | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| expectedRevision | integer | no | Revision last reviewed; a changed list requires a fresh review. |
| shoppingListId | string | no | A shoppingListId returned by create_shopping_list. |
| menuDraftId | string | no | A menuDraftId; a shopping list is derived if no shoppingListId is given. |
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 menu
| Parameter | Type | Required | Notes |
|---|---|---|---|
| shoppingListId | string | yes | The exact shopping list to read or update. Never infer the list from an old widget. |
Ticks off, unticks or partly covers lines on a shopping list ('I already have rice', 'I only need 200g more'). Takes shoppingListId, expectedRevision and changes keyed by line ID (excluded or coveredQuantity), all from get_shopping_list. Changes only what to buy; recipes and pantry are untouched. Repeating the same values is safe; a revision conflict means the list changed and get_shopping_list ha
| Parameter | Type | Required | Notes |
|---|---|---|---|
| shoppingListId | string | yes | The exact shopping list to read or update. Never infer the list from an old widget. |
| expectedRevision | integer | yes | — |
| changes | array | yes | — |
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 savedWee
| Parameter | Type | Required | Notes |
|---|---|---|---|
| menuDraftId | string | no | The draft to read. Omit only when reading by configurationId. |
| configurationId | string | no | Set by the weekly chooser widget after a reload: reads the newest draft built from that chooser. |
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 li
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chooseForMe | boolean | no | 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. |
| reroll | boolean | no | Five new candidates for the target unresolved slot only. Preserve all constraints and unrelated slots; exclude its previously shown recipes where possible. |
| refillShortSlots | boolean | no | 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 |
| choices | object | no | 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. |
| undoLastChange | boolean | no | Undo the latest draft edit as a new revision. Does not change Saved Weeks, This Week or previous shopping lists. |
| slotId | string | no | Stable slot ID, preferred over the legacy slot label. |
| slotRequirement | object | no | Replace this slot’s structure only. Other dinners stay unchanged. |
| pantryMode | string | no | Refresh unselected dinners using this task-only pantry choice, preserving all selected slots, servings and dietary restrictions. |
| focusIngredients | array | no | — |
| menuDraftId | string | yes | — |
| slot | string | no | Exact slot label to change; never rebuild unrelated dinners. |
| replacementBrief | string | no | What to change about this dinner, e.g. vegetarian or something new. Existing exclusions remain enforced. |
| replacementRecipeId | string | no | Select an exact offered alternative for this slot. Must belong to this draft's options; cannot duplicate another chosen dinner. |
| servings | integer | no | Change the selected slot, or all slots when slot is omitted. |
| locked | boolean | no | Keep this dinner through future changes. Unlock explicitly before replacing. |
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 cr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| menuDraftId | string | yes | — |
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. Provenanc
| Parameter | Type | Required | Notes |
|---|---|---|---|
| offset | integer | no | Start at 0, then pass nextOffset from the previous page. Read every page before proposing whole-library changes; restart if records change while browsing. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| savedWeekId | string | yes | — |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| savedWeekId | string | yes | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| savedWeekId | string | yes | — |
| title | string | yes | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| savedWeekId | string | yes | — |
| expectedTitle | string | yes | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| recipeId | string | yes | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| savedWeekId | string | yes | — |
Shows the dinners and cooking details behind a shared week link (shareCode). Available without an account and changes nothing.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| shareCode | string | yes | The intentional public share code, never a private collection or draft ID. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| shareCode | string | yes | The intentional public share code, never a private collection or draft ID. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pantryMode | string | no | — |
| focusIngredients | array | no | — |
| dishIdea | string | yes | What the user wants to cook, in their words. |
| servings | integer | no | — |
| maxTimeMins | integer | no | Hard ceiling on total time, when the user gave one. |
| exclusions | array | no | Anything ruled out, in plain words: 'no pork', 'dairy-free', 'no peanuts'. Resolved server-side. |
| cuisine | string | no | Cuisine the user asked for, if any. |
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 save
| Parameter | Type | Required | Notes |
|---|---|---|---|
| title | string | yes | Recipe title in plain title case, no marketing words. |
| description | string | no | One-sentence appetising description of the finished dish. |
| servings | integer | no | — |
| prepTimeMins | integer | no | — |
| cookTimeMins | integer | no | — |
| ingredientSections | array | yes | — |
| steps | array | yes | Complete numbered method with sensory cues (golden, bubbling). |
| tags | array | no | e.g. cuisine, 'quick', 'family favourite'. |
| finishingTouch | string | no | One vivid sentence describing the plated dish. |
| sourceUrl | string | no | Where the recipe came from, if a link exists. |
| sourceNote | string | no | Provenance, e.g. 'photographed from a family cookbook'. |
| recipeDraftToken | string | no | 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, gr |
| fidelity | string | no | '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'. |
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 u
| Parameter | Type | Required | Notes |
|---|---|---|---|
| requestId | string | no | 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. |
| confirmPaidImport | boolean | no | True only after the user explicitly approves 1 credit once the 10 free weekly imports are exhausted. |
| url | string | no | TikTok, Instagram or website link to a recipe. |
| caption | string | no | Pasted caption/recipe text — used alone or to supplement the url. |
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. Impor
| Parameter | Type | Required | Notes |
|---|---|---|---|
| requestId | string | no | 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. |
| confirmPaidImport | boolean | no | 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 capti |
| caption | string | no | Optional extra context, e.g. the dish name or text the photo cuts off. |
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. Requir
| Parameter | Type | Required | Notes |
|---|---|---|---|
| offset | integer | no | Start at 0, then pass nextOffset from the previous page. Read every page before proposing whole-library changes; restart if records change while browsing. |
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 t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| recipeId | string | yes | Recipe id from search_recipes, create_weekly_menu, or list_saved_recipes. |
| servings | integer | no | 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 o |
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.
No parameter schema on file.
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,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| removeItemIds | array | no | Exact pantryItemIds from get_pantry to delete. Preferred for duplicate names. |
| update | array | no | Set fields on an exact row; quantity replaces rather than adds. |
| add | array | no | Items to add (or top up when already present). |
| remove | array | no | Ingredient names to remove; matched on the same canonical key the app uses. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| menuDraftId | string | yes | The menuDraftId returned by create_weekly_menu. |
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.
No parameter schema on file.
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,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| recipeId | string | no | Id of one of the user's own saved recipes (from list_saved_recipes). |
| title | string | no | New title, plain title case, no marketing words. |
| description | string | no | New one-sentence description of the finished dish. |
| servings | integer | no | New serving count. |
| prepTimeMins | integer | no | — |
| cookTimeMins | integer | no | — |
| ingredientSections | array | no | Replaces the WHOLE ingredient list — send every ingredient, not only the changed ones. |
| steps | array | no | Replaces the WHOLE method — send every step, not only the changed ones. |
| tags | array | no | — |
| finishingTouch | string | no | One vivid sentence describing the plated dish. |
| action | string | no | 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-rec |
| changes | array | no | 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 pro |
| changeSetId | string | no | — |
| confirmed | boolean | no | True only after the user approves the displayed preview or undo. A preview itself grants no permission. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| recipeId | string | yes | Id of one of the user's own saved recipes (from list_saved_recipes). |
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.
No parameter schema on file.
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 th
| Parameter | Type | Required | Notes |
|---|---|---|---|
| diet | string | no | The whole-week diet. Omit to keep the current one. |
| foodsToAvoid | array | no | 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. |
| dislikes | array | no | 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. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Chop it: meal planning, recipes, pantry and shopping or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| search_recipes | no tags | |
| prepare_weekly_menu | state-write | state-write: declares readOnlyHint: false |
| create_weekly_menu | state-write | state-write: declares readOnlyHint: false |
| create_shopping_list | state-write | state-write: declares readOnlyHint: false |
| shop_week | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| open_shop_handoff | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| get_shopping_list | no tags | |
| update_shopping_list | state-write | state-write: declares readOnlyHint: false |
| get_menu_draft | state-write | state-write: declares readOnlyHint: false |
| revise_weekly_menu | state-write | state-write: declares readOnlyHint: false |
| save_week | state-write | state-write: declares readOnlyHint: false |
| list_saved_weeks | no tags | |
| open_saved_week | state-write | state-write: declares readOnlyHint: false |
| set_this_week | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| rename_saved_week | state-write | state-write: declares readOnlyHint: false |
| delete_saved_week | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| save_discovered_recipe | state-write | state-write: declares readOnlyHint: false |
| share_week | external-sink | external-sink: declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| preview_shared_week | no tags | |
| import_shared_week | state-write | state-write: declares readOnlyHint: false |
| start_recipe | no tags | |
| save_recipe | state-write | state-write: declares readOnlyHint: false |
| import_recipe_from_url | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| import_recipe_from_image | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| list_saved_recipes | no tags | |
| get_recipe | no tags | |
| get_pantry | no tags | |
| update_pantry | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| save_menu | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| get_my_week | no tags | |
| update_recipe | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| delete_recipe | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| get_food_preferences | no tags | |
| update_food_preferences | state-write | state-write: declares readOnlyHint: false |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 2.34.178.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Chop it: meal planning, recipes, pantry and shopping can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.