← Back to all apps

Overview

Tools Available2

Generate meal plans, recipes, and personalized nutrition guidance

Available Tools

MyFitnessPal provides 2 tools that can be used to interact with its services.

Calculate Nutrition Goals

calculate-goals
Full Description

Calculates personalized daily calorie and macronutrient targets based on biometric data and fitness goals. Returns daily calorie target adjusted for weight goal (lose/maintain/gain), macro breakdown (protein, carbs, fat in grams), meal-specific targets for breakfast/lunch/dinner, and TDEE.

Requires age, sex (male or female), height (with unit: inches or cm), weight (with unit: lb or kg), activity level (sedentary/lightly_active/moderately_active/very_active/extremely_active), and weight goal. If weight goal is not explicitly stated, ask whether they want to lose, maintain, or gain weight - do not assume 'maintain'. Optional: diet speed (slow/moderate/aggressive, defaults to moderate) and dietary approach (keto, vegan, paleo, highProtein, etc.).

The calculated goals can be used by search-recipes to filter recipes matching the user's nutritional targets.

Parameters

Required
activity_levelstring

Activity level: sedentary, lightly active, moderately active, very active, or extremely active. When asking the user, present options with spaces (e.g., 'lightly active', not 'lightly_active'). Examples: sedentary for little/no exercise, lightly active for 1-3 days/week, moderately active for 3-5 days/week, very active for daily exercise, extremely active for athletes with intense training.

Options:sedentarylightly_activemoderately_activevery_activeextremely_active
ageinteger

Age in years (must be 18 or older)

heightnumber

Height value

height_unitstring

Height unit: inches or cm

Options:inchescm
sexstring

Biological sex: male or female. Required for accurate BMR calculation.

Options:malefemale
weightnumber

Current weight value

weight_goalstring

Weight goal: 'lose' for weight loss, 'maintain' to stay current weight, 'gain' for muscle/weight gain. REQUIRED - if user hasn't explicitly stated their goal, ask them directly before calling this tool.

Options:losemaintaingain
weight_unitstring

Weight unit: lb or kg

Options:lbkg
Optional
approachstring

Dietary approach (optional): omnivore, high carb, keto, pescatarian, flexitarian, vegetarian, vegan, paleo, clean eating, mediterranean, or high protein. When asking the user, present as natural language (e.g., 'high protein', not 'highProtein'). Defaults to balanced macros if not specified.

Default: null
diet_speedstring

Diet speed (optional): slow (0.5 lb/week, sustainable), moderate (1 lb/week, balanced), aggressive (1.5 lb/week, requires discipline)

Default: null

Search Recipes

search-recipes
Full Description

Searches 1500+ recipes with nutrition information and returns an interactive widget with photos, ingredients, instructions, and nutrition facts. Filter by keywords (specific ingredients like 'chicken', 'salmon' - not generic terms), meal type (breakfast/lunch/dinner), recipe type (salad, soup, pasta, taco, burger, sandwich, pizza, etc.), dietary approach (keto, vegan, paleo, high protein), nutrition ranges (calories, protein, carbs, fat per serving), cuisines, allergens (dairy, egg, fish, gluten, etc.), ingredient dislikes (onions, mushrooms, etc.), or cooking time.

Can also modify recipe serving sizes when recipe_id is provided. Use recipe_id from widgetState.selectedRecipeId when user says 'adjust this recipe', 'make this for 6 people', or 'double this' while viewing a recipe in fullscreen.

The widget displays all recipe details automatically. List recipe names only in your response - do not offer to show ingredients or nutrition information as the widget already displays everything. The tool's content field includes a follow-up question about calculating nutrition goals - include it in your response.

Parameters

Optional
allergiesarray

Allergens to exclude: dairy, egg, fish, shellfish, peanut, treenut, gluten, soy, sesame

Default: null
approachstring

Dietary approach: carb, keto, pesc, veg, vegan, paleo, clean, highProtein

Default: null
calorie_rangeobject

Min/max calories per serving. When user has calculated goals, use daily_calories/3 for meal target ± 20%. Example: {'min': 400, 'max': 700}

Default: null
carb_rangeobject

Min/max net carbs grams per serving. Use calculated meal carb target ± 20%

Default: null
cuisine_dislikearray

Cuisines to avoid

Default: null
cuisine_targetarray

Desired cuisines: chinese, italian, mexican, thai, asian, vietnamese, spanish, korean, mediterranean, etc.

Default: null
dislikesarray

Specific ingredients to avoid (e.g., ['onions', 'mushrooms'])

Default: null
fat_rangeobject

Min/max fat grams per serving. Use calculated meal fat target ± 20%

Default: null
keywordsarray

List of keywords ONLY if user specifies specific ingredients/foods (e.g., ['chicken'], ['salmon']). Leave empty for general searches like 'dinner recipes' or 'healthy meals'.

Default: null
max_resultsinteger

Maximum number of recipes to return

Default: 5
max_timeinteger

Maximum cook time in minutes

Default: null
meal_typearray

Meal types: breakfast, lunch, dinner

Default: null
protein_rangeobject

Min/max protein grams per serving. Use calculated meal protein target ± 20%

Default: null
recipe_idstring

Recipe ID to modify servings for. ChatGPT should infer this from widgetState.selectedRecipeId when user says 'adjust this recipe', 'make this for 6 people', 'double this', etc. while viewing a recipe in fullscreen mode.

Default: null
recipe_type_dislikearray

Recipe types to avoid: bagel, toast, smoothie, etc.

Default: null
recipe_type_targetarray

Desired recipe types: salad, soup, pasta, taco, burger, sandwich, stir-fry, pizza, bowl, wrap, smoothie, etc.

Default: null
servingsinteger

New serving count to scale the recipe to (1-20). Only used when recipe_id is provided.

Default: null