How taxuspt/garmin_mcp works
Garmin MCP is a tool server that lets an MCP-compatible client query and manage Garmin Connect fitness data. Its main workflow is client request → server tool registration and dispatch → domain-specific Garmin operations → formatted result returned to the client. The domain surface spans activities and analysis, health and training, and equipment, nutrition, and challenges; workout builders provide a higher-level creation and scheduling path. A separate authentication CLI can create saved Garmin tokens. The README documents additional tool coverage beyond the sampled excerpts, so those capabilities are represented at their documented module boundaries.
Main entry points: __init__.py Server Entry · auth_cli.py Auth CLI · workout_builders.py Workout Builders · workouts.py Workouts Plans
Components 24
MCP Server
- Server Entry
src/garmin_mcp/__init__.py - Tool Filtering
src/garmin_mcp/__init__.py
Activity Tools
- Activity Management
src/garmin_mcp/activity_management.py - Activity Analysis
src/garmin_mcp/activity_analysis.py
Health Training
- Health Wellness
src/garmin_mcp/health_wellness.py - Training Performance
src/garmin_mcp/training.py - Weight Tracking
src/garmin_mcp/weight_management.py - Women's Health
src/garmin_mcp/womens_health.py - Nutrition
src/garmin_mcp/nutrition.py
Plans Management
- Workouts Plans
src/garmin_mcp/workouts.py - Workout Builders
src/garmin_mcp/workout_builders.py - Workout Templates
src/garmin_mcp/workout_templates.py - Calendar Events
src/garmin_mcp/calendar_events.py - Courses
src/garmin_mcp/courses.py - Devices
src/garmin_mcp/devices.py - Gear Management
src/garmin_mcp/gear_management.py - Challenges Badges
src/garmin_mcp/challenges.py - Data Management
src/garmin_mcp/data_management.py - User Profile
src/garmin_mcp/user_profile.py
Authentication
- Auth CLI
src/garmin_mcp/auth_cli.py - Token Utilities
src/garmin_mcp/token_utils.py
Other components
- MCP Client
- Garmin Connect
- Saved Tokens
Connections 41
- MCP Client → Server Entry: sends tool requests
- Server Entry → Tool Filtering: filters registration
- Server Entry → Activity Management: registers tools
- Server Entry → Activity Analysis: registers tools
- Server Entry → Health Wellness: registers tools
- Server Entry → Training Performance: registers tools
- Server Entry → Weight Tracking: registers tools
- Server Entry → Women's Health: registers tools
- Server Entry → Nutrition: registers tools
- Server Entry → Workouts Plans: registers tools
- Server Entry → Workout Builders: registers tools
- Server Entry → Workout Templates: registers tools
- Server Entry → Calendar Events: registers tools
- Server Entry → Courses: registers tools
- Server Entry → Devices: registers tools
- Server Entry → Gear Management: registers tools
- Server Entry → Challenges Badges: registers tools
- Server Entry → Data Management: registers tools
- Server Entry → User Profile: registers tools
- Activity Management → Garmin Connect: calls Garmin API
- Activity Analysis → Garmin Connect: retrieves activity files
- Health Wellness → Garmin Connect: calls Garmin API
- Training Performance → Garmin Connect: calls Garmin API
- Weight Tracking → Garmin Connect: calls Garmin API
- Women's Health → Garmin Connect: calls Garmin API
- Nutrition → Garmin Connect: calls Garmin API
- Workouts Plans → Garmin Connect: calls Garmin API
- Workout Builders → Workouts Plans: delegates uploads
- Workout Builders → Garmin Connect: schedules workouts
- Workout Templates → Garmin Connect: calls Garmin API
- Calendar Events → Garmin Connect: calls Garmin API
- Courses → Garmin Connect: calls Garmin API
- Devices → Garmin Connect: calls Garmin API
- Gear Management → Garmin Connect: calls Garmin API
- Challenges Badges → Garmin Connect: calls Garmin API
- Data Management → Garmin Connect: calls Garmin API
- User Profile → Garmin Connect: calls Garmin API
- Auth CLI → Garmin Connect: authenticates
- Auth CLI → Token Utilities: uses token helpers
- Auth CLI → Saved Tokens: writes tokens
- Server Entry → Saved Tokens: loads saved tokens