Agent de IA para n8n que genera planes nutricionales personalizados basados en el perfil del usuario, sus objetivos, y los alimentos disponibles en la base de datos.
meal_plans_agent/
├── README.md # Este archivo - Overview general
├── system_prompt.md # Prompt del sistema con toda la lógica del agente
├── user_prompt_template.md # Template del prompt del usuario
├── tools_specification.md # Especificación detallada de cada tool con ejemplos
├── api_endpoints.md # Documentación de endpoints del backend
└── n8n_setup_guide.md # Guía para configurar el agente en n8n
Este agente crea planes de alimentación personalizados que:
- Calculan requerimientos calóricos y macro nutricionales basados en perfil del usuario
- Distribuyen macros inteligentemente entre comidas (desayuno, almuerzo, cena, snacks)
- Respetan preferencias alimenticias, alergias, intolerancias y restricciones dietéticas
- Priorizan alimentos locales de Santiago de los Caballeros
- Varían los alimentos a lo largo de la semana para evitar monotonía
- Se crean progresivamente (día por día) para evitar timeouts y mostrar progreso en la app
El agente necesita los siguientes tools conectados a tu backend:
- getUserProfile - Obtiene perfil completo del usuario
- calculateDailyMacros - Calcula requerimientos nutricionales diarios
- getFoodCategories - Lista categorías de alimentos
- searchFoodsByCategory - Busca alimentos por categoría con filtros
- getUserFoodPreferences - Obtiene preferencias alimenticias del usuario
- createNutritionPlan - Crea el plan nutricional base
- createMealPlanDay - Crea un día completo del plan con todas sus comidas
- updateMealPlanProgress - Actualiza el progreso de generación del plan
1. Usuario solicita plan → userId + semanas
2. Agente obtiene perfil del usuario
3. Calcula macros diarios (TDEE, distribución)
4. Obtiene categorías de alimentos
5. Obtiene preferencias del usuario
6. Crea nutrition_plan en BD
7. Para cada día (1-7 * semanas):
a. Selecciona alimentos para cada comida
b. Ajusta porciones para cumplir macros
c. Crea meal_plan + meal_plan_foods en BD
d. Actualiza progreso
8. Retorna plan completado
- Cálculo automático: BMR, TDEE, déficit/superávit según objetivo
- Distribución inteligente: Macros distribuidos según tipo de comida
- Variedad garantizada: Tracking de alimentos usados para evitar repetición
- Preferencias respetadas: Excluye alergias, intolerancias y alimentos no deseados
- Prioridad local: Favorece alimentos disponibles en RD
- Progreso visible: Creación día por día para feedback en tiempo real
- Idioma español: Todas las respuestas y descripciones en español
Ver n8n_setup_guide.md para instrucciones detalladas de configuración.
Input del usuario:
{
"userId": 123,
"weeks": 2,
"mealTypes": ["breakfast", "lunch", "snack", "dinner"]
}Output del agente:
{
"success": true,
"nutritionPlanId": 456,
"startDate": "2025-11-08",
"endDate": "2025-11-21",
"dailyCalories": 2100,
"dailyProteins": 157.5,
"dailyCarbs": 210.0,
"dailyFats": 70.0,
"totalDays": 14,
"daysCreated": 14,
"mealsPerDay": 4,
"totalMeals": 56,
"mealTypes": ["breakfast", "lunch", "snack", "dinner"],
"summary": "Plan nutricional de 14 días creado exitosamente con 4 comidas diarias..."
}El agente distribuye los macros automáticamente según los tipos de comidas que el usuario seleccione. El usuario puede elegir entre 2 y 5 tipos de comidas diferentes (sin repetir).
| Tipo | Peso | Descripción |
|---|---|---|
| breakfast | 3.0 | Desayuno completo |
| brunch | 4.0 | Desayuno tardío (más abundante) |
| lunch | 4.5 | Comida principal del día |
| snack | 1.0 | Merienda ligera |
| dinner | 3.5 | Cena completa |
3 comidas [breakfast, lunch, dinner]:
- breakfast: 27.3% | lunch: 40.9% | dinner: 31.8%
4 comidas [breakfast, lunch, snack, dinner]:
- breakfast: 25.0% | lunch: 37.5% | snack: 8.3% | dinner: 29.2%
5 comidas [breakfast, brunch, lunch, snack, dinner]:
- breakfast: 18.8% | brunch: 25.0% | lunch: 28.1% | snack: 6.3% | dinner: 21.9%
| Objetivo | Ajuste Calórico | Distribución Macros |
|---|---|---|
| Perder peso | -500 kcal del TDEE | 30% P / 40% C / 30% G |
| Mantener peso | TDEE | 25% P / 45% C / 30% G |
| Ganar músculo | +300 kcal del TDEE | 30% P / 45% C / 25% G |
- Tolerancia de ±10% en macros por comida para flexibilidad
- Mínimo 3 alimentos diferentes por día
- Máximo 2 repeticiones del mismo alimento por semana
- Porciones redondeadas a tamaños prácticos de serving_sizes
- Preferencia por alimentos con
is_local=true - Exclusión automática de alimentos con
is_active=false