Plate — connector documentation
- MCP endpoint:
https://plate.connectorbay.com/mcp - REST API:
POST https://plate.connectorbay.com/v1/tools/{tool_name}, described by the OpenAPI 3.1 spec athttps://plate.connectorbay.com/openapi.json - Transport: Streamable HTTP, stateless, MCP specification 2025-06-18 or later
- Authentication: none required. An optional
Authorization: Bearer <key>raises rate limits. - Health:
https://plate.connectorbay.com/health· Tool schemas:https://plate.connectorbay.com/tools.json - Publisher: Unify Dynamics LLC · connectorbay.com/plate · agent@connectorbay.com
What Plate is for
A food app shows a label. Plate tells you what it means: for a packaged food (by barcode or name) the nutrition per serving with FDA's %Daily Value and low/high flags, Nutri-Score and NOVA processing group, allergens and traces, every additive by plain name and function, added sugars under all their names, and a verdict with the one thing to watch. For generic foods ("two eggs", "a cup of rice") it gives USDA numbers with household portions, adds up a meal or a day, and sizes it against the person's own daily targets from the Dietary Guidelines. It checks a product against the allergens someone avoids, finds lower-sugar or lower-sodium swaps in the same category, decodes a pasted ingredient list, and searches FDA and USDA-FSIS recalls — including a pantry check of the products a person actually has.
Sources and what they mean for answers
| Source | Used for | Licence | What to know |
|---|---|---|---|
| Open Food Facts | packaged foods, Nutri-Score, NOVA, allergens, additives, category swaps | ODbL, volunteer-contributed | completeness varies; every record carries data_completeness and a link to the product page |
| USDA FoodData Central, SR Legacy (bundled) | generic foods, portions, meal tallies | public domain | 7,793 foods, April 2018 release; newer foods need FDC_API_KEY for live search |
| openFDA food enforcement | FDA-regulated recalls | public domain | meat, poultry and processed egg products are USDA-FSIS, not FDA |
| USDA-FSIS recall API | meat/poultry/egg recalls | public | the FSIS site blocks many cloud clients; results then say degraded and point to fsis.usda.gov/recalls |
| FDA Daily Values; Dietary Guidelines for Americans 2020-2025 | %DV, flags, calorie and MyPlate targets | public domain | restated guidance, not medical or dietary advice |
Tools
Packaged foods
lookup_product — Everything on record for a packaged food, by barcode or name: nutrition per serving and per 100 g with %DV and FDA low/high flags, Nutri-Score and NOVA processing group, allergens and traces, ingredients, additives by plain name, labels (organic, kosher, vegan…), and a plain-English verdict with the one thing to watch. Use for "what's in this", "is this healthy", "scan this barcode", "tell me about query.
search_products — Find packaged products by words in their name (U.S. market first), with barcode, brand, Nutri-Score, NOVA group and calories/sugar/sodium per 100 g so the person can pick the right one before lookup_product. Use when the user names a product without a barcode, or wants to compare a few brands of the same thing. Args: query, brand, limit.
compare_products — Side-by-side nutrition for two to five packaged foods (per serving or per 100 g) with %DV, plus who wins on sugar, sodium, saturated fat, fibre and protein and a one-line call. Use for "which is better, A or B", "compare these two cereals", "lowest sugar of these". Args: items, per.
allergen_check — Check a packaged food against the allergens a person avoids: 'declared' (on the label's allergen statement), 'may contain' (traces statement), 'found in ingredients' (a matching word in the list), or 'not found' — with the evidence and an explicit caveat that the package is the authority. Use for "does this have dairy", "is this safe for a peanut allergy", "any sesame". Args: query, allergens.
decode_ingredients — Read an ingredient list the way a dietitian would: every additive by plain name and function (with regulatory notes where an authority has acted), added sugars under all their names and where the first one sits in the list, non-nutritive sweeteners, allergen words, and the markers that make a food 'ultra-processed'. Accepts a barcode, a product name, or pasted text (e.g. typed from a photo). Use for "what is tripotassium phosphate", "how many kinds of sugar are in this", "is this ultra-processed". Args: query.
swap_suggestions — Better options in the same product category (sold in the U.S.), ranked for the goal, with the numbers per 100 g next to the original so the improvement is concrete. Use for "something like this with less sugar", "a healthier version", "lower-sodium alternative". Args: query, goal, limit.
Generic foods & targets
nutrition — Calories and nutrients for a generic (unbranded) food in the amount asked — with %DV, FDA low/high flags, the household portions on record (1 large, 1 cup…) and the exact USDA record matched so the person can correct it. Use for "how much protein in two eggs", "calories in a banana", "sodium in a cup of canned soup". Args: food, amount, unit.
meal_tally — Add up a meal or a day: calories, protein, fibre, sugars, sodium, saturated fat and more across the foods listed (generic USDA foods with household portions), as %DV and — when age and sex are given — as a share of that person's daily targets, with what is high and what is missing. Use for "add up my breakfast", "how much sodium was that", "did I get enough fibre today". Args: items, age, sex, activity.
daily_targets — What a person of this age, sex and activity level should aim for in a day per the Dietary Guidelines for Americans 2020-2025: calories, MyPlate amounts (vegetables, fruit, grains, protein, dairy, oils), maximum added sugars, saturated fat and sodium, and a fibre target. Use for "how much should my 9-year-old eat", "what's a normal sodium limit", "how many cups of vegetables a day". Args: age, sex, activity.
Recalls
food_recalls — Recent U.S. food recalls from FDA (all foods except meat, poultry and processed egg products) and USDA-FSIS (meat, poultry, egg products), newest first, with the reason, class (I = serious), the products and lot codes affected, where they were sold, and what to do. Use for "any recalls on X", "is there a listeria recall right now", "recalls in my state this month". Args: query, days, state, limit.
pantry_recall_check — Check a list of products against recent FDA (and, when reachable, USDA-FSIS) recalls: for each item, the matching recalls by product words and brand, so the person knows what to look at and what is clear. Barcodes are resolved to names first. Use for "is anything in my pantry recalled", "check these for recalls". Args: items, days.
Reference
additive_lookup — What an additive is and what it does, by name or E-number: plain name, function class (colour, preservative, emulsifier…) and any regulatory note (an authority that has restricted or revoked it). Use for "what is E471", "is red 40 banned", "why is there xanthan gum in this". Args: names.
sources — Where Plate's data comes from, its licences, coverage and known gaps — so the agent can answer "where is this from" and set expectations (e.g. Open Food Facts completeness, FSIS reachability, USDA release date).
Conventions
- Read-only. Every tool reads public data and computes; nothing is written anywhere and nothing about the user is stored.
- Numbers are the source's numbers. Plate never estimates a nutrient; when a record lacks a serving size it says so and uses per-100 g.
- Guidance is labelled. %DV, the 5%/20% low/high rule, calorie levels, MyPlate amounts and sugar/sodium/saturated-fat limits are FDA and Dietary Guidelines figures, returned with their source. Plate is not medical or dietary advice.
- Allergens.
allergen_checkreports what the record shows (declared, may contain, found in ingredients, not found) and always says the package is the authority; "not found" is not a guarantee. - Result envelope.
ok: truewith data, orok: falsewith a structurederror(bad_input,not_found,upstream_error).degradedlists optional sources that were unreachable (typically FSIS). - Rate limits. Free tier 60 tool calls/minute and 300/day per user (keyed on the user identifier supplied by the host agent, else client IP); Pro keys raise this. Over-limit calls return HTTP 429 with
Retry-After.initializeandtools/listare never counted. Open Food Facts search is additionally kept under its published 10/minute limit per server.
Example calls
curl -s https://plate.connectorbay.com/v1/tools/lookup_product -H 'content-type: application/json' -d '{"query":"016000275287"}'
curl -s https://plate.connectorbay.com/v1/tools/nutrition -H 'content-type: application/json' -d '{"food":"2 large eggs"}'
curl -s https://plate.connectorbay.com/v1/tools/food_recalls -H 'content-type: application/json' -d '{"query":"listeria","days":60}'
Support
agent@connectorbay.com · connectorbay.com/plate/support