Befana Recipes
REMOTE · BEFANA.APP
Ad-free recipes with amounts in every step: search, scale, plan meals, build shopping lists.
Available components
Last scanned (10 hours ago)
Scores higher than 10% of remote servers
Reachable. Last reached 5 Nov 2026.
Category E-commerce
Deprecated
This server is marked deprecated in the MCP registry.
The registry records this reason: Recipes moved to food.strega/strega (https://strega.food/mcp).
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability0
- Transport check failed: declared streamable-http, but the endpoint returned HTTP 410. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
- Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Nov 26 0
- Transport: Transport check failed: declared streamable-http, but the endpoint returned HTTP 410. security
- 30 Oct 26 −56
- Endpoint reachability: reachable → not serving MCP ▼ security
- Stability: fail → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Authorization: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Schema quality: 100 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 9 to 13.
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 6.
- 22 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “build_shopping_list” rewrote its description, which is the text the model reads security
- Tool “cook_profile” rewrote its description, which is the text the model reads security
- Tool “get_my_kitchen” rewrote its description, which is the text the model reads security
- Tool “rate_recipe” rewrote its description, which is the text the model reads security
- Tool “search_recipes” rewrote its description, which is the text the model reads security
- Tool “update_recipe” rewrote its description, which is the text the model reads security
- Schema quality: 8842 → 9975 ▼ functional
- New tool “get_my_recipe_feedback” functional
- “get_cook_steps” added an optional parameter “allergens” cosmetic
- “get_cook_steps” added an optional parameter “unknown_ingredients” cosmetic
- “get_my_kitchen” added an optional parameter “expected_actor” cosmetic
- “get_my_kitchen” added an optional parameter “pending_cursor” cosmetic
- “get_my_kitchen” added an optional parameter “target_recipe” cosmetic
- “get_recipe” added an optional parameter “allergens” cosmetic
- “get_recipe” added an optional parameter “unknown_ingredients” cosmetic
- “rate_recipe” added an optional parameter “content_token” cosmetic
- “rate_recipe” added an optional parameter “cook_session_id” cosmetic
- “rate_recipe” added an optional parameter “step_feedback” cosmetic
- “rate_recipe” added an optional parameter “substitutions_made” cosmetic
- “rate_recipe” added an optional parameter “would_make_again” cosmetic
- “search_recipes” added an optional parameter “allergens” cosmetic
- “search_recipes” added an optional parameter “unknown_ingredients” cosmetic
- “update_recipe” added an optional parameter “recover_photo” cosmetic
- “get_my_kitchen” reworded the description of “limit” cosmetic
- “get_my_kitchen” reworded the description of “section” cosmetic
- “rate_recipe” reworded the description of “made_it” cosmetic
- “search_recipes” reworded the description of “exclude_ingredients” cosmetic
- 21 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- New tool “delete_recipe”, which the server declares destructive security
- Tool “create_recipe” rewrote its description, which is the text the model reads security
- Tool “get_cook_steps” rewrote its description, which is the text the model reads security
- Tool “order_groceries” rewrote its description, which is the text the model reads security
- Tool “plan_meals” rewrote its description, which is the text the model reads security
- Tool “update_recipe” rewrote its description, which is the text the model reads security
- Tool “update_shopping_list” rewrote its description, which is the text the model reads security
- Schema quality: 7492 → 8842 ▼ functional
- New tool “get_my_stats” functional
- “build_shopping_list” added an optional parameter “request_key” cosmetic
- “build_shopping_list” added an optional parameter “save” cosmetic
- “create_recipe” added an optional parameter “visibility” cosmetic
- “get_cook_steps” added an optional parameter “from_step” cosmetic
- “get_cook_steps” added an optional parameter “step” cosmetic
- “plan_meals” added an optional parameter “request_key” cosmetic
- “plan_meals” added an optional parameter “save” cosmetic
- “update_recipe” added an optional parameter “attached_photo” cosmetic
- “update_recipe” added an optional parameter “show_counts” cosmetic
- “update_recipe” added an optional parameter “unpublished” cosmetic
- “update_shopping_list” added an optional parameter “outcomes” cosmetic
- “build_shopping_list” reworded the description of “keep” cosmetic
- “plan_meals” reworded the description of “keep” cosmetic
- “search_recipes” reworded the description of “max_minutes” cosmetic
- “update_recipe” reworded the description of “photo” cosmetic
- 20 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “build_shopping_list” rewrote its description, which is the text the model reads security
- Tool “order_groceries” rewrote its description, which is the text the model reads security
- Tool “plan_meals” rewrote its description, which is the text the model reads security
- Schema quality: 6570 → 7492 ▼ functional
- Tool coverage: 64% → 69% ▲ functional
- New tool “update_meal_plan” functional
- New tool “update_shopping_list” functional
- “order_groceries” added an optional parameter “confirm” cosmetic
- “order_groceries” added an optional parameter “edits” cosmetic
- “order_groceries” added an optional parameter “preview” cosmetic
- “order_groceries” added an optional parameter “preview_id” cosmetic
- “plan_meals” added an optional parameter “max_budget” cosmetic
- “plan_meals” added an optional parameter “max_calories” cosmetic
- “plan_meals” added an optional parameter “min_protein” cosmetic
- “preferences” added an optional parameter “nutrition_targets” cosmetic
- “search_recipes” added an optional parameter “max_calories” cosmetic
- “search_recipes” added an optional parameter “min_protein” cosmetic
- Tool “plan_meals” changed its title: Plan meals that share ingredients → Plan the week's meals cosmetic
- 19 Oct 26 +2
- Stability: 0.07 → fail ▼ security
- A breaking change shipped without a version bump: still 0.2.0 ▼ security
- Tool “get_cook_profile” was removed ▼ security
- Tool “get_pantry” was removed ▼ security
- Tool “get_photo_queue” was removed ▼ security
- Tool “get_preferences” was removed ▼ security
- Tool “unsave_recipe” was removed ▼ security
- Tool “update_pantry” was removed ▼ security
- Tool “update_preferences” was removed ▼ security
- Tool “update_profile” was removed ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “build_shopping_list” rewrote its description, which is the text the model reads security
- Tool “create_recipe” rewrote its description, which is the text the model reads security
- Tool “draft_recipe” rewrote its description, which is the text the model reads security
- Tool “fork_recipe” rewrote its description, which is the text the model reads security
- Tool “generate_placeholder_cover” rewrote its description, which is the text the model reads security
- Tool “get_cook_steps” rewrote its description, which is the text the model reads security
- Tool “get_my_kitchen” rewrote its description, which is the text the model reads security
- Tool “get_recipe” rewrote its description, which is the text the model reads security
- Tool “hand_back_recipe” rewrote its description, which is the text the model reads security
- Tool “order_groceries” rewrote its description, which is the text the model reads security
- Tool “plan_meals” rewrote its description, which is the text the model reads security
- Tool “rate_recipe” rewrote its description, which is the text the model reads security
- Tool “report_content” rewrote its description, which is the text the model reads security
- Tool “save_recipe” rewrote its description, which is the text the model reads security
- Tool “search_recipes” rewrote its description, which is the text the model reads security
- Tool “suggest_from_pantry” rewrote its description, which is the text the model reads security
- Tool “update_recipe” rewrote its description, which is the text the model reads security
- Schema quality: 8591 → 6570 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- The server now declares the “completions” capability functional
- New prompt “add_my_recipe” functional
- New prompt “cook_with_me” functional
- New prompt “make_it_my_way” functional
- New prompt “plan_my_week” functional
- New prompt “what_can_i_make” functional
- New resource “kitchen” functional
- New tool “cook_profile” functional
- New tool “pantry” functional
- New tool “preferences” functional
- “save_recipe” added an optional parameter “saved” cosmetic
- “update_recipe” added an optional parameter “photo” cosmetic
- “draft_recipe” reworded the description of “url” cosmetic
- “get_my_kitchen” reworded the description of “section” cosmetic
- “search_recipes” reworded the description of “tags” cosmetic
- Tool “save_recipe” changed its title: Save a recipe to the cook's kitchen → Save a recipe, or take it off Saved cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://befana.app/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=befana.app | CN=YR2,O=Let's Encrypt,C=US | 13 Oct 2026 | 11 Jan 2027 | RSA 2048 | SHA256-RSA | 59ab4834661b3197beb6fcd0cbf59466f38 |
| SANs: befana.app | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of befana.app. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| befana.app. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Inconclusive
We could not reach the endpoint well enough to judge its authorisation posture.
| Result | Inconclusive |
|---|---|
| HTTP status | 410 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000 |
| content-security-policy | default-src 'self'; script-src 'self'; style-src 'self'; connect-src 'self'; img-src 'self' data:; frame-ancestors 'none'; base-uri 'none'; form-action 'self' |
| x-content-type-options | nosniff |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://befana.app/mcp | HTTP error | 410 | |
| http (plaintext) | http://befana.app/mcp | HTTPS enforced | 308 | https://befana.app/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
update_recipe Change the cook's own recipe or version ~1,021
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.
| Name | Type | Req | Description |
|---|---|---|---|
| attached_photo | object | – | A JPG, PNG or WebP photo the cook attached in the chat, for the cover (or a step with photo.step). Convert HEIC/HEIF to one of those formats first. Change publication status (unpublished) in a separa… |
| author | string | – | Name to credit (the cook) |
| chef_note | string | – | The chef's note, up to 500 characters: a sentence or two in the cook's words on what makes the recipe theirs. Only what the cook said; never write one for them. |
| cook_minutes | integer | – | – |
| ingredients | array | – | – |
| photo | object | – | A photo the cook took of this dish: the cover, or a step with step. Pass image_url or image_base64. Never a generated, stock or found-online picture. Asking for it isn't the yes: first tell the cook… |
| prep_minutes | integer | – | – |
| recover_photo | object | – | Recover an uploaded cover without another intake. Use only with slug; no other edits, uploads, restoration or publication. First discover with get_my_kitchen section pending_photos, show the selected… |
| restore_revision | integer | – | Undo: put the recipe back to how it was before edit n (see get_recipe's revisions). Other fields you pass apply on top. |
| servings | number | – | – |
| show_counts | boolean | – | Whether the page shows "cooked N times · shared N times" once there are enough cooks (#46); default on. false hides them |
| slug | string | yes | The cook's recipe or version to change |
| steps | array | – | – |
| summary | string | – | One or two sentences on what makes it good |
| tags | array | – | – |
| tested | – | – | Mark the recipe tested: the cook says they cooked it themselves and timed it. Ask the cook ("Have you cooked this? About how long did it take, start to finish?") and pass only what they say; never as… |
| title | string | – | – |
| unpublished | boolean | – | true takes the recipe off Befana for everyone but the cook (the link stays theirs, nothing is lost, their lists and plans still open it); false puts it back. Not an edit: no revision. Confirm first,… |
| visibility | string | – | – |
| yield_label | string | – | servings, cookies, loaves, jars… |
| Name | Type | Req | Description |
|---|---|---|---|
| adjusted | array | – | Defaults this call took instead of failing (#243): an unknown units word, a number out of range, a diet word read as the closest one Befana knows. Mention it when it changes what the cook gets |
| asks | array | – | At most one question for the cook, with a home in preferences |
| changes | string | yes | What changed, in plain words |
| guide | string | – | How to answer this turn: rules for you, the assistant, not words for the cook. Follow them before anything else here (#258) |
| next_steps | array | – | Suggestions, best first, each with its tool, args and effect. Befana suggests the top one in one sentence; whether any runs is decided by what the cook asks in the conversation and your confirmation… |
| notices | array | – | At most one note about Befana to pass on when there's room (one per cook per week; off with workflow whats_new: off) |
| photo | object | – | Only when photo or attached_photo was passed |
| recovered_photo | object | – | – |
| restored | – | yes | The revision that was restored, when restore_revision was passed |
| revision | integer | yes | The edit count after this change; update_recipe({ restore_revision: revision }) undoes it |
| show_counts | boolean | yes | Whether the page shows public cook and share counts (#46) |
| slug | string | yes | The recipe's slug: the id every tool takes |
| tested | – | yes | – |
| unpublished | boolean | yes | Off Befana for everyone but the cook (#171); update_recipe({ unpublished: false }) puts it back |
| url | string | yes | The recipe page: share it so the cook can follow along (steps check off, timers included) |
| visibility | string | yes | private = just for the cook (out of search, the sitemap and the original's list of variations) |
| warnings | array | yes | – |
No examples provided.
update_shopping_list Update a saved shopping list ~312
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.
| Name | Type | Req | Description |
|---|---|---|---|
| add | array | – | Anything else for the same trip, amount included: ["paper towels", "2 lb bananas"] |
| list_id | string | yes | Id of the saved list from build_shopping_list or plan_meals |
| need | array | – | Set-aside (likely_have) things the cook is out of: they go back to the buy list at full size |
| outcomes | array | – | How the trip went, per line (#63): what they bought, skipped, or got somewhere else |
| remove | array | – | Things the cook has, as they said them: ["flour", "olive oil"] |
| Name | Type | Req | Description |
|---|---|---|---|
| added | array | yes | Names added to the list |
| adjusted | array | – | Defaults this call took instead of failing (#243): an unknown units word, a number out of range, a diet word read as the closest one Befana knows. Mention it when it changes what the cook gets |
| aisles | array | yes | – |
| asks | array | – | At most one question for the cook, with a home in preferences |
| cost_estimate | object | yes | What the list now costs at the store in whole packages, an estimate |
| forgot_asked | string | – | The id of the item "Did you forget?" already asked about on this list (#63): asked once per list |
| guide | string | – | How to answer this turn: rules for you, the assistant, not words for the cook. Follow them before anything else here (#258) |
| id | string | yes | The saved list's id |
| left_off | integer | – | How many lines were left off because the cook has them: "left off 6 you have" |
| likely_have | array | – | Staples and small amounts of bulk items (3 tbsp flour, 4 tbsp wine) the cook probably has: set aside instead of a full-size purchase, not counted in the cost. Ask which they do need (they move to the… |
| needed | array | yes | Names that moved from likely_have to the buy aisles |
| next_steps | array | – | Suggestions, best first, each with its tool, args and effect. Befana suggests the top one in one sentence; whether any runs is decided by what the cook asks in the conversation and your confirmation… |
| not_found | array | yes | Names that matched nothing on the list: say so, and check the spelling against the list |
| notices | array | – | At most one note about Befana to pass on when there's room (one per cook per week; off with workflow whats_new: off) |
| outcomes_set | array | yes | Outcomes recorded this call (#63): what the cook said happened to each line |
| pantry | array | yes | What the cook already has, left off the buy list (count in left_off): check the pantry, don't buy |
| recipes | array | yes | – |
| removed | array | yes | Names that came off the list: what the cook has |
| text | string | yes | The list as plain text, for a message |
| units | string | yes | – |
| url | string | yes | Shareable list page |
No examples provided.
How do I install the Befana Recipes MCP server?
Befana Recipes is a hosted endpoint at https://befana.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · befana.app
claude mcp add --transport http app-befana-befana 'https://befana.app/mcp'
What is the Befana Recipes MCP server?
Befana Recipes is an MCP server listed in the public MCP registry as app.befana/befana. Ad-free recipes with amounts in every step: search, scale, plan meals, build shopping lists. This page covers its hosted endpoint (https://befana.app/mcp).
Is the Befana Recipes MCP server safe to use?
Befana Recipes scores 25 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Befana Recipes MCP server expose?
Befana Recipes exposes 25 tools: search_recipes, get_recipe, get_cook_steps, build_shopping_list, update_shopping_list, and 20 more. Their descriptions and schemas cost roughly 8,921 tokens of context every time the server is loaded.
Does the Befana Recipes MCP server require authentication?
Its publisher declares no required credentials for Befana Recipes. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.
Is the Befana Recipes MCP server still maintained?
Befana Recipes is marked deprecated in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.