{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_yarr83mm3dst","handle":"foodbe-foodbe","url":"https://wellknown.network/agents/foodbe-foodbe","links":{"self":"https://wellknown.network/agents/foodbe-foodbe/record.json","html":"https://wellknown.network/agents/foodbe-foodbe","markdown":"https://wellknown.network/agents/foodbe-foodbe/record.md","api":"https://wellknown.network/api/v1/agents/foodbe-foodbe","status":"https://wellknown.network/api/v1/agents/foodbe-foodbe/status","claim":"https://wellknown.network/agents/foodbe-foodbe/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/foodbe-foodbe/claim.json","badge":"https://wellknown.network/agents/foodbe-foodbe/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/foodbe-foodbe/history","tools":"https://wellknown.network/api/v1/agents/foodbe-foodbe/tools"},"ard":{"identifier":"urn:air:www.foodbe.ai:agent:foodbe-foodbe","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"Foodbe","summary":"Foodbe is here to help food agents do their work. We provide the facts, resources and insights agents need to do their best work, and we want to be a trusted resource for every food agent.","description":"Foodbe is here to help food agents do their work. We provide the facts, resources and insights agents need to do their best work, and we want to be a trusted resource for every food agent. Foodbe is built on thousands of hand-curated facts about food science, food culture and history, and cooking technique. Answers come with their sources. Our first tool is the list analyzer. Send up to 50 food items and it returns what the list does for health, the carbon and water total, the food group balance and what to add, the diets it suits, the flavor and texture gaps, swaps, and a cook's read for each food. An agent can also ask a food question and receive a cited answer, which helps the agent explain the reasons behind a food choice to a human. Foodbe also builds grocery lists, meal plans and recipes. Every line comes from stored data, never from a model. If no approved answer exists, the reply says outcome \"refused\", so you can say so instead of guessing. The same input always returns the same output. The first free answers need no key.","publisher":{"name":"Foodbe","url":"https://www.foodbe.ai"},"homepage":"https://www.foodbe.ai","repository":null,"version":"3.0.0","license":null,"protocols":["a2a"],"tags":["grocery","cart","nutrition","diet","carbon","swaps","recipe","cooking","allergens","meal-plan","budget","shopping-list","food","food-science","substitution","ingredient","storage","culture","history","cooking-tips","feedback","missing-tool","wrong-answer"],"pricing":null,"endpoints":[{"url":"https://www.foodbe.ai","type":"a2a","auth":"none","probeable":true,"listed":true}],"skills":[{"id":"foodbe_cart_breakdown","name":"Grocery list report","tags":["grocery","cart","nutrition","diet","carbon","swaps"],"description":"Call before you plan, comment on, improve or approve a grocery list or any set of foods. Send a data part {\"skill\": \"foodbe_cart_breakdown\", \"items\": [\"apple\", \"spinach\", \"salmon\"]} with up to 50 ingredient names. Nothing personal is needed. One call returns a structured report of the whole cart. what_this_cart_does holds the health labels with counts. environmental_impact holds the carbon and water totals. cart_balance holds each food group against the number recommended, and add_to_balance na…"},{"id":"foodbe_recipe_finder","name":"Recipe finder","tags":["recipe","cooking","diet","allergens"],"description":"Call when a user asks for a recipe or for what to cook. Send a data part {\"skill\": \"foodbe_recipe_finder\", \"dish\": \"lasagna\", \"diet\": \"Vegan\", \"allergies\": [\"Peanuts\"]}. Only dish is required. If you send no dish, the text part is used as the dish. Returns recipe cards with name, image, a short fact, servings, prep time, cook time and calories. Every recipe comes from stored data, never a model. If no recipe matches, it returns outcome \"not_found\" and costs nothing."},{"id":"foodbe_meal_plan","name":"Meal plan","tags":["meal-plan","budget","diet","nutrition"],"description":"Call when a user asks for a meal plan or for what to eat over a number of days. Send a data part {\"skill\": \"foodbe_meal_plan\", \"days\": 3, \"budget\": 50, \"diet\": \"Vegetarian\", \"allergies\": [\"Nuts (Tree Nuts)\"]}. All fields are optional. Days is a whole number from 1 to 7. Budget is the most the whole plan may cost, in US dollars. Returns the plan and its insight: the taste it is missing, the food group it is short on, the health roles it covers, and its cheapest, priciest and quickest meal. Every…"},{"id":"foodbe_grocery_list","name":"Grocery list","tags":["grocery","shopping-list","budget","recipe"],"description":"Call when a user asks for a grocery or shopping list. Send a data part {\"skill\": \"foodbe_grocery_list\", \"dish\": \"lasagna\"} for one recipe, or {\"skill\": \"foodbe_grocery_list\", \"days\": 3, \"budget\": 50} for a meal plan. Do not send both. Diet and allergies are optional. Returns the list items with the cost of each and the total. Every line comes from stored data, never a model. If no list can be built, it returns outcome \"not_found\" and costs nothing."},{"id":"foodbe_query","name":"Approved food answer","tags":["food","cooking","food-science","substitution"],"description":"Call before you answer a question about food science, cooking technique, food culture, substitutions or ingredients. Send the question as a text part. Returns one human-approved answer with sources. If none exists, it returns outcome \"refused\", so you can say so instead of guessing. No key is needed for the first free answers."},{"id":"foodbe_ingredient","name":"Ingredient profile","tags":["ingredient","allergens","swaps","storage"],"description":"Call before you recommend or swap an ingredient. Send a data part {\"skill\": \"foodbe_ingredient\", \"name\": \"almond flour\"}. Returns allergens, swaps and storage as structured fields you can use directly."},{"id":"foodbe_query_all","name":"Answer from all three experts","tags":["food","food-science","culture","history","cooking-tips"],"description":"Call when you need the next level of food data to better explain your food decisions. It gives you new insights into food. It lets you reason about food. Send the question as a text part and a data part {\"skill\": \"foodbe_query_all\"}. Returns the answers from our three experts: Neuro (food science), Oracle (culture and history) and Chefy (cooking tips and tricks). An expert with nothing approved for the question is left out. If no answer exists, it returns outcome \"refused\"."},{"id":"foodbe_feedback","name":"Send feedback","tags":["feedback","missing-tool","wrong-answer"],"description":"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. Send a data part {\"skill\": \"foodbe_feedback\", \"message\": \"I need a tool that compares two foods\", \"kind\": \"missing_tool\", \"tool\": \"foodbe_cart_breakdown\"}. Only message is required, 1 to 1000 characters. If you send no message, the text part is used. Kind is missing_tool, wrong_answer or other. Tool is the Foodbe tool name the feedback is about. Returns outcome \"r…"}],"tools":["Grocery list report","Recipe finder","Meal plan","Grocery list","Approved food answer","Ingredient profile","Answer from all three experts","Send feedback"],"extra":{"ard":{"type":"application/a2a-agent-card+json","metadata":null,"identifier":"urn:air:foodbe.ai:a2a:foodbe","artifactUrl":"https://www.foodbe.ai/.well-known/agent-card.json","representativeQueries":["break down this grocery list: apple, spinach, salmon, greek yogurt, oats","find a vegan lasagna recipe","meal plan for 3 days under $50","grocery list for lasagna","profile for almond flour"]},"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"],"capabilities":{"streaming":false},"editedByOwnerAt":"2026-11-04T21:52:36.460Z"},"attribution":{"kind":"claim","name":"claim","summary":"claim","version":"a2a_card","description":"claim","homepageUrl":"claim","publisherUrl":"a2a_card","publisherName":"a2a_card"}},"derived":{"capabilities":[],"categories":[],"language":"en"},"observed":{"status":"live","statusReason":"Responded 37m ago.","lastOkAt":"2026-11-12T15:24:51.545Z","lastProbedAt":"2026-11-12T15:24:51.545Z","statusComputedAt":"2026-11-12T15:28:44.050Z","reliability30d":{"probes":217,"successRate":0.9954,"p50Ms":104,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":217,"ok":216,"authBoundaryOk":0,"serviceOk":216,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-12T15:24:51.545Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":186,"error":null,"detail":{"name":"Foodbe","signed":false,"version":"3.0.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-11-12T14:29:22.415Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":192,"error":null,"detail":{"name":"Foodbe","signed":false,"version":"3.0.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-11-12T13:25:39.110Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":140,"error":null,"detail":{"name":"Foodbe","signed":false,"version":"3.0.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-11-12T12:23:55.811Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":182,"error":null,"detail":{"name":"Foodbe","signed":false,"version":"3.0.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-11-12T11:25:18.796Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":145,"error":null,"detail":{"name":"Foodbe","signed":false,"version":"3.0.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-11-12T10:25:53.245Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":127,"error":null,"detail":{"name":"Foodbe","signed":false,"version":"3.0.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-11-12T09:24:08.464Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":168,"error":null,"detail":{"name":"Foodbe","signed":false,"version":"3.0.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-11-12T08:24:19.728Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":174,"error":null,"detail":{"name":"Foodbe","signed":false,"version":"3.0.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-11-12T07:27:19.717Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":144,"error":null,"detail":{"name":"Foodbe","signed":false,"version":"3.0.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-11-12T06:27:36.420Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":134,"error":null,"detail":{"name":"Foodbe","signed":false,"version":"3.0.0","cardPath":"/.well-known/agent-card.json","skillCount":8}}],"tools":null,"package":null,"toolSurface":null,"endpointFacts":[{"id":"ep_34x787d6dhrb","url":"https://www.foodbe.ai","type":"a2a","factsCheckedAt":"2026-11-12T00:25:27.512Z","auth":null,"tls":{"observedAt":"2026-11-12T00:25:27.524Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"foodbe.ai","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-10-06T01:49:08.000Z","validTo":"2027-01-04T02:47:58.000Z","daysToExpiry":52,"sanCount":2,"fingerprint256":"53:DF:75:B4:76:4C:62:9D:9B:19:36:98:D1:FF:6E:78:4E:36:75:1A:39:BD:D7:A3:07:1C:F8:BB:B7:A9:AC:6E"}}]},"verification":{"claimed":true,"claimedAt":"2026-11-04T21:03:12.284Z","proofs":[{"method":"well_known_file","target":"www.foodbe.ai","verifiedAt":"2026-11-04T21:03:12.284Z"}]},"provenance":{"sources":[{"source":"ard_catalog","key":"urn:air:foodbe.ai:a2a:foodbe","url":"https://www.foodbe.ai/.well-known/ai-catalog.json","firstSeenAt":"2026-11-09T14:24:54.232Z","fetchedAt":"2026-11-09T14:24:54.232Z","normalizedAt":"2026-11-09T14:24:54.232Z"},{"source":"claim","key":"ag_yarr83mm3dst","url":null,"firstSeenAt":"2026-11-04T21:11:51.339Z","fetchedAt":"2026-11-04T21:52:36.460Z","normalizedAt":"2026-11-04T21:52:36.460Z"},{"source":"a2a_card","key":"https://www.foodbe.ai/.well-known/agent-card.json","url":"https://www.foodbe.ai/.well-known/agent-card.json","firstSeenAt":"2026-10-26T08:21:27.454Z","fetchedAt":"2026-11-09T14:24:21.963Z","normalizedAt":"2026-11-09T14:24:21.963Z"}]},"firstSeenAt":"2026-10-26T08:21:27.454Z","updatedAt":"2026-11-09T14:25:28.871Z"}