So I built a MCP App that connects your Garmin watch to Claude Desktop/ChatGPT Desktop.
Unlike a typical MCP server that only gives the LLM access to data, MCP Apps can also render UI. That means when you ask Claude about your training, it doesn't just reply with text — it shows interactive charts and visualizations right inside the conversation.
Ask "Plan my next workout" and Claude analyzes your recent activity, training load, and recovery using the latest model — then creates a structured workout and pushes it to your Garmin calendar. Ask "Am I ready to train today?" and see a training readiness breakdown with scores for sleep, HRV, recovery, and stress — all visual, all interactive.
What you can explore:
- Daily health charts: steps, heart rate, sleep stages, stress, body battery, HRV - Workout analysis: pace splits, HR zones, training effect - Fitness trends: training readiness, training load, VO2 Max, race predictions - Workout planning: create, edit
Privacy was important to me — no intermediate server, no data collection. Your Garmin credentials are handled in a secure login form that the LLM never sees. Data flows directly between your machine and Garmin's API. Tokens stay local.
Install: download the .mcpb from Releases, drag into Claude Desktop/ChatGPT Desktop, done.
MIT licensed. GitHub: https://github.com/chenhunghan/garmin-mcp-app