Tool tree
gradeNot graded
search_productsAnswer
Search the product catalog — returns all available WebMCP tools in the application.
View tool JSON
{
"name": "search_products",
"kind": "answer",
"impl": "imperative",
"description": "Search the product catalog — returns all available WebMCP tools in the application.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional search query to filter tools."
}
}
},
"page": "/"
}get_app_guideAnswer
Returns workflow instructions and policies for this app. Call this first to understand how to use other tools.
View tool JSON
{
"name": "get_app_guide",
"kind": "answer",
"impl": "imperative",
"description": "Returns workflow instructions and policies for this app. Call this first to understand how to use other tools.",
"inputSchema": {
"type": "object",
"properties": {
"topic": {
"type": "string",
"enum": [
"overview",
"log_meal",
"analyze_photo",
"daily_review",
"progress_review",
"correct_meal",
"privacy"
],
"description": "Which workflow or topic to get guidance for."
}
},
"required": [
"topic"
]
},
"page": "/"
}get_workflow_statusAnswer
Returns the current state of a workflow — pending captures, draft IDs, and the recommended next tool to call.
View tool JSON
{
"name": "get_workflow_status",
"kind": "answer",
"impl": "imperative",
"description": "Returns the current state of a workflow — pending captures, draft IDs, and the recommended next tool to call.",
"inputSchema": {
"type": "object",
"properties": {
"workflow": {
"type": "string",
"enum": [
"log_meal",
"daily_review",
"progress_review"
],
"description": "Which workflow to check."
}
},
"required": [
"workflow"
]
},
"page": "/"
}get_user_contextAnswer
Returns user preferences, locale, timezone, and nutrition targets needed for calculations.
View tool JSON
{
"name": "get_user_context",
"kind": "answer",
"impl": "imperative",
"description": "Returns user preferences, locale, timezone, and nutrition targets needed for calculations.",
"inputSchema": {
"type": "object",
"properties": {
"includeBodyMetrics": {
"type": "boolean",
"description": "If true, includes height and weight (sensitive — only request if needed)."
}
}
},
"page": "/"
}create_meal_draftAction
Creates and logs a meal directly from your analysis into daily intake.
View tool JSON
{
"name": "create_meal_draft",
"kind": "act",
"impl": "imperative",
"description": "Creates and logs a meal directly from your analysis into daily intake.",
"inputSchema": {
"type": "object",
"properties": {
"captureId": {
"type": "string",
"description": "Optional correlation ID from get_pending_photo_context."
},
"eatenAt": {
"type": "string",
"description": "ISO timestamp when meal was eaten (UTC)."
},
"mealType": {
"type": "string",
"enum": [
"breakfast",
"lunch",
"dinner",
"snack"
]
},
"title": {
"type": "string",
"description": "Meal name, 1-80 characters."
},
"items": {
"type": "array",
"description": "Food items with nutrition per entered quantity (not per 100g).",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"quantity": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"g",
"ml",
"oz",
"piece",
"serving",
"cup",
"tbsp",
"tsp"
]
},
"grams": {
"type": "number",
"description": "Weight in grams if known."
},
"nutrition": {
"type": "object",
"properties": {
"caloriesKcal": {
"type": "number"
},
"proteinG": {
"type": "number"
},
"carbsG": {
"type": "number"
},
"fatG": {
"type": "number"
},
"fiberG": {
"type": "number"
}
},
"required": [
"caloriesKcal",
"proteinG",
"carbsG",
"fatG"
]
},
"confidence": {
"type": "number",
"description": "0.0-1.0 confidence in this estimate."
},
"estimationNotes": {
"type": "string",
"description": "Explain how you estimated this item."
}
},
"required": [
"name",
"quantity",
"unit",
"nutrition"
]
},
"minItems": 1,
"maxItems": 30
},
"overallConfidence": {
"type": "number",
"description": "Overall confidence 0-1."
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "List assumptions made in your analysis."
}
},
"required": [
"eatenAt",
"mealType",
"title",
"items"
]
},
"page": "/"
}update_meal_draftAction
Updates or corrects a logged meal entry or draft by ID with updated items or attributes.
View tool JSON
{
"name": "update_meal_draft",
"kind": "act",
"impl": "imperative",
"description": "Updates or corrects a logged meal entry or draft by ID with updated items or attributes.",
"inputSchema": {
"type": "object",
"properties": {
"mealId": {
"type": "string",
"description": "ID of the meal entry or draft to update."
},
"title": {
"type": "string"
},
"mealType": {
"type": "string",
"enum": [
"breakfast",
"lunch",
"dinner",
"snack"
]
},
"eatenAt": {
"type": "string"
},
"items": {
"type": "array",
"description": "Updated list of food items."
}
},
"required": [
"mealId"
]
},
"page": "/"
}get_mealAnswer
Retrieves one confirmed meal by ID, with its items and nutrition.
View tool JSON
{
"name": "get_meal",
"kind": "answer",
"impl": "imperative",
"description": "Retrieves one confirmed meal by ID, with its items and nutrition.",
"inputSchema": {
"type": "object",
"properties": {
"mealId": {
"type": "string",
"description": "ID of the meal."
}
},
"required": [
"mealId"
]
},
"page": "/"
}list_mealsAnswer
Returns a bounded list of confirmed meals in a date range. Maximum 31-day range.
View tool JSON
{
"name": "list_meals",
"kind": "answer",
"impl": "imperative",
"description": "Returns a bounded list of confirmed meals in a date range. Maximum 31-day range.",
"inputSchema": {
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Start local date (YYYY-MM-DD)."
},
"to": {
"type": "string",
"description": "End local date (YYYY-MM-DD)."
},
"mealType": {
"type": "string",
"enum": [
"breakfast",
"lunch",
"dinner",
"snack"
]
},
"limit": {
"type": "number",
"description": "Max results, default 20, max 50."
},
"cursor": {
"type": "string",
"description": "Pagination cursor (meal ID)."
}
},
"required": [
"from",
"to"
]
},
"page": "/"
}delete_mealSensitive Action
Deletes a confirmed meal. Requires userConfirmed: true.
View tool JSON
{
"name": "delete_meal",
"kind": "transact",
"impl": "imperative",
"description": "Deletes a confirmed meal. Requires userConfirmed: true.",
"inputSchema": {
"type": "object",
"properties": {
"mealId": {
"type": "string"
},
"userConfirmed": {
"type": "boolean",
"description": "Must be true after user confirms deletion."
}
},
"required": [
"mealId",
"userConfirmed"
]
},
"page": "/"
}find_frequent_mealsAnswer
Returns frequently logged meals, ranked by count and recency. Use to suggest meals from memory.
View tool JSON
{
"name": "find_frequent_meals",
"kind": "answer",
"impl": "imperative",
"description": "Returns frequently logged meals, ranked by count and recency. Use to suggest meals from memory.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional search query to filter by food name."
},
"limit": {
"type": "number",
"description": "Max results, default 5, max 10."
}
}
},
"page": "/"
}repeat_mealAction
Copies a previous confirmed meal to a new timestamp. Requires userConfirmed: true.
View tool JSON
{
"name": "repeat_meal",
"kind": "act",
"impl": "imperative",
"description": "Copies a previous confirmed meal to a new timestamp. Requires userConfirmed: true.",
"inputSchema": {
"type": "object",
"properties": {
"sourceMealId": {
"type": "string",
"description": "ID of the meal to copy."
},
"eatenAt": {
"type": "string",
"description": "UTC ISO timestamp for the new meal."
},
"mealType": {
"type": "string",
"enum": [
"breakfast",
"lunch",
"dinner",
"snack"
]
},
"userConfirmed": {
"type": "boolean"
}
},
"required": [
"sourceMealId",
"eatenAt",
"userConfirmed"
]
},
"page": "/"
}get_daily_summaryAnswer
Returns calories, macros, and hydration consumed vs target for a date. Defaults to today.
View tool JSON
{
"name": "get_daily_summary",
"kind": "answer",
"impl": "imperative",
"description": "Returns calories, macros, and hydration consumed vs target for a date. Defaults to today.",
"inputSchema": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Local date YYYY-MM-DD. Defaults to today."
}
}
},
"page": "/"
}get_progress_reportAnswer
Returns nutrition and weight trend data with summary facts. Max 366 days. At least 3 data points required for trend statements.
View tool JSON
{
"name": "get_progress_report",
"kind": "answer",
"impl": "imperative",
"description": "Returns nutrition and weight trend data with summary facts. Max 366 days. At least 3 data points required for trend statements.",
"inputSchema": {
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Start local date YYYY-MM-DD."
},
"to": {
"type": "string",
"description": "End local date YYYY-MM-DD."
},
"metrics": {
"type": "array",
"items": {
"type": "string",
"enum": [
"calories",
"protein",
"carbs",
"fat",
"fiber",
"water",
"weight"
]
},
"description": "Which metrics to include."
},
"granularity": {
"type": "string",
"enum": [
"day",
"week"
],
"description": "Data point granularity."
}
},
"required": [
"from",
"to",
"metrics"
]
},
"page": "/"
}log_weightAction
Records a weigh-in. Converts to kg internally. Requires userConfirmed: true.
View tool JSON
{
"name": "log_weight",
"kind": "act",
"impl": "imperative",
"description": "Records a weigh-in. Converts to kg internally. Requires userConfirmed: true.",
"inputSchema": {
"type": "object",
"properties": {
"weight": {
"type": "number",
"description": "Weight value."
},
"unit": {
"type": "string",
"enum": [
"kg",
"lb"
]
},
"recordedAt": {
"type": "string",
"description": "UTC ISO timestamp. Defaults to now."
},
"note": {
"type": "string",
"description": "Optional note."
},
"userConfirmed": {
"type": "boolean"
}
},
"required": [
"weight",
"unit",
"userConfirmed"
]
},
"page": "/"
}get_weight_progressAnswer
Returns weigh-ins, 7-day moving average, and weight change for a date range.
View tool JSON
{
"name": "get_weight_progress",
"kind": "answer",
"impl": "imperative",
"description": "Returns weigh-ins, 7-day moving average, and weight change for a date range.",
"inputSchema": {
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Start local date."
},
"to": {
"type": "string",
"description": "End local date."
},
"includeNotes": {
"type": "boolean",
"description": "Include notes (untrusted content)."
}
},
"required": [
"from",
"to"
]
},
"page": "/"
}log_waterAction
Records water consumption. Converts to ml internally. Small amounts committed directly.
View tool JSON
{
"name": "log_water",
"kind": "act",
"impl": "imperative",
"description": "Records water consumption. Converts to ml internally. Small amounts committed directly.",
"inputSchema": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"description": "Amount of water consumed."
},
"unit": {
"type": "string",
"enum": [
"ml",
"l",
"fl_oz",
"cup"
]
},
"recordedAt": {
"type": "string",
"description": "UTC ISO timestamp. Defaults to now."
}
},
"required": [
"amount",
"unit"
]
},
"page": "/"
}get_hydration_summaryAnswer
Returns daily water consumed, target, and recent entry times.
View tool JSON
{
"name": "get_hydration_summary",
"kind": "answer",
"impl": "imperative",
"description": "Returns daily water consumed, target, and recent entry times.",
"inputSchema": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Local date YYYY-MM-DD. Defaults to today."
}
}
},
"page": "/"
}