MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

Nutrition MCP

USDA FoodData Central nutrition data: search foods, compare macros, and analyze meals.

Checks passed
15 / 22

0 failed · 7 not measured

Median response
555 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
14

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
103
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 566 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name nutrition.

  • Pass
    Lists tools

    tools/list returned 14 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 555 ms over 2 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 565 ms over 2 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    2 of 2 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Pass
    Stable tool list

    No tool was removed and no required parameter was added in the last 30 days.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    32 of 32 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Not measured
    Website matches publisher

    This namespace is not a reverse domain, so the website comparison does not apply.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Pass
    Repo owner matches

    The GitHub repository owner matches the namespace login.

  • Pass
    Recently updated

    Updated 2026-11-10T16:09:59.129261Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using Nutrition MCP

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http nutrition-mcp https://docuslide-mcp-production.up.railway.app/mcp

Capabilities

Tools 14

analyze_meal

Totals nutrients across several foods and assesses the meal. assessment.shortfalls lists missed targets, worst first, and assessment.over_limit lists exceeded limits. not_reported lists nutrients with no data in the food records; those are unknown, not zero. failed lists items left out of the total, and partial is true when there are any.

Discovered
analyze_plan

Analyzes a multi-day meal plan and assesses its daily average. Every ingredient is resolved and converted, then totaled by dish, meal, and day, up to 400 ingredients. The assessment is of the daily average, not the multi-day sum. per_day has each day's totals, shopping_list totals ingredients at full recipe quantities, and failed lists ingredients missing from the totals. The detail breakdown is large for a full week.

Discovered
analyze_recipe

Totals one dish from its ingredient list and reports it per serving. Ingredient quantities are for the whole dish, as a recipe states them. per_serving divides by servings, whole_recipe holds the undivided totals, and the assessment covers one serving.

Discovered
clear_profile

Deletes this conversation's profile so assessments use the FDA food-label values. cleared is false when no profile was set.

Discovered
compare_foods

Puts several foods side by side at the same serving weight. highest_per_nutrient names the food with the most of each nutrient. failed lists ids that could not be loaded, and partial is true when the comparison is missing some of them.

Discovered
database_status

Reports whether the local USDA database is built and what it holds. The result counts foods by dataset and records with an ingredient statement.

Discovered
find_foods_by_nutrient

Ranks foods by how much of one nutrient they carry per 100 g. The default list is lab-measured foods. Branded products are included only when data_type is Branded. Amounts that cannot fit in 100 g, and potassium above the potassium-chloride ceiling, are left out. Per-100 g ranking favors foods eaten in small amounts, such as spices and dried herbs; the category filter narrows the list to one food group. Results are paged, and pagination.next_offset is null on the last page.

Discovered
get_food_nutrition

Returns the nutrient breakdown for one food at a serving weight. The result has macros, micronutrients, an assessment against daily targets, USDA's verbatim ingredient statement when available, and common portion sizes with their gram weights. ingredients_available is false when USDA supplied no ingredient statement, which does not mean the food has no ingredients. assessment.basis is personal_dri when a profile is set and fda_label_dv otherwise.

Discovered
get_profile

Returns this conversation's profile and the daily targets it resolves to. profile is null when none is set, and assessments then use the FDA food-label daily values.

Discovered
list_retailers

Lists configured retailers and the commerce capabilities each supports. A retailer with integration_mode link_handoff supports product links only; no account, cart, checkout, or order is created for it.

Discovered
prepare_retailer_handoff

Packages exact retailer products into links for the user to open. The handoff repeats the products, links, and quantities with the original request. It does not contact the retailer, change a cart, or check out.

Discovered
resolve_ingredients

Matches ingredient names to FoodData Central foods and converts portions to grams. Portions such as 2 tbsp, 1/2 cup, or 1 medium are converted with each food's own measured portions, so 1 cup differs for spinach and olive oil. Repeated ingredients are looked up once. method says how each portion was converted. Ingredients that could not be converted are listed under unresolved with the portions that food supports, and alternatives lists runner-up matches with their fdc_id. Bare names such as rice or beans match many records; names with the cooked state, such as cooked white rice, match more precisely. About a fifth of USDA foods have a portion table.

Discovered
search_foods

Searches USDA FoodData Central by food name. Each match has an fdc_id, its dataset, key macros per 100 g, and, for branded products, USDA's verbatim ingredient statement. ingredients_available is false when USDA supplied no ingredient statement for that record. Results are paged, and pagination.next_offset is null on the last page.

Discovered
set_profile

Stores a profile for this conversation so assessments use Dietary Reference Intakes. Age- and sex-specific U.S. Dietary Reference Intakes replace the generic food-label values. The result lists the resolved daily targets and limits. The profile is held in memory for the conversation, replaces any earlier profile, and is not written to disk.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected566 ms14
Connected544 ms14