Food & Nutrition
Server Details
Food and nutrition data: search, macros, and comparisons
- Status
- Healthy
- Uptime
- 99.8% over 38 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 3 tools
Each tool serves a distinct purpose: searching for foods, retrieving full nutrition by ID, and comparing multiple foods. There is no overlap in functionality.
All tool names follow a consistent verb_noun pattern with lowercase and underscores: search_food, get_nutrition, compare_foods.
Three tools is a minimal but reasonable set for a focused nutrition server covering search, detail, and comparison. The scope is narrow, so the count is appropriate.
Core operations are covered (search, retrieve, compare), but the compare tool is limited to protein and calorie density, missing other nutrient comparisons. Minor gap.
Available Tools
3 toolscompare_foodsAInspect
Compare nutrition profiles of multiple foods side-by-side. Identifies winners by protein and calorie density.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Comma-separated USDA FDC IDs (e.g. "173950,2187885,1103516") | 173950,2187885,1103516 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It adds context about the output behavior (identifies winners by protein and calorie density) but does not explicitly disclose read-only nature, error handling, or return format. Some value is added, but gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise, front-loaded sentences with no wasted words. It efficiently states the primary function and a key behavioral outcome.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description covers the essential purpose and output (identifying winners). It could be more explicit about the return format or prerequisites (e.g., needing at least two IDs), but given the simplicity and clear schema, it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the 'ids' parameter is fully described). The description does not add any additional meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Compare') and resource ('nutrition profiles of multiple foods'), clearly distinguishing it from siblings like get_nutrition (single food) and search_food (search). It also highlights the unique outcome of identifying winners by protein and calorie density.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: use this tool when you want to compare multiple foods side-by-side. However, it does not explicitly state when not to use it or name alternatives, leaving the distinction to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_nutritionAInspect
Get full nutrition profile for a specific food by USDA FDC ID. Returns macros, vitamins, and minerals.
| Name | Required | Description | Default |
|---|---|---|---|
| fdc_id | No | USDA FoodData Central ID (e.g. 173950 = avocado raw) | 173950 |
| format | No | abridged or full | abridged |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description itself must disclose behavior. It states that the tool returns macros, vitamins, and minerals, which is the core behavior, but it does not mention limitations, error handling, or data freshness. For a simple read operation, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence, front-loaded with the primary purpose, and contains no redundant or filler text. Every word contributes to understanding what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two well-documented parameters and no output schema, the description sufficiently covers the return content (macros, vitamins, minerals). It could mention alternatives or more details on the 'full' vs 'abridged' format, but the schema fills that gap, making this adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% descriptive coverage for both parameters (fdc_id with example, format with allowed values). The description does not add extra semantic meaning beyond what the schema gives, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific verb 'Get' and resource 'full nutrition profile for a specific food by USDA FDC ID'. It clearly distinguishes from sibling tools like search_food (which searches) and compare_foods (which compares) by focusing on a single food identified by a known ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a USDA FDC ID and want detailed nutrition data, providing clear context. However, it does not explicitly mention when not to use this tool or name alternatives, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_foodBInspect
Search USDA FoodData Central for foods by name. Returns nutrition macros for matching foods.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Food name to search (e.g. "chicken breast", "avocado") | chicken breast |
| brand | No | Filter by brand owner | |
| limit | No | Number of results (max 25) | |
| dataType | No | Filter by data type: Foundation, SR Legacy, Survey (FNDDS), Branded |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. 'Search' clearly indicates a read-only operation, and 'Returns nutrition macros' explains the outcome. However, it lacks details on result pagination, ordering, rate limits, or whether it returns multiple matches vs a single item. The behavior is basic but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the main verb and resource. Every word earns its place, with no redundancy or fluff. It is highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description should clarify what the tool returns. It states 'nutrition macros' but not the specific structure (e.g., a list, fields like calories/protein). It also doesn't mention defaults or the search behavior (matches vs exact). The schema covers inputs well, but the output description is vague, leaving the tool incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage with descriptions for all four parameters. The description adds only the phrase 'by name', which loosely maps to the 'q' parameter but adds no new meaning beyond the schema. Therefore, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'USDA FoodData Central' with the scope 'by name'. It also notes the primary output (nutrition macros). However, it does not explicitly differentiate itself from sibling tools like get_nutrition, which also deals with nutrition data, so it lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs alternatives. It does not mention compare_foods or get_nutrition, nor any prerequisite or context like 'use this to find foods before getting nutrition details'. There is no when/when-not language, so it offers no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
compare_foods - First observed
get_nutrition - First observed
search_food
Related MCP Connectors
Barcode lookup, nutrition search, and product comparison for 3M+ crowd-sourced food products.
USDA FoodData Central nutrition data: search foods, compare macros, and analyze meals.
Search foods, compare nutrients, and look up the full USDA FoodData Central database.
Log meals, check calories and macros, set up a nutrition plan, and search foods.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables natural language access to USDA's FoodData Central database with 1M+ foods, supporting search, nutrition facts, food comparison, and daily value calculations.8MIT
- AlicenseAqualityBmaintenanceEnables deterministic recipe and portion math with USDA-sourced macros, gram conversions, cooked yields, and per-eater portions.12MIT
- FlicenseNot gradedqualityDmaintenanceProvides intelligent access to the USDA nutrition database through AI assistants, enabling users to search foods, compare nutritional content, find foods high in specific nutrients, and query authoritative nutrition data across 7,146+ food items through natural language.1-
- FlicenseNot gradedqualityCmaintenanceProvides access to Taiwan packaged food and chain restaurant nutritional information, including search, nutrition calculation, and draft creation for new data.-
Glama MCP Gateway
Add one secure layer between your agents and this server.