Skip to content

Chop it

app.chopit/chopitchopit.appstreamable-httpv2.34.176Scanned

Find recipes, plan dinners and prepare shopping lists with your Chop it account.

34 tools: 7 can delete or cancel things, 18 change things and 9 only read.

Tools: 7 delete, 0 irreversible, 18 write, 9 read.
  • Reads private data · 1
  • Reads text others write · 7
  • Can send data out · 1
  • 3 findings

Anlyon alternative

25 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

34 tools

Deletes or cancels 7Claude Code: deny
  • delete_recipePermanently deletes one of the user's own saved recipes, such as a duplicate or a bad import.No findings

    Why it is in this group

    • The name "delete_recipe" says "delete": a word for removing or ending something.
    • The description says "Permanently deletes".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Remove a recipe from my library
    • readOnlyHint: false
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: true
  • delete_saved_weekPermanently deletes one of the user's Saved Weeks by savedWeekId; irreversible, so it suits an explicit request that names the week.No findings

    Why it is in this group

    • The name "delete_saved_week" says "delete": a word for removing or ending something.
    • The description says "Permanently deletes".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • idempotentHint: false
    • destructiveHint: true
    • openWorldHint: false
  • save_menuCompatibility save-and-activate operation for older callers.No findings

    Why it is in this group

    • The name "save_menu" says "save": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Save this week to my Chop It
    • readOnlyHint: false
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: true
  • set_this_weekMakes 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.No findings

    Why it is in this group

    • The name "set_this_week" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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. Suits a request to make a saved week the current one. Requires a linked Chop It account.

    Annotations the server declares

    • readOnlyHint: false
    • idempotentHint: true
    • destructiveHint: true
    • openWorldHint: false
  • share_weekCreates a public link to one of the user's Saved Weeks (savedWeekId) so others can preview it and import a copy.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • idempotentHint: true
    • destructiveHint: true
    • openWorldHint: true
  • update_pantryUpdates 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.No findings

    Why it is in this group

    • The name "update_pantry" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Update the pantry
    • readOnlyHint: false
    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
  • update_recipeReviews changes to 1–20 recipes with action preview and changes; read every library page first for whole-library work.No findings

    Why it is in this group

    • The name "update_recipe" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Review or edit my recipes
    • readOnlyHint: false
    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: true
Changes things 18Claude Code: ask
  • create_shopping_listBuilds 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 duplic…No findings

    Why it is in this group

    • The name "create_shopping_list" says "create": a word for a change.
    Description, as the server wrote it
    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: off and named-ingredient focus don't read account stock; use mode marks matches as check-stock, not confirmed. 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.

    Annotations the server declares

    • title: Build a consolidated shopping list
    • readOnlyHint: false
    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
  • create_weekly_menuMain entry point for planning dinners.No findings

    Why it is in this group

    • The name "create_weekly_menu" says "create": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Build a weekly dinner menu
    • readOnlyHint: false
    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
  • get_menu_draftReturns the current state of a menu draft: dinner slots and their labels, the offered choices, what is selected and locked, servings and slotIssues.Reads text others write1 finding

    Why it is in this group

    • The name "get_menu_draft" says "get": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    What it can reach

    • untrusted-inputThe description's first sentence says "return" and "issue": it reads issues, which other people can write.

    Findings

    • Warn

      The server marks "get_menu_draft" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_menu_draft" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: false
  • import_recipe_from_imageImports 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 u…Reads text others writeNo findings

    Why it is in this group

    • The name "import_recipe_from_image" says "import": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Import a recipe from a photo
    • readOnlyHint: false
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • import_recipe_from_urlImports 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 sa…Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "import_recipe_from_url" says "import": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Import a recipe from a link
    • readOnlyHint: false
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • import_shared_weekCopies 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 shopp…No findings

    Why it is in this group

    • The name "import_shared_week" says "import": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • idempotentHint: false
    • destructiveHint: false
    • openWorldHint: false
  • open_saved_weekCreates 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_shop…No findings

    Why it is in this group

    • The name "open_saved_week" says "open": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • idempotentHint: false
    • destructiveHint: false
    • openWorldHint: false
  • open_shop_handoffCreates 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.Reads text others writeNo findings

    Why it is in this group

    • The name "open_shop_handoff" says "open": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Open shopping review
    • readOnlyHint: false
    • idempotentHint: false
    • openWorldHint: true
    • destructiveHint: false
  • prepare_weekly_menuCompatibility planning entry point for older callers.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • rename_saved_weekRenames one of the user's Saved Weeks by savedWeekId.No findings

    Why it is in this group

    • The name "rename_saved_week" says "rename": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: false
  • revise_weekly_menuChanges a menu draft and returns the updated draft with a new menuDraftId; unrelated dinners, locks, dietary rules and pantry choice are kept.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • idempotentHint: false
    • destructiveHint: false
    • openWorldHint: false
  • save_discovered_recipeSaves a Chop It catalogue recipe, unchanged, into the user's own library, reusing the existing copy if they already saved it.No findings

    Why it is in this group

    • The name "save_discovered_recipe" says "save": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: false
  • save_recipeSaves 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.1 finding

    Why it is in this group

    • The name "save_recipe" says "save": a word for a change.

    Findings

    • Info

      The input schema at properties.recipeDraftToken.description mentions "credential".

      Matched text

      inputSchema.properties.recipeDraftToken.description: "...brief it actually gave out. It is not a credential and not a secret: it carries no keys, g..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Save a recipe to the Chop It library
    • readOnlyHint: false
    • idempotentHint: false
    • openWorldHint: false
    • destructiveHint: false
  • save_weekCanonical saving operation.No findings

    Why it is in this group

    • The name "save_week" says "save": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: false
  • shop_weekBuilds the shopping list for the exact completed menuDraftId and returns its summary and Chop it review URL in one call.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • idempotentHint: false
    • destructiveHint: false
    • openWorldHint: true
  • start_recipeReturns 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 …1 finding

    Why it is in this group

    • The name "start_recipe" says "start": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "start_recipe" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "start_recipe" says "start": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get the rules before writing a recipe
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
  • update_food_preferencesChanges the account's food preferences: diet, foods to avoid and dislikes, in plain words.No findings

    Why it is in this group

    • The name "update_food_preferences" says "update": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • update_shopping_listTicks off, unticks or partly covers lines on a shopping list ('I already have rice', 'I only need 200g more').No findings

    Why it is in this group

    • The name "update_shopping_list" says "update": a word for a change.
    Description, as the server wrote it
    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 has the new revision. Requires a linked Chop It account.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
Only reads 9Show 9 read-only tools
  • get_food_preferencesReturns 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 co…No findings

    Why it is in this group

    • The name "get_food_preferences" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_my_weekReturns the dinners currently set as This Week in the user's Chop It app, with recipe links: the week they are cooking now.No findings

    Why it is in this group

    • The name "get_my_week" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: See what I'm cooking this week
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
  • get_pantryLists the items in the user's Chop It pantry (name, location, quantity, how full, expiry), the same pantry the app shows.No findings

    Why it is in this group

    • The name "get_pantry" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: See what's in the pantry
    • readOnlyHint: true
    • idempotentHint: true
    • openWorldHint: false
    • destructiveHint: false
  • get_recipeReturns one complete recipe by recipeId: ingredients with quantities, method steps, timings and photo.No findings

    Why it is in this group

    • The name "get_recipe" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get the full recipe
    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
  • get_shopping_listReturns 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 an…No findings

    Why it is in this group

    • The name "get_shopping_list" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • list_saved_recipesLists 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.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "list_saved_recipes" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "list" and "chat": it reads messages.
    • untrusted-inputThe description's first sentence says "list" and "chat": it reads messages, which other people can write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: See my saved recipes
    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
  • list_saved_weeksLists the user's Saved Weeks with their dinners and savedWeekId, for browsing or picking a week to reuse.No findings

    Why it is in this group

    • The name "list_saved_weeks" says "list": a word for reading.
    Description, as the server wrote it
    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. Read-only. Requires a linked Chop It account.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: false
  • preview_shared_weekShows the dinners and cooking details behind a shared week link (shareCode).No findings

    Why it is in this group

    • The name "preview_shared_week" says "preview": a word for reading.
    Description, as the server wrote it
    Shows the dinners and cooking details behind a shared week link (shareCode). Available without an account and changes nothing.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: false
  • search_recipesSearches Chop It's catalogue of 1,000+ tested recipes and returns recipe cards (title, photo, time, tags, protein) with links into the app.No findings

    Why it is in this group

    • The name "search_recipes" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Search Chop It recipes
    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

7 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.

Reads private data1
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write7
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out1
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__chopit__import_recipe_from_url"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

2 warn1 info
  • The server marks "get_menu_draft" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_menu_draft" says "get": a word for reading.

    What this check looks for
  • The server marks "start_recipe" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "start_recipe" says "start": a word for a change.

    What this check looks for
  • The input schema at properties.recipeDraftToken.description mentions "credential".

    Matched text

    inputSchema.properties.recipeDraftToken.description: "...brief it actually gave out. It is not a credential and not a secret: it carries no keys, g..."

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 2.34.176. Values in angle brackets are yours to fill in.

claude mcp add --transport http chopit https://chopit.app/mcp
claude mcp add --transport http chopit https://chopit.app/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__chopit__search_recipes",
      "mcp__chopit__get_shopping_list",
      "mcp__chopit__list_saved_weeks",
      "mcp__chopit__preview_shared_week",
      "mcp__chopit__list_saved_recipes",
      "mcp__chopit__get_recipe",
      "mcp__chopit__get_pantry",
      "mcp__chopit__get_my_week",
      "mcp__chopit__get_food_preferences"
    ],
    "ask": [
      "mcp__chopit__prepare_weekly_menu",
      "mcp__chopit__create_weekly_menu",
      "mcp__chopit__create_shopping_list",
      "mcp__chopit__shop_week",
      "mcp__chopit__open_shop_handoff",
      "mcp__chopit__update_shopping_list",
      "mcp__chopit__get_menu_draft",
      "mcp__chopit__revise_weekly_menu",
      "mcp__chopit__save_week",
      "mcp__chopit__open_saved_week",
      "mcp__chopit__rename_saved_week",
      "mcp__chopit__save_discovered_recipe",
      "mcp__chopit__import_shared_week",
      "mcp__chopit__start_recipe",
      "mcp__chopit__save_recipe",
      "mcp__chopit__import_recipe_from_url",
      "mcp__chopit__import_recipe_from_image",
      "mcp__chopit__update_food_preferences"
    ],
    "deny": [
      "mcp__chopit__set_this_week",
      "mcp__chopit__delete_saved_week",
      "mcp__chopit__share_week",
      "mcp__chopit__update_pantry",
      "mcp__chopit__save_menu",
      "mcp__chopit__update_recipe",
      "mcp__chopit__delete_recipe"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as chopit. Review it before you use it.

Capability tags behind 7 rules
  • mcp__chopit__shop_week untrusted-input
  • mcp__chopit__open_shop_handoff untrusted-input
  • mcp__chopit__get_menu_draft untrusted-input
  • mcp__chopit__share_week untrusted-input
  • mcp__chopit__import_recipe_from_url untrusted-input, outbound
  • mcp__chopit__import_recipe_from_image untrusted-input
  • mcp__chopit__list_saved_recipes private-data, untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/app.chopit/chopit/verify?hash=ecd3f97468c9920347de41addddbc6f87a491dd49a6e9d3ee332c1b3f043cc48" | jq -e '.changed == false'

Pinned hash ecd3f97468c9, from Nov 1, 2026, 10:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/app.chopit/chopit/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for app.chopit/chopit
[![anlyon.dev](https://anlyon.dev/badge/app.chopit/chopit.svg)](https://anlyon.dev/servers/app.chopit/chopit)

Source: MCP Registry. Synced Nov 1, 2026, 10:17 UTC.