get_daily_exercise
Retrieve your daily exercise data from MyFitnessPal including cardio activities with duration and calories burned, plus strength training details with sets, reps, and weights for any specific 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:194-256 (handler)The handler function decorated with @mcp.tool that implements the get_daily_exercise tool. It fetches exercise data for a specified date (default today), processes cardio and strength activities, and returns a formatted markdown summary of exercises, durations, and calories burned.@mcp.tool 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)}")