Garmin Health MCP Server
A Model Context Protocol (MCP) server that lets you query your Garmin health data directly in Claude Desktop.
What This Does
Instead of copy-pasting data or using a web dashboard, you can ask Claude natural questions:
"What's my VO2 max trend this year?"
"Am I overtraining?"
"How much did I sleep last week?"
"What are my predicted race times?"
Claude calls the appropriate tools and fetches only the data it needs.
Prerequisites
Node.js 18+
Claude Desktop installed
Garmin data in Supabase (see main project)
Setup
1. Install dependencies
2. Set environment variables
Create a .env file or export these:
3. Build the server
4. Configure Claude Desktop
Open your Claude Desktop config file:
Mac:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add this to the mcpServers section:
Important: Replace /FULL/PATH/TO/ with the actual path on your machine.
5. Restart Claude Desktop
Completely quit and reopen Claude Desktop. You should see a hammer icon π¨ indicating tools are available.
Available Tools
Tool | Description |
| Overview of all health data |
| VO2 max history and trends |
| Activity breakdown by type |
| Sleep statistics |
| Predicted race times |
| Personalized HR training zones |
| Acute/chronic workload for overtraining detection |
Example Queries
Once configured, try asking Claude:
Troubleshooting
Claude doesn't show the hammer icon:
Check your config file JSON syntax
Make sure the path is absolute, not relative
Restart Claude Desktop completely (quit, not just close)
"SUPABASE_ANON_KEY required" error:
Make sure the env vars are in your config file
Or export them in your shell before running
Connection errors:
Verify your Supabase URL and key are correct
Test by running:
npm run dev
Development
Run in development mode (without building):
Architecture
You ask Claude a question about your health data
Claude determines which tool(s) to call
MCP server queries Supabase for just that data
Claude receives the data and formulates a response
License
MIT