Nutrients

io.prospre/nutrients · v0.1.1 · productivity

Nutrients is healthy: it completed an MCP handshake in 1441 ms and exposes 27 tools.

Proof-backed nutrition facts for foods, branded products and supplements: values, sources, labels.

Endpoint: https://nutrition.prospre.io/mcp (streamable-http)

No repository listed · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count27
Latency1441 ms
Last checked (UTC)2026-11-07T21:50:25.366Z

Health history

Checked (UTC)StatusLatencyError
2026-11-07T21:50:25.366ZHealthy1441

Tools (27)

describeStart here. Returns the property registry (every nutrient key with its unit and meaning), the labelling regimes, entity kinds, proof ranks, your quota, and how to use every operation. Free.
resolveFind what free-text food phrases refer to: "2 large eggs scrambled", "1 cup cooked rice", "Clif Bar chocolate chip". Batch up to 50 phrases. Default mode "candidates" returns, per phrase, the parsed amount and ranked candidates, each with its portions (label and grams), the amount in grams when the
getFull entity cards by id (batch up to 100): every published fact with unit, basis, proof rank and source; portions; identifiers; serving; quality hints. A nutrient not in "nutrients" is unknown, never zero. "missing" gives the reason only for the core label nutrients (energy, protein, fat, fat.satura
searchFind entities by name in any language, by barcode, or semantically. Filter by kind, brand, market. Returns compact hits with key nutrients; call get for full cards. The same food from several countries' sources (USDA, CIQUAL) is one result: the version for the market passed, else the best match, wit
lookup_barcodeProduct or supplement for a barcode (UPC-A, EAN-13, GTIN-14, any length; normalised). The same barcode can carry different recipes in different countries: pass market to choose. A miss opens a task for agents to find proof.
nutritionTotals for any mix of foods, products, recipes and supplements in any amounts (up to 200 items, at most 50 of them text; a text item costs what resolve charges for one phrase), and each item's own values: every line in items has nutrients for the same fields, in the total's unit, so a meal or food l
compute_recipeExact nutrition for a recipe: the sum of its ingredient lines (text or ids). Returns the total and per serving, plus per 100 g when you give the weighed cooked weight. Nothing is estimated: where cooking changes an ingredient, use its cooked form ("chicken breast, roasted"). A value whose coverage i
compareItems side by side on one basis: per_100g, per_serving or per_100kcal.
querySearch and mine the whole database: keywords (the last word also matches as a prefix, for type-ahead), filters on any nutrient, sorting by up to three keys, per 100 g, per 100 kcal or per serving. E.g. foods with at least 20 g protein per 100 kcal and under 5 g sugars sorted by fibre; branded yogurt
label_linesThe master list of free label lines: every line name that labels print and the registry has no key for (a botanical, a branded blend, "creatine monohydrate"), as stored under line:<name>, with how many items state it (entities), from how many proofs (sources), and in which units. Search by part of t
labelThe item's nutrition panel as a given country would print it (rounding, basis, mandatory nutrients, salt vs sodium, carbohydrate definition). Values that cannot be derived exactly come back null with the reason; derived rows (salt from sodium, kJ from kcal) list derived_from. "allergens" lists the r
reference_valuesRecommended intakes (RDA/AI), upper limits (UL, with scope e.g. "supplemental only") and label reference values (DV/RI/NRV) for a population and jurisdiction. Each value carries its source and a cite line.
check_intakeA day of foods and supplements (up to 200 items, at most 50 of them text; a text item costs what resolve charges for one phrase) checked against recommended intakes and upper limits for a population. Limits that apply only to supplements (magnesium, vitamin E, folic acid, niacin) are compared only w
explainEvery fact behind one value: each source, its proof rank and date, which one is published and why. Use before trusting a surprising number.
flagReport a value that looks wrong, or a label photo that looks fake. Free. Include why and any evidence (a URL to the brand's own page is best; it is kept as text for people, never visited). Flags open review tasks. With proof_id (a photo proof, from a card's sources, e.g. "p123" is 123), the flag lan
add_proofSubmit proof: a first-party URL (brand or restaurant page, PDF, CSV), or label photos (base64; several sides of one package beat one photo), with your reading of it. A URL is a citation: we never download it. Values that fill gaps publish at once, marked unverified; they become verified when an agen
submit_readingYour reading of a proof from a read_proof task (one submitted without a reading): what the proof states, as typed values. Read only the proof files (GET /v1/proofs/{proof_id}/files/{n}). A proof is read once: to verify an item from a verify_reading task, find your own proof and submit it with add_pr
claim_statusStatus of a claim (checks, decision, reason) or of submitted proof (how many readings it has and whether they agree; values stay hidden so later readers read blind) and which claims it opened).
tasksSmall jobs that improve the data, near what you are doing: items whose values wait for independent proof, values that need proof, missing nutrients, unknown barcodes, open flags.
needsWhat agents asked for and did not get, ranked by how many asked and how recently: phrases and searches with no match, unknown barcodes. Free. Fill one when you have the item in hand or can open its own page: add_proof with new_entity {kind, name, brand, barcode}, market, url or files, and your readi
suggest_domainSuggest a website as a trusted source: a government food database, or the official site of one brand or restaurant chain. A link on a trusted domain counts as that owner's own data (the brand's site is rank 1 for its items); a link anywhere else is an unknown website at rank 4. A person checks and a
feedbackTell us what would make this service better for you: a tool that confused you, a missing operation or field, a slow call, a wrong result, an unclear doc or skill, or what worked well. Free. Wrong nutrition values go to flag instead, so they can be fixed at the source. Feedback is read by people and
changesEntities changed after a sequence number (paid plans).
link_emailLink your operator's email to this key to raise its limits and allow contributions (flag, add_proof, tasks, submit_reading). A 6-digit code is emailed to the address; confirm it with verify. Your key keeps working meanwhile. Free.
verifyConfirm the 6-digit code emailed by register or link_email, with the key that asked for it: links the email, moves the key to the free plan and adds the contribute scope. Five wrong codes end every code sent to this key; then call link_email again.
usageYour key's plan, units used today, remaining units, rate limit and contribution credit. Free.
registerCreate an API key. It works immediately for reads, with a small daily quota. Optionally pass your operator's email (or call link_email later): a 6-digit code is emailed, and confirming it with verify raises the quota and allows contributions. One verified email owns all its keys. Use this only if yo