This MCP server has solid foundational structure with 8 well-defined tools covering calorie tracking, weight tracking, and settings management. Tool names follow verb_noun conventions correctly (add_meals, list_meals, delete_meal, view_weight_progress, etc.). Descriptions are present for all tools and most parameters. However, there are systematic gaps: (1) output schemas are not documented anywhere in the codebase, tools return results but the response structure is not specified for the LLM; (2) parameter descriptions vary in quality, with some being generic ('Number of meals to return') and others omitting usage context; (3) error handling guidance is absent, tools do not indicate what errors are retryable or how to recover; (4) no confirmation pattern for destructive operations like delete_meal; (5) input validation descriptions are incomplete (e.g., timezone accepts any string without examples or valid values). The server demonstrates good naming discipline and parameter structure with JSON Schema, but falls short on the documentation and error guidance expected of production-grade tools.
Add one or more meal entries to the calorie tracker
Add one or more weight entries to the calorie tracker with required timestamps. Updates existing entries for the same date.
Delete a meal entry by its ID
Retrieve current user settings including timezone and metabolic rate
List recent meal entries with their IDs
Update user settings like timezone and metabolic rate
View calorie and macro intake for a specified date range with daily summaries
Output schemas not documented. Tools return data but the response structure (fields, types, pagination) is not specified anywhere. LLMs cannot plan downstream calls or know what fields to extract without documented output schemas.
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the agent should do if a call fails. Example: delete_meal could fail if mealId is invalid, but no recovery path is provided.
Destructive operation (delete_meal) lacks confirmation pattern. No dry-run, explicit confirmation step, or warning. Agents can irreversibly delete meals without safeguards.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 52 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 16 | 2025-03-26+ | v1 |
View weight progress over a specified date range
Parameter timezone in update_user_settings accepts any string with no enumeration of valid values or format guidance. Should include enum of common timezones or validation pattern.
view_calorie_intake and view_weight_progress lack pagination or result limit documentation. If a user requests 365 days of data, response size is unbounded, could exhaust context window.
Parameter descriptions are generic and lack context. E.g., list_meals says 'Number of meals to return' but does not explain sort order, which meals are included, or what fields the LLM should expect in the response.
delete_meal description does not state that the operation is destructive and irreversible. LLMs should know this has side effects and cannot be safely retried without checking.