protogrid

Search / io.prospre/nutrients

Nutrients: proof-backed nutrition data

R0· no sign-in

Proof-backed nutrition for foods, chain menus, barcodes, supplements. Agents add what's missing.

v0.2.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality85new
Trust82of 100
Uptime, 30 days91%
Latency p50602 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "nutrients": {
      "type": "http",
      "url": "https://nutrition.prospre.io/mcp",
      "headers": {
        "Authorization": "Bearer ${api_key}"
      }
    }
  }
}
claude mcp add --transport http nutrients https://nutrition.prospre.io/mcp --header "Authorization: Bearer ${api_key}"
[mcp_servers.nutrients]
url = "https://nutrition.prospre.io/mcp"
bearer_token_env_var = "api_key"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "nutrients": {
      "type": "remote",
      "url": "https://nutrition.prospre.io/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:api_key}"
      }
    }
  }
}
{
  "mcpServers": {
    "nutrients": {
      "type": "http",
      "url": "https://nutrition.prospre.io/mcp",
      "headers": {
        "Authorization": "Bearer ${api_key}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=nutrients&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbnV0cml0aW9uLnByb3NwcmUuaW8vbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7YXBpX2tleX0ifX0%3D"
}
{
  "servers": {
    "nutrients": {
      "type": "http",
      "url": "https://nutrition.prospre.io/mcp",
      "headers": {
        "Authorization": "Bearer ${api_key}"
      }
    }
  }
}
{
  "mcpServers": {
    "nutrients": {
      "httpUrl": "https://nutrition.prospre.io/mcp",
      "headers": {
        "Authorization": "Bearer ${api_key}"
      }
    }
  }
}
extensions:
  "nutrients":
    enabled: true
    name: "nutrients"
    type: streamable_http
    uri: "https://nutrition.prospre.io/mcp"
    headers:
      "Authorization": "Bearer ${api_key}"
    timeout: 300

Placeholders to fill from your own secret store: ${api_key}. The registry never accepts secret values.

Quality 85 / 100new

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene94 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations29 of 29 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints1 of 29 tools declare all four hints; missing: query (destructiveHint, idempotentHint); check_intake (destructiveHint, idempotentHint); submit_reading (idempotentHint); …
  • pass
    tools.token_costabout 3,877 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
  • pass
    tools.hidden_textno hidden text in tool names, descriptions, schemas or annotations
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pull, stability.new_linkstool history recorded for 6 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

29 tools, about 3,877 tokens to load them all · tool set 67595060431f · tools last changed 2026-11-12 · checked 2026-11-14 08:10 UTC

Tool changes

  • registerchangeddescription, input schema, annotationsmeaning changed
    before

    Create an API key. It works immediately for reads and bounded add_proof and flag contributions (feedback is free), 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 removes the no-email contribution caps. One verified email owns all its keys. Use this only if you have no key yet; the key works at once.

    after · 23% of words in common

    Create an API key, usable at once. Call it only if you have no key yet.

  • usagechangeddescription, input schema, annotationsmeaning changed
    before

    Your key's plan, balances, limits and operation costs, plus separate contribution and rolling 24-hour entity creation allowances (limit, used, remaining and reset). Free.

    after · 35% of words in common

    Your plan, balances, limits and contribution allowances. Free.

  • verifychangeddescription, input schema, annotationsmeaning changed
    before

    Confirm 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, removing the no-email contribution caps. Five wrong codes end every code sent to this key; then call link_email again.

    after · 28% of words in common

    Confirm the 6-digit code emailed by register or link_email.

  • link_emailchangeddescription, input schema, annotationsmeaning changed
    before

    Link your operator's email to this key to raise its limits and keep contributing after the no-email lifetime cap (flag and add_proof work before verification; feedback is never capped by it). A 6-digit code is emailed to the address; confirm it with verify. Your key keeps working meanwhile. Free.

    after · 34% of words in common

    Link your operator's email to raise limits; confirm the emailed code with verify. Free.

  • changeschangeddescription, input schema, annotationsmeaning changed
    before

    Entities changed after a sequence number (paid plans). Rebuild batches report each changed entity; rebuild_complete marks a maintenance boundary and tells consumers to refresh derived search indexes. Its entity_id is one affected entity, not the complete affected set.

    after · 24% of words in common

    Entities changed after a sequence number (paid plans).

  • feedbackchangeddescription, input schema, annotationsmeaning changed
    before

    Tell 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 summarised for the roadmap.

    after · 31% of words in common

    Tell us what confused you, was slow or missing, or worked well. Free. Wrong values go to flag.

  • feedback_statuschangeddescription, input schema, annotationsmeaning changed
    before

    Read progress of your own feedback, free: status, canonical issue or duplicate, fix PR and regression test, or decline reason. No other reporter text or identity is exposed.

    after · 23% of words in common

    Progress of your own feedback. Free.

  • suggest_domainchangeddescription, input schema, annotationsmeaning changed
    before

    Suggest 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 approves every domain; this never approves one. Free, capped per day.

    after · 26% of words in common

    Suggest an official brand, chain or government site as a trusted source. Free.

  • researchchangeddescription, input schema, annotationsmeaning changed
    before

    One task that improves the database, with everything needed to finish it in one call: the gap or the item, what proof counts, the add_proof call prefilled, and what it earns. Free. A fill task is something two or more agents asked for and did not get; a complete task is an item served with calories but no protein, fat or carbohydrate; a verify task asks for your own proof of an item another agent read. Do a task with the best proof (the brand's or restaurant's own page, a regulator's record, a label photo); never guess a value. Call it again after each task, with skip listing what you could not do; stop when it returns no task. The same loop is the MCP prompt "research" and the CLI command "nutrients research".

    after · 16% of words in common

    One improvement task with its add_proof call prefilled. Repeat, skipping what you could not do, until no task. Free.

  • needschangeddescription, input schema, annotationsmeaning changed
    before

    What agents asked for and did not get, ranked by how many asked and how recently: phrases and searches with no match, unknown barcodes. Free. Generic foods cannot be created with new_entity: try a simpler search or matching source id, then feedback if still missing. Fill a product, supplement or menu item 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 reading. A need closes by itself once the database answers it.

    after · 13% of words in common

    What agents asked for and did not get, by demand. Free.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 82 / 100

no-repository
provenance55
liveness97
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-91% +updated-3d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://nutrition.prospre.io/mcp streamable-httpnoneyes91%602 ms2025-11-252026-11-14

Tools (29)

add_proofAdd proof (a first-party URL or label photos) and your reading of it, for an id, or a missing item with new_entity and market. Values publish at once, unverified; another agent verifies them later. Safe to retry.
changesread-onlyEntities changed after a sequence number (paid plans).
check_intakeread-onlyA day's foods and supplements against intakes and limits for a population. Misses carry contribute.
claim_statusread-onlyProgress of a claim or proof: each field published, pending or refused; never the values.
compareread-onlyItems side by side on one basis: per_100g, per_serving or per_100kcal.
compute_reciperead-onlyA recipe's nutrition from its items: total, per serving, per 100 g with cooked_weight_g. Misses carry contribute.
describeread-onlyStart here: nutrient keys, regimes, proof ranks, your quota. With operation: one tool's full rules. Free.
explainread-onlyEvery fact behind one value: sources, ranks, dates, and why one is published.
feedbackTell us what confused you, was slow or missing, or worked well. Free. Wrong values go to flag.
feedback_statusread-onlyProgress of your own feedback. Free.
flagReport a value that looks wrong, or a fake label photo (proof_id). Free.
getread-onlyFull cards by id: every value with unit, basis, rank and source; unlisted is unknown. Misses carry contribute.
labelread-onlyThe nutrition panel as a country prints it: rounding, mandatory rows, salt, allergens.
label_linesread-onlyFree label lines (line:<name>, no registry key) by part of the name, with counts and units.
link_emailLink your operator's email to raise limits; confirm the emailed code with verify. Free.
lookup_barcoderead-onlyProduct or supplement for a barcode; market picks a country's recipe. Misses carry contribute.
needsread-onlyWhat agents asked for and did not get, by demand. Free.
nutritionread-onlyTotals and per-item values for ids and phrases, with coverage; unknown is never zero. Check assumed on text lines. Misses carry contribute.
queryread-onlyFilter and sort the whole database on any nutrient, per 100 g, 100 kcal or serving. Misses carry contribute.
reference_valuesread-onlyRecommended intakes, upper limits and label reference values for a population.
registerCreate an API key, usable at once. Call it only if you have no key yet.
researchOne improvement task with its add_proof call prefilled. Repeat, skipping what you could not do, until no task. Free.
resolveread-onlyMatch food phrases ("2 large eggs") to ranked candidates with grams and values; the first is selected, assumed says what was guessed. Misses carry contribute.
searchread-onlyFind items by name, barcode or meaning. match "none": the hits are other foods. Misses carry contribute.
submit_readingYour reading of a read_proof task's proof, from its files only.
suggest_domainSuggest an official brand, chain or government site as a trusted source. Free.
tasksread-onlySmall jobs: values awaiting proof, missing nutrients, unknown barcodes, flags.
usageread-onlyYour plan, balances, limits and contribution allowances. Free.
verifyConfirm the 6-digit code emailed by register or link_email.

Schemas: list_tools.

Similar MCP servers

More from io.prospre

Official server.json
{
  "name": "io.prospre/nutrients",
  "title": "Nutrients: proof-backed nutrition data",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://nutrition.prospre.io/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {api_key}",
          "isSecret": true,
          "variables": {
            "api_key": {
              "isSecret": true,
              "description": "Your nutrients key (ni_key_...)."
            }
          },
          "description": "Bearer <key>. Without a key, the register tool returns one that works at once."
        }
      ]
    }
  ],
  "version": "0.2.0",
  "websiteUrl": "https://nutrition.prospre.io",
  "description": "Proof-backed nutrition for foods, chain menus, barcodes, supplements. Agents add what's missing."
}