get_daily_exercise
Retrieve daily exercise data from MyFitnessPal, including cardio duration and calories burned, plus strength training sets, reps, and weights for any specified date.
Instructions
Get exercise activities: cardio (duration, calories) and strength (sets, reps, weight).
Args: date: Date in YYYY-MM-DD format (defaults to today)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | No |
Implementation Reference
- server.py:195-255 (handler)The handler function decorated with @mcp.tool that implements the get_daily_exercise tool. It retrieves exercise data for a specified date from MyFitnessPal, processes cardio and strength activities to extract durations and calories burned, formats a markdown summary of individual exercises and totals, and returns it via text_response.def get_daily_exercise(date: Optional[str] = None): """ Get exercise activities: cardio (duration, calories) and strength (sets, reps, weight). Args: date: Date in YYYY-MM-DD format (defaults to today) """ try: target_date = parse_date(date) client = get_client() # Fetch day data day = client.get_day(target_date) exercises = day.exercises output = f"# Exercise for {target_date.strftime('%B %d, %Y')}\n\n" if not exercises: output += "No exercise logged for this day.\n" else: # Collect all exercise entries from all exercise categories all_entries = [] for exercise in exercises: all_entries.extend(exercise.entries) if not all_entries: output += "No exercise logged for this day.\n" else: total_calories = 0 total_minutes = 0 for entry in all_entries: nutrition = entry.nutrition_information output += f"- **{entry.name}**\n" # Duration minutes = nutrition.get('minutes') if minutes: output += f" - Duration: {minutes:.0f} minutes\n" total_minutes += minutes # Calories burned calories = nutrition.get('calories burned', 0) if calories: output += f" - Calories Burned: {calories:.0f} kcal\n" total_calories += calories output += "\n" # Summary output += "## Summary\n" if total_minutes > 0: output += f"- **Total Duration**: {total_minutes:.0f} minutes\n" if total_calories > 0: output += f"- **Total Calories Burned**: {total_calories:.0f} kcal\n" return text_response(output) except Exception as e: return text_response(f"Error retrieving exercise: {str(e)}")