client_ai_nutrition module lets a client’s AI assistant review the
client’s own daily nutrition logs, search the nutrition catalog for food
products and recipes, and log consumed food. Client AI tools are
subject-bound: every call resolves to the authenticated client
(subjectClientId) and can never touch another client’s nutrition data. The
module is available only when the company MCP integration feature is enabled,
client AI access is enabled for the client-company relationship, the company’s
client MCP policy allows the module (write tools additionally require the
company policy to allow them), and the client has granted health data consent.
Available Tools
client_ai_get_my_nutrition_day
Retrieve full slot and meal-item details for one of my calendar days.
- Type: Read-only
- Important Input Fields:
dayId(string, required): The unique day ID.
client_ai_list_my_nutrition_days
Retrieve a list of my daily logged nutrition details (intake totals and adherence).
- Type: Read-only
- Important Input Fields:
startDate(string, optional):YYYY-MM-DDinclusive lower bound.endDate(string, optional):YYYY-MM-DDinclusive upper bound.page(integer, optional): Page number for pagination.limit(integer, optional): Maximum number of items per page, max 50.
client_ai_search_food_products
Search the nutrition catalog for food products across databases.
- Type: Read-only
- Important Input Fields:
query(string, optional): Search query string matched against name or barcode. Max 200 chars.excludedAllergenKeys(array of strings, optional): Allergen keys to exclude (e.g. gluten, peanuts). Max 20 items.page(integer, optional): Page number for pagination, starting at 1.limit(integer, optional): Number of food products per page, max 50.
client_ai_search_recipes
Search recipes across modern and legacy catalogs. Returns a paginated list.
- Type: Read-only
- Important Input Fields:
query(string, optional): Search query string matched against name/title. Max 200 chars.page(integer, optional): Page number for pagination, starting at 1.limit(integer, optional): Number of recipes per page, max 50.
client_ai_log_my_food Write
Logs a consumed food item or recipe for myself. Resolves catalog items by name or uses exact ID, normalizing eatenAt date-times and checking consents. If multiple catalog items or portions match, the tool returns an ambiguous response with candidates instead of logging.
- Type: Write
- Important Input Fields:
foodName(string, optional): Plain-language food or recipe name (e.g.banana). Required ifitemIdis not specified. Max 128 chars.itemId(string, optional): Exact catalog item ID. If provided,itemTypemust also be specified.itemType(string, optional): Exact item type, one ofFoodProductorRecipe. Required ifitemIdis specified.amount(number, optional): The quantity consumed (e.g. 1.5, 100). Defaults to 1.unit(string, optional): The unit of measurement, one ofg,ml,serving,portion. Defaults toserving.portionName(string, optional): Name of the portion size used (e.g.piece,bowl,slice) when unit isportionorserving. Max 64 chars.eatenAt(string, optional): ISO 8601 UTC date-time string when consumed. Defaults to now.slotKey(string, optional): Target slot key for V2 (e.g.breakfast,lunch,dinner,snack). Defaults tomanual_log.momentName(string, optional): Legacy V1 moment name, one ofbreakfast,snackAfterBreakfast,lunch,snackAfterLunch,dinner,snackAfterDinner.
Natural Language Examples
- “Log a banana for breakfast.”
- “How many calories have I eaten today?”
- “Find me a high-protein recipe without peanuts.”
- “I just had 150 g of Greek yogurt as a snack.”