Skip to content

Mise Recipes

by mise.how · remote · no sign-in to list tools · v0.1.0 · published by how.mise

Ad-free recipes with amounts in every step: search, scale, plan meals, build shopping lists.

Deletes · 2Final · 3Changes · 14

25 tools: 2 can delete or cancel things, 3 do something that can't be undone, 14 change things and 6 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http mise https://mise.how/mcp

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • Warnpantry

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

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "read": a word for reading.

    What this check looks for
  • The server marks "preferences" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "read": a word for reading.

    What this check looks for
  • The server marks "cook_profile" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "read": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

25 tools

Deletes or cancels 2Claude Code: deny
  • delete_recipeDelete a recipe the cook owns, for good, when nobody else has touched it (no versions, reviews or saves by other cooks).No findings

    Why it is in this group

    • The name "delete_recipe" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a recipe the cook owns, for good, when nobody else has touched it (no versions, reviews or saves by other cooks). Use when the cook says "delete that test recipe", "get rid of it". Without confirm it only reports what would go and whether it can; name the recipe, get a yes, then call with confirm: true. A recipe others have cooked or saved can't be deleted: the answer points at update_recipe({ unpublished: true }), which takes it off Befana for everyone but the cook and can be undone.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • hand_back_recipeHand back a recipe the Befana team added to the cook's kitchen (get_my_kitchen newly_assigned) when the cook says "that one isn't mine".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.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Hand back a recipe the Befana team added to the cook's kitchen (get_my_kitchen newly_assigned) when the cook says "that one isn't mine". Keeping it is the default and needs nothing. Confirm with the cook first; it works once per recipe.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Can't be undone 3Claude Code: ask
  • build_shopping_listMerge recipes (each at its own servings) and anything else into one shopping list by aisle, in what a store sells (10 cloves garlic → 1 head).No findings

    Why it is in this group

    • The name "build_shopping_list" says "list": a word for reading.
    • The description's first verb is "merge": a word for a change that another call does not undo.
    Description, as the server wrote it
    Merge recipes (each at its own servings) and anything else into one shopping list by aisle, in what a store sells (10 cloves garlic → 1 head). Use for "make me a list", "what do I need to buy?" or "add paper towels and 2 lb bananas" (extra_items keep the cook's amounts). What the cook has stays off (left_off); staples and small amounts of bulk items (3 tbsp flour) come back as likely_have, not bought: ask which they have or are out of, then update_shopping_list. Items that hit their allergies are flagged privately for this cook; warnings are not saved in the shareable list. Signed in, the list is saved and returns a shareable url and an id for order_groceries; signed out it comes back unsaved (keep: true asks them to sign in).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • create_recipePublish a recipe to Befana.No findings

    Why it is in this group

    • The name "create_recipe" says "create": a word for a change.
    • The description's first verb is "publish": a word for a change that another call does not undo.
    Description, as the server wrote it
    Publish a recipe to Befana. Use with draft_id from draft_recipe once the cook has seen and confirmed the draft, passing only the fields they changed; never publish pasted text straight from fields. Pass fields without a draft only for a recipe you worked out with the cook in this conversation, after showing it to them. Steps use ingredient tags, never typed amounts: "Whisk {flour} with {salt}". Recipes are public and appear under My recipes unless visibility is "private" (just for the cook); an exact copy of one the cook already has is refused (use update_recipe). tested marks it cooked and timed only when the cook says they made it; ask, never assume. Returns the url and any warnings.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • order_groceriesSend a shopping list to a grocer near the cook: into their cart where the store allows it (King Soopers and other Kroger stores, once connected), else one list link, else a search …No findings

    Why it is in this group

    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Send a shopping list to a grocer near the cook: into their cart where the store allows it (King Soopers and other Kroger stores, once connected), else one list link, else a search link per item. Use when the cook says "order these", "get it delivered", "send it to my store". No saved store: it asks their ZIP, then lists nearby grocers (choose_store); call again with store and zip, which saves it. A cart grocer first returns cart_preview: tell the cook its say (flagged items and total only), apply their changes as edits, then call with preview_id and confirm: true. Share share_url with the cook (the order is theirs: Befana's order page uses their saved store and sign-in); list_url is the link for the household. Befana never picks a brand. Keep commission_disclosure in parentheses right after the link, once.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Changes things 14Claude Code: ask
  • cook_profileRead a cook's public Befana page, or change the signed-in cook's own.1 finding

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "read": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Read a cook's public Befana page, or change the signed-in cook's own. Use when the cook asks "who shared this?", "show me more from this cook", "what's on my profile?", or wants their name, about me, links or handle changed. Pass handle (any recipe's shared_by.handle) to read that page; nothing to read their own (signed in). To change their own, pass update with only the fields to change, after telling them exactly what will change and getting a yes (cook_confirmed). Never write about-me text for them. Returns name, about, links and public recipes with urls; ai_chef true means an AI chef persona. Nothing private is ever on a profile.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • draft_recipeTurn a recipe the cook pasted, typed or linked into a draft to check: ingredients matched, steps in plain words with the amounts as tags, servings, times and timers filled in.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
    Turn a recipe the cook pasted, typed or linked into a draft to check: ingredients matched, steps in plain words with the amounts as tags, servings, times and timers filled in. Nothing is published. Use when the cook says "save my grandma's meatballs", "add this one" with a link, or shows you a recipe card (read it yourself and pass the text). Show the draft, point out the guessed fields, then publish with create_recipe({ draft_id }) once they confirm. existing means it's already on Befana: send them there (save_recipe, fork_recipe), and add_anyway only if they say it's a different recipe. blocked means the site only opens for its readers: pass the page's text with source_url if you can see it.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • fork_recipeSave the cook's own version of someone else's recipe, linked to the original, which never changes.No findings

    Why it is in this group

    • The name "fork_recipe" says "fork": a word for a change.
    Description, as the server wrote it
    Save the cook's own version of someone else's recipe, linked to the original, which never changes. Use when the cook says "make it dairy-free and keep that", "halve the sugar", "save it for 8". Pass only what changes; ingredients or steps, if passed, are the complete new list (get_recipe first and edit it). Before calling, show the cook the changed ingredients and steps and get a yes; never save silently. It's named after the change unless you pass title. Public by default; visibility "private" keeps it just for the cook. The same change again returns their existing version (already_existed). On the cook's own recipe use update_recipe; this refuses.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • generate_placeholder_coverDraw a labeled illustration of the dish for a recipe the cook owns that has no photo, so it looks finished until they add a real one.No findings

    Why it is in this group

    • The name "generate_placeholder_cover" says "generate": a word for a change.
    Description, as the server wrote it
    Draw a labeled illustration of the dish for a recipe the cook owns that has no photo, so it looks finished until they add a real one. Use when the cook says "it needs a picture" or accepts the offer after create_recipe. Ask first; it takes up to a minute. It's drawn from the recipe's own text, labeled "Illustration, not a photo of this dish" everywhere, never counted as a photo, and never replaces a cook's photo (that's a refusal, not an error). When image generation is off, say so and point to the photo upload on the website.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • pantryRead or change the cook's pantry: food on hand and staples, which Befana leaves off shopping lists and uses for what-can-I-make.1 finding

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "read": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Read or change the cook's pantry: food on hand and staples, which Befana leaves off shopping lists and uses for what-can-I-make. Use when the cook says what they have or ran out of ("I've got chicken thighs and half an onion", "we're out of eggs"), corrects it, or asks what's in it. Pass their words verbatim as text; or add/remove names; a fridge photo goes in photo (an upload name). No arguments reads it. Saying what they have is the cook's yes: save it and read the change back in one line. Never add what the cook didn't say. Returns the change (unsure lists what didn't read as food) or the whole pantry.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • plan_mealsPlan dinners and return the finished week in one call: picks by day (varied, perishables first, one new to the cook), merged shopping list (list), prep_order, substitutions and one…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
    Plan dinners and return the finished week in one call: picks by day (varied, perishables first, one new to the cook), merged shopping list (list), prep_order, substitutions and one true line (say). Use when the cook says "what should we eat this week?", "plan dinners", "groceries for the week", "four dinners under $80" (max_budget), or has people over (occasion, guest_notes). Preferences and pantry apply. Show the plan with say and at most one next-step question; then stop and wait for the cook's next message. No second offer; nothing is ordered. A swap goes to update_meal_plan with plan_id. Signed out it comes back unsaved (keep: true asks to sign in).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • preferencesRead or change the cook's Befana preferences: allergies, diet, avoid list, household size, units, weeknight time, skill, equipment, cuisines, store, privacy, and how they want you …1 finding

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "read": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Read or change the cook's Befana preferences: allergies, diet, avoid list, household size, units, weeknight time, skill, equipment, cuisines, store, privacy, and how they want you to work, all applied to every tool. No arguments reads them. For a change the cook asks for in their own words ("switch me to metric", "set us to 4 people"), save with cook_confirmed. Allergies, diets, the avoid list, privacy, a change you suggest or a passing mention ("usually it's 4 of us") need a yes first: pass the change without cook_confirmed (nothing is saved), ask the cook confirm.say, then call again with cook_confirmed. Never infer an allergy or diet. Lists replace the saved list.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • rate_recipePost the cook's star rating (1 to 5) and comment, and mark that they made it.No findings

    Why it is in this group

    • The description's first verb is "post": a word for a change.
    Description, as the server wrote it
    Post the cook's star rating (1 to 5) and comment, and mark that they made it. Use when the cook says "that was great, five stars" or "I made the chili, a bit too salty". One rating per cook per recipe: calling again updates it, and a comment left out is kept. Refuses the cook's own recipe. Post only what the cook said; ask for the stars if they didn't give any. Private notes and substitutions have a 2,000-character combined limit. Optional private step feedback requires the content_token from get_my_recipe_feedback and a reviewed step context. Omitted optional answers are preserved; null or empty arrays clear only that answer. Keep stars explicit; never infer completion or preferences from notes. With made_it it finishes their cook and may offer to take what the recipe used off the pantry.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • report_contentFlag a recipe, review, photo or a cook's profile for Befana's moderators: spam, offensive, unsafe as written, copied without permission, not a recipe, or something else.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
    Flag a recipe, review, photo or a cook's profile for Befana's moderators: spam, offensive, unsafe as written, copied without permission, not a recipe, or something else. Use only when the cook asks ("report this review", "this recipe is dangerous"), in their words. Moderators review every report; nothing is hidden automatically.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • save_recipeKeep a recipe in the cook's Saved list (My Kitchen on the website), or take it off with saved: false.No findings

    Why it is in this group

    • The name "save_recipe" says "save": a word for a change.
    Description, as the server wrote it
    Keep a recipe in the cook's Saved list (My Kitchen on the website), or take it off with saved: false. Use when the cook says "save this", "keep that one", "add it to my favorites", or "take the chili off my saved". Saving twice is harmless. Returns the recipe link and where Saved lives.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • suggest_from_pantryRecipes ranked by how much the cook already has, each with what's missing ("You have 7 of 9.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Recipes ranked by how much the cook already has, each with what's missing ("You have 7 of 9. Missing: lemon, parmesan."). Use when the cook asks "what can I make?", "what can I do with chicken and rice?", or "the chicken has to get used tonight" (must_use). Uses their saved pantry; signed out, or for "what if I had…", pass pantry. Staples are assumed; allergies, diet and avoid list apply; keywords, tags and max_minutes narrow it. Read the top few with the have/missing line and the url; a list of just the missing items is the natural next step.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • update_meal_planChange the cook's saved meal plan in place: swap a day for another pick (constraints: faster, max_minutes, tags, query, or a slug the cook chose), drop a day, or add one, keeping t…No findings

    Why it is in this group

    • The name "update_meal_plan" says "update": a word for a change.
    Description, as the server wrote it
    Change the cook's saved meal plan in place: swap a day for another pick (constraints: faster, max_minutes, tags, query, or a slug the cook chose), drop a day, or add one, keeping their other days. Use when the cook says "swap Tuesday for something faster", "not the salmon", "we're out Thursday", "add one more dinner". Pass plan_id from plan_meals. Returns the whole plan by day, what changed, and the same list (same id and link), prep order, swaps, nutrition, cost and say, all recomputed. A dinner swapped out counts against it in later plans. Say what changed and the list line, then ask the one question in next_steps.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • update_recipeChange the cook's own recipe or version.No findings

    Why it is in this group

    • The name "update_recipe" says "update": a word for a change.
    Description, as the server wrote it
    Change the cook's own recipe or version. Use when the cook says "add more garlic to my version", "make mine private", "take it down" (unpublished: true; off Befana for everyone but them, reversible; a recipe others have cooked or saved can only come down this way), "use my photo for the cover", "undo that last change", or "I made it tonight, took about 50 minutes" (tested; ask for the time if they didn't say, never assume). Pass only what changes; ingredients or steps, if passed, are the complete new list. photo: only one the cook took, never generated, stock or found; even when asked, name the recipe and get a yes first. Before calling, show the cook the changed ingredients and steps and get a yes; never save silently. Every edit keeps a revision (restore_revision: n undoes edit n). Not the cook's? Use fork_recipe. recover_photo is recovery-only: discover with get_my_kitchen section pending_photos, show the selected photo, target and current-cover replacement consequence, then wait for explicit selection and confirmation. cook_confirmed is the model's assertion, not independent proof of consent; never auto-confirm. Copy the full observed version unchanged and combine recovery with no other edits.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • update_shopping_listChange a saved list after the cook answers what build_shopping_list or plan_meals set aside as likely_have, or says how the trip went.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
    Change a saved list after the cook answers what build_shopping_list or plan_meals set aside as likely_have, or says how the trip went. remove: things they have (they come off, and count as left off); need: set-aside things they're out of (they move to the buy aisles); add: anything else for the trip, as they said it; outcomes: what happened at the store per item (bought, skipped, bought_elsewhere with the store they name). Use when the cook says "I have the flour and oil", "I'm out of chili flakes" or "skipped the salmon, got the bread at the bakery". Changes only this list, never the pantry: ask "Want me to remember these for next time?" first, then call pantry. Returns the pared list, its estimate and the order offer.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 6Claude Code: allow
  • get_cook_stepsA recipe as hands-free steps for cooking along: a gather list, then one step at a time with its amounts, the ingredients it uses, its tip and any timer.No findings

    Why it is in this group

    • The name "get_cook_steps" says "get": a word for reading.
    Description, as the server wrote it
    A recipe as hands-free steps for cooking along: a gather list, then one step at a time with its amounts, the ingredients it uses, its tip and any timer. Use when the cook says "walk me through it", "I'm cooking it now", "what's next?" (pass step for just that one, or from_step to pick up where they left off). Give one step per reply and offer the step's timer. The recipe url shows the same steps as a checklist on their phone. Works signed out.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • get_my_kitchenWhat the cook keeps on Befana: saved recipes, recipes they published, their own versions, shopping lists and meal plans, their ratings, a pantry count.No findings

    Why it is in this group

    • The name "get_my_kitchen" says "get": a word for reading.
    Description, as the server wrote it
    What the cook keeps on Befana: saved recipes, recipes they published, their own versions, shopping lists and meal plans, their ratings, a pantry count. Use when the cook asks "what did I save?", "pull up last week's list", "show my recipes", or (section: photos) "which of my recipes need a better photo?". For an explicitly requested interrupted photo save, section pending_photos with target_recipe returns up to 30 private choices and an observed version; it neither claims recipes nor acknowledges notices. Show the chosen photo, target and replacement consequence and obtain explicit confirmation before update_recipe recover_photo. Never auto-attach or auto-confirm. Same as My Kitchen on the website. If newly_assigned is present, say its line first, once (Befana added those recipes; hand_back_recipe returns one that isn't theirs). If fixes_asked is present, pass the fixes on once and offer to make them with update_recipe after showing the changes.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • get_my_recipe_feedbackRead only the signed-in cook's saved private feedback and the recipe-as-written context (US units, original servings).No findings

    Why it is in this group

    • The name "get_my_recipe_feedback" says "get": a word for reading.
    Description, as the server wrote it
    Read only the signed-in cook's saved private feedback and the recipe-as-written context (US units, original servings). Before new step feedback, show the referenced step and amounts, ask the cook to review them, and use this content_token with rate_recipe. Never infer stars, made-it, repeat choice or substitutions from a note. No author access to other cooks' private feedback.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_my_statsHow the cook's own recipes are doing: views, shares, prints, cooks, saves, versions and ratings, in total and by day, per recipe and by region.No findings

    Why it is in this group

    • The name "get_my_stats" says "get": a word for reading.
    Description, as the server wrote it
    How the cook's own recipes are doing: views, shares, prints, cooks, saves, versions and ratings, in total and by day, per recipe and by region. Use when a cook who publishes asks "how's my recipe doing?", "how many people cooked my dal?", "what's my most popular recipe?". Counts only, never who: the cook's own activity is left out, and a cook is someone who finished the last step, said they made it, or printed it. Lead with line, then the top recipe with its url; quote definitions.cook if asked what counts. Same numbers as /me/stats on the website.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • get_recipeOne recipe in full, scaled to any servings, US or metric, with every amount written into the step that uses it, so steps can be read aloud as they are.No findings

    Why it is in this group

    • The name "get_recipe" says "get": a word for reading.
    Description, as the server wrote it
    One recipe in full, scaled to any servings, US or metric, with every amount written into the step that uses it, so steps can be read aloud as they are. Use when the cook picks a recipe, asks "how much butter is that in tablespoons?" (pass units_for; the list and the steps follow, don't convert yourself), or wants a change ("make it dairy-free": substitute returns swaps that respect their allergies and diet; show the changed ingredients and steps, then save on their yes with fork_recipe, or update_recipe on their own). Returns the recipe, its url, step tips to pass on, and your_versions when the cook already has their own version (offer it). Mention chef_note only if asked. Works signed out.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • search_recipesFind recipes on Befana by keywords, ingredients, time or diet.No findings

    Why it is in this group

    • The name "search_recipes" says "search": a word for reading.
    Description, as the server wrote it
    Find recipes on Befana by keywords, ingredients, time or diet. Use when the cook asks "what's for dinner?", "something vegetarian under 30 minutes", "a good banana bread", "something with the spinach I have", or "show me my chili" (mine: true for their own, private ones included). The cook's allergies, diet and avoid list already apply, and their own recipes come first. Returns short summaries with slugs and urls; get_recipe has the full recipe. When the cook names a recipe search excluded, it comes back in hidden with why: don't stop to ask; go on with that slug, tell them why it was hidden before anything else, and never present it as safe. Works signed out (public recipes).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: 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.

Install

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

claude mcp add --transport http mise https://mise.how/mcp

Run in a terminal.

Claude Code permissions

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

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__mise__search_recipes",
      "mcp__mise__get_recipe",
      "mcp__mise__get_cook_steps",
      "mcp__mise__get_my_recipe_feedback",
      "mcp__mise__get_my_kitchen",
      "mcp__mise__get_my_stats"
    ],
    "ask": [
      "mcp__mise__build_shopping_list",
      "mcp__mise__update_shopping_list",
      "mcp__mise__plan_meals",
      "mcp__mise__update_meal_plan",
      "mcp__mise__order_groceries",
      "mcp__mise__draft_recipe",
      "mcp__mise__create_recipe",
      "mcp__mise__generate_placeholder_cover",
      "mcp__mise__fork_recipe",
      "mcp__mise__update_recipe",
      "mcp__mise__rate_recipe",
      "mcp__mise__save_recipe",
      "mcp__mise__pantry",
      "mcp__mise__suggest_from_pantry",
      "mcp__mise__preferences",
      "mcp__mise__cook_profile",
      "mcp__mise__report_content"
    ],
    "deny": [
      "mcp__mise__delete_recipe",
      "mcp__mise__hand_back_recipe"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as mise. Review it before you use it.