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.
- 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
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
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
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
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
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
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".
What this check looks forMatched text
inputSchema.properties.recipeDraftToken.description: "...brief it actually gave out. It is not a credential and not a secret: it carries no keys, g..."
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "start_recipe" says "start": a word for a change.
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
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.
{
"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.
- Warnget_menu_draft
The server marks "get_menu_draft" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_menu_draft" says "get": a word for reading.
- Warnstart_recipe
The server marks "start_recipe" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "start_recipe" says "start": a word for a change.
- Infosave_recipe
The input schema at properties.recipeDraftToken.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.recipeDraftToken.description: "...brief it actually gave out. It is not a credential and not a secret: it carries no keys, g..."
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/mcpclaude mcp add --transport http chopit https://chopit.app/mcpRun 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.
{
"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.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/app.chopit/chopit)Source: MCP Registry. Synced Nov 1, 2026, 10:17 UTC.