Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Live → Recently observed
Changed the definition of "foodbe_cart_breakdown"
Foodbe'sAnalyzes a grocery list,analyzer.cart, order, menu or recipe. Call this when a user asks you to analyzea grocery list, cart, order, menu or recipe.one. Send up to 50 ingredientnames. Returns one fact-based,nameshuman-approvedinreaditems.ofFor the whole list:what the listitdoesreturnsforthe health effects, the total carbon and water, thebalance acrossfoodgroupsgroup balance withwhatfoods to add, the flavor and texture it carries with thegap inmissingeachones, and the diets it suits. It also returns swaps that keep flavor and texture.It returns a cook's read inThe chefy_read,broken down byfieldfood.givesEacheach foodcomes back withitsown lines: how to cookcookingitmethod,what toausesubstitute if you run out, andwhat it pairsitswith.pairings. A closing note names the list's biggest gapandwith its carbon and water. Everylinevalue comes from Foodbe's stored, human-approved data, never from a model, so the same list always returns the sameanswer.result. Names Foodbe does not have are listedunderin not_found. Send diet and allergies tolearnget diet_check, which lists the foods that breakthem,theunderdietdiet_check.or hold an allergen. A food with no stored diet or allergen data islisted asmarked unknown, neverassafe. Send grams, a map of food name to grams, to get impact_for_quantities:, the carbon and waterscaled tofor the amounts bought. Without grams, environmental_impactstandsis for 1 kg of each food.
Changed the definition of "foodbe_cart_breakdown"
Foodbe'sAnalyzes a grocery list,analyzer.cart, order, menu or recipe. Call this when a user asks you to analyzea grocery list, cart, order, menu or recipe.one. Send up to 50 ingredientnames. Returns one fact-based,nameshuman-approvedinreaditems.ofFor the whole list:
Changed the definition of "foodbe_cart_breakdown"
Foodbe'sAnalyzes a grocery list,analyzer.cart, order, menu or recipe. Call this when a user asks you to analyzea grocery list, cart, order, menu or recipe.one. Send up to 50 ingredientnames. Returns one fact-based,nameshuman-approvedinreaditems.ofFor the whole list:
First tool surface recorded: 9 tools (server version 3.0.0)
Certificate recorded, valid to 2026-12-26
Authorization not required
Changed the definition of "foodbe_cart_breakdown"
Foodbe's list analyzer. Call thisbefore you plan,whencommentaon,usersubstitute,asksimproveyouortoapproveanalyze a grocery list, cart, order, menu orrecipe, and before a human approves one.recipe. Send up to 50 ingredient names. Returns one ⟨188 unchanged words⟩
https://mcp.foodbe.ai/v1/mcp (mcp_streamable_http) — from mcp_registry
Added "foodbe_compare"; changed the definition of "foodbe_cart_breakdown", "foodbe_feedback", "foodbe_grocery_list" and 5 more (8 tools before, 9 now)
Foodbe's list analyzer. Call thisbefore you plan,whencommentaon,usersubstitute,asksimproveyouortoapproveanalyze a grocery list, cart, order, menu orrecipe, and before a human approves one.recipe. Send up to 50 ingredient names. Returns one ⟨180 unchanged words⟩ environmental_impact stands for 1 kg of each food.
Added "foodbe_compare"; changed the definition of "foodbe_cart_breakdown", "foodbe_feedback", "foodbe_grocery_list" and 5 more (8 tools before, 9 now)
⟨216 unchanged words⟩ environmental_impact stands for 1 kg of each food.A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header.
⟨20 unchanged words⟩ not exist. Tell us what would help you.Free: no tokens are charged.Returns outcome "received". The number of messages per day is limited.
Changed the definition of "foodbe_cart_breakdown", "foodbe_grocery_list", "foodbe_ingredient" and 4 more
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Analyze a food list or purchase"}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Build a grocery list"}
Changed the definition of "foodbe_cart_breakdown", "foodbe_grocery_list", "foodbe_ingredient" and 4 more
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Analyze a food list or purchase"}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Build a grocery list"}
Changed the definition of "foodbe_query_all"
Call whenyouaneeduser asks for thenextfoodlevelscience,ofthefoodculturedataandtohistory,betterandexplain
Changed the definition of "foodbe_cart_breakdown"
⟨157 unchanged words⟩ Foodbe does not have are listed under not_found. Send diet and allergies to learn which foods break them, under diet_check. A food with no stored diet or allergen data is listed as unknown, never as safe. Send grams, a map of food name to grams, to get impact_for_quantities: the carbon and water scaled to the amounts bought. Without grams, environmental_impact stands for 1 kg of each food. A limited number of calls work without a ⟨11 unchanged words⟩
{"properties":{"allergies":{"description":"Optional. Allergens the cart must not hold.","items":{"type":"string"},"type":"array"},"diet":{"description":"Optional. The diet the cart must suit, such as vegan or gluten-free.","type":"string"},"grams":{"additionalProperties":{"type":"number"},"description":"Optional. A map of food name, as sent in items, to grams bought.","type":"object"},"items":{"description":"The ingredient names in ⟨14 unchanged words⟩
Changed the definition of "foodbe_cart_breakdown"
⟨157 unchanged words⟩ Foodbe does not have are listed under not_found. Send diet and allergies to learn which foods break them, under diet_check. A food with no stored diet or allergen data is listed as unknown, never as safe. Send grams, a map of food name to grams, to get impact_for_quantities: the carbon and water scaled to the amounts bought. Without grams, environmental_impact stands for 1 kg of each food. A limited number of calls work without a ⟨11 unchanged words⟩
{"properties":{"allergies":{"description":"Optional. Allergens the cart must not hold.","items":{"type":"string"},"type":"array"},"diet":{"description":"Optional. The diet the cart must suit, such as vegan or gluten-free.","type":"string"},"grams":{"additionalProperties":{"type":"number"},"description":"Optional. A map of food name, as sent in items, to grams bought.","type":"object"},"items":{"description":"The ingredient names in ⟨14 unchanged words⟩
Changed the definition of "foodbe_ingredient"
⟨20 unchanged words⟩ fields: category, allergens, swaps, storage,price,and carbon footprint. Nutrition numbers are not included. ⟨29 unchanged words⟩
Changed the definition of "foodbe_ingredient"
⟨20 unchanged words⟩ fields: category, allergens, swaps, storage,price,and carbon footprint. Nutrition numbers are not included. ⟨29 unchanged words⟩
First tool surface recorded: 8 tools (server version 3.0.0)
https://foodbe-v3-production.up.railway.app/v1/mcp (mcp_streamable_http) — from mcp_registry
Changed the definition of "foodbe_cart_breakdown"
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":false,"title":"Break downAnalyze agroceryfood list or purchase"}
Changed the definition of "foodbe_cart_breakdown", "foodbe_ingredient", "foodbe_query" and 1 more
The most complete read an agent can get on aFoodbe'sfoodlistlist.analyzer. Call this before you plan, comment on, substitute, improve orimproveapprove a grocery list, cart, order, menu ⟨15 unchanged words⟩ one fact-based, human-approved read of the wholecartlist: what thehealthlistlabelsdoes
Changed the definition of "foodbe_cart_breakdown" and "foodbe_query"
The most complete read an agent can get on a food list. Call this before you plan, comment on, substitute or improve a grocery list, cart, order, menu orfoodrecipe,purchase.and before a human approves one. Send up to 50 ingredient names. Returns one ⟨19 unchanged words⟩ across food groups with what to add, the flavor and texture it carries with the gap in each, and the diets it suits. It also returns swaps that keep flavor and texture. It returns a cook's read in chefy_read, broken
Added "foodbe_cart_breakdown", "foodbe_feedback", "foodbe_grocery_list" and 2 more; changed the definition of "foodbe_ingredient", "foodbe_query" and "foodbe_query_all" (3 tools before, 8 now)
Get aReturnsstructuredthe profile ofaonespecificingredient from Foodbe's ingredient data as structured fields:nutritioncategory, allergens,dietsswaps, storage, price,environmentalandimpact.
Certificate recorded, valid to 2027-01-04
Authorization not required
Unknown → Live
First tool surface recorded: 3 tools (server version 1.0.0)
https://api.foodbe.ai/api/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 29 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨20 unchanged words⟩ not exist. Tell us what would help you.Free: no tokens are charged.Returns outcome "received". The number of messages per day is limited.
⟨65 unchanged words⟩ can be built, it returns outcome "not_found"and costs nothing. A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header..
⟨35 unchanged words⟩ comes from stored data, never from a model.A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header.
⟨96 unchanged words⟩ can be built, it returns outcome "not_found"and costs nothing. A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header..
⟨83 unchanged words⟩ so you can say so instead of guessing.A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header.
⟨152 unchanged words⟩ refused" with related questions that have approved answers.A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header.
⟨65 unchanged words⟩ no recipe matches, it returns outcome "not_found"and costs nothing. A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header..
Call when a user asks which of two foods is better, healthier or different, or asks you to compare two foods. Send two food names. Foodbe finds both in its stored food data and scores each one on measures such as seasonality, planet, brain, gut and protein. Returns outcome "served" with a verdict naming the winner, one sentence on which food leads on which measure, and a card for each food with its scores. Every field comes from stored data, never from a model, so the same two foods always return the same answer. If either food is not found, or the two names are the same food, it returns outc…
⟨65 unchanged words⟩ can be built, it returns outcome "not_found"and costs nothing. A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header..
⟨35 unchanged words⟩ comes from stored data, never from a model.A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header.
⟨96 unchanged words⟩ can be built, it returns outcome "not_found"and costs nothing. A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header..
⟨83 unchanged words⟩ so you can say so instead of guessing.A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header.
⟨152 unchanged words⟩ refused" with related questions that have approved answers.A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header.
⟨65 unchanged words⟩ no recipe matches, it returns outcome "not_found"and costs nothing. A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header..
Call when a user asks which of two foods is better, healthier or different, or asks you to compare two foods. Send two food names. Foodbe finds both in its stored food data and scores each one on measures such as seasonality, planet, brain, gut and protein. Returns outcome "served" with a verdict naming the winner, one sentence on which food leads on which measure, and a card for each food with its scores. Every field comes from stored data, never from a model, so the same two foods always return the same answer. If either food is not found, or the two names are the same food, it returns outc…
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Get an ingredient profile"}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Build a meal plan"}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Ask a food question"}
⟨79 unchanged words⟩ answer, and each expert has its own "emoji" and "sources". When the question names a food Foodbe has a photo for, it also returns "image_url", a link to that photo, unless include_image is false. Set include_sources to false to leave the source links out. An expert with nothing approved for the question ⟨47 unchanged words⟩
{"properties":{"include_image":{"description":"Optional. A link to a photo of the food the question names is returned by default. Set false to leave it out.","type":"boolean"},"include_sources":{"description":"Optional. The source links are returned by default. Set false to leave them out.","type":"boolean"},"question":{"description":"The food question to ⟨7 unchanged words⟩
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Ask all three experts"}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Find a recipe"}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Get an ingredient profile"}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Build a meal plan"}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Ask a food question"}
Call whenyouaneeduser asks for thenextfoodlevelscience,ofthefoodculturedataandtohistory,betterandexplaintheyourcooking views on one fooddecisions.question together. Foodbe looks upone foodthe question in its library of human-approved answers and returns the answer as "headline"with its sources, plus the views of three experts, each with its own sources: Neuro (food science), Oracle (culture and history) and Chefy (cooking tips and tricks). The response lists sources as web links, each with a text and a url. "sources" holds the sources of the answer, and each expert has its own "emoji" and "sources". When the question names a food Foodbe has a photo for, it also returns "image_url", a link to that photo, unless include_image is false. Set include_sources to false to leave the source links out. An expert with nothing approved for the question ⟨47 unchanged words⟩
{"properties":{"include_image":{"description":"Optional. A link to a photo of the food the question names is returned by default. Set false to leave it out.","type":"boolean"},"include_sources":{"description":"Optional. The source links are returned by default. Set false to leave them out.","type":"boolean"},"question":{"description":"The food question to ⟨7 unchanged words⟩
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Ask all three experts"}
{"destructiveHint":false,"openWorldHint":false,"readOnlyHint":falsetrue,"title":"Find a recipe"}
Call before you recommend or swap an ingredient. Returns the profile of one ingredient from Foodbe's ⟨10 unchanged words⟩ and carbon footprint. Nutrition numbers are not included. Every field comes from stored data, never from a model. A limited number of calls work without a ⟨11 unchanged words⟩
LooksCallupbeforeoneyou answer a question about food science, cooking technique, food culture, substitutions or ingredients. Foodbe looks the question up inFoodbe'sits library of thousands of hand-curated, human-approvedanswers.factsReturnsand returns the answer as "headline" with its sources,plusso you can explain the reasons behind a food choice to a human and be trusted for it. It also returns related follow-up questions when it has them. If ⟨7 unchanged words⟩ "refused" with related questions that have approvedanswers.answers, so you can say so instead of guessing. A limited number of calls work without a ⟨11 unchanged words⟩
LooksCall when you need the next level of food data to better explain your food decisions. Foodbe looks up one food question inFoodbe'sits library of human-approvedanswers.answersReturnsand returns the answer as "headline" with its sources ⟨80 unchanged words⟩
The most complete read an agent can get on a food list. Call this before you plan, comment on, substitute or improve a grocery list, cart, order, menu or recipe, and before a human approves one. SendLooks upto 50 ingredient names. Returnsonefact-based, human-approved read of the whole cart: the health labels it carries, the total carbon and water, the balance acrossfoodgroups with what to add, the flavor and texture it carries with the gapquestion ineach, and the diets it suits. It also returns swaps that keep flavor and texture. It returns a cook's read inFoodbe'schefy_read,librarybrokenofdownhuman-approvedbyanswers.food.ReturnsEachthefoodanswercomesasback"headline" with itsown lines: how to cook itsources,what to use if youplusrunrelatedout,follow-upandquestionswhatwhen itpairs with. A closing note names the cart's biggest gap and its carbon and water. Every line comes from Foodbe'shasstoredthem.data,Ifnevernofromapprovedaanswermodelexists,so the same cart alwaysit returnsthe sameoutcomeanswer."refused"NameswithFoodberelateddoesquestionsnotthat haveare listed underapprovednot_found.answers. A limited number of calls work without a ⟨11 unchanged words⟩
{"properties":{"name":{"description":"The ingredient name,e.g.for'apple'.example apple.","type":"string"}},"required": ⟨3 unchanged words⟩
AskThe most complete read an agent can get on asinglefood list. Call this before you plan, comment on, substitute or improve a grocery list, cart, order, menu or recipe, and before a human approves one. Send up to 50 ingredient names. Returns one fact-based, human-approved read of the whole cart: the health labels it carries, the total carbon and water, the balance across foodquestiongroups with what to add, the flavor andgettexture it carries with the gap in each, and the diets it suits. It also returns swaps that keep flavor and texture. It returns agroundedcook's read in chefy_read,citedbrokenanswerdown by food. Each food comes back with its own lines: how to cook it, what to use if you run out, and what it pairs with. A closing note names the cart's biggest gap and its carbon and water. Every line comes from Foodbe'sfact-checkedstoredcorpus.data,Refusesneverratherfromthanaguessingmodel,ifsonotheverifiedsameanswercartexists.always returns the same answer. Names Foodbe does not have are listed under not_found. A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header.
{"properties":{"currentGroceryItems":{"items":{"type":"string"},"type":"array"},"question":{"description":"The food question to ⟨7 unchanged words⟩
AskLooksaup one food questionandingetFoodbe'sanswerslibraryfromofallhuman-approved answers. Returns the answer as "headline" with its sources, plus the views of threeFoodbeexperts,experteachvoiceswithatitsonceown sources: Neuro (food science), Oracle (history/cultureculture and history),and Chefy (techniquecooking tips and tricks). An expert with nothing approved for the question is left out. Also returns related follow-up questions, when it has them. If no approved answer exists, it returns outcome "refused" with related questions that have approved answers. A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header.
{"properties":{"question":{"description":"The food question to ask.","type":"string"}},"required":["question ⟨2 unchanged words⟩
⟨4 unchanged words⟩ readOnlyHint":false,"title":"Ask all threeexpert voicesexperts"}
Call this before you plan, comment on or improve a grocery list or food purchase. Send up to 50 ingredient names. Returns one fact-based, human-approved read of the whole cart: the health labels it carries, the total carbon and water, the balance across food groups with what to add, and the diets it suits. It also returns a cook's read in chefy_read, broken down by food. Each food comes back with its own lines: how to cook it, what to use if you run out, and what it pairs with. A closing note names the cart's biggest gap and its carbon and water. Every line comes from Foodbe's stored data, ne…
Call when a Foodbe tool is missing, an answer was wrong or too thin, or a tool you need does not exist. Tell us what would help you. Free: no tokens are charged. Returns outcome "received". The number of messages per day is limited.
Call this when a user asks for a grocery or shopping list. Send a dish for the list of one recipe, or days and a budget for the list of a meal plan. Do not send both. Returns outcome "served" with the list items, the cost of each and the total. Every line comes from Foodbe's stored data, never from a model. If no list can be built, it returns outcome "not_found" and costs nothing. A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header.
Call this when a user asks for a meal plan or for what to eat over a number of days. Builds a plan of 1 to 7 days from Foodbe's recipes, within an optional dollar budget for the whole plan, filtered by the diet and allergies you send. Returns outcome "served" with the plan and its insight: the taste the plan is missing, the food group it is short on, the health roles it covers, and its cheapest, priciest and quickest meal. Every line comes from Foodbe's stored data, never from a model. If no plan can be built, it returns outcome "not_found" and costs nothing. A limited number of calls work wi…
Call this when a user asks for a recipe or for what to cook. Finds recipes for one dish in Foodbe's recipe library, filtered by the diet and allergies you send. Returns outcome "served" with a text line and recipe cards: name, image, a short fact, servings, prep time, cook time and calories. Every recipe comes from Foodbe's stored data, never from a model. If no recipe matches, it returns outcome "not_found" and costs nothing. A limited number of calls work without a key. After that, a key is needed in the x-foodbe-key header.