← Reddit

I built an MCP server that connects Claude Desktop to your Garmin data — made it for myself, figured I'd share it

Reddit · JackAbyss_ · May 12, 2026
A developer created an MCP server connecting Claude Desktop to Garmin Connect data, providing access to eight fitness tools including recovery readiness, VO2max, training load, and heart rate variability metrics. The local stdio server operates without external data transmission and requires only one-time Garmin OAuth authentication with automatic token refresh. A Windows installer handles setup, though the underlying Python server supports cross-platform deployment.

Detailed Analysis

A developer who goes by Jack-Abyss on GitHub has released an open-source MCP (Model Context Protocol) server that bridges Claude Desktop with Garmin Connect, the fitness platform used by millions of athletes worldwide. The project, available at github.com/Jack-Abyss/claude-garmin, was originally built for personal use out of frustration with generic AI training advice that lacked awareness of the user's actual physiological state. The connector exposes eight distinct Garmin data tools to Claude — including recovery readiness, HRV (heart rate variability) trend, VO2max, FTP, training load, recent activities, running dynamics, stress data, and personal records — enabling the model to generate training recommendations grounded in real-time athlete metrics rather than statistical generalizations.

The technical architecture reflects a deliberate privacy-first design philosophy. The server operates as a local stdio MCP process, meaning it spins up only when Claude Desktop is active, consumes roughly 10 MB of RAM at idle, and opens no persistent network ports. User data does not leave the local machine except through the standard Claude Desktop–to–Anthropic API conversation pathway, which is the same channel already in use during any normal Claude interaction. Authentication with Garmin Connect is handled via OAuth with long-lived, auto-refreshing tokens, and a Windows batch installer automates the entire setup process. The Python-based server itself is cross-platform, with macOS and Linux shell script support noted as a potential future addition pending community interest.

The project surfaces a noteworthy behavioral characteristic of Claude that has practical implications for MCP tool adoption broadly: the model does not automatically invoke MCP tools when a query appears answerable from general knowledge. The developer addressed this directly in the README, advising users to either phrase questions in ways that explicitly anchor them to personal data — "Based on my current HRV, should I push hard today?" rather than "Should I train hard today?" — or to configure Claude's Custom Instructions with a persistent directive that nudges it toward data retrieval. This behavior reflects Anthropic's design choices around tool invocation conservatism, which prioritizes avoiding unnecessary external calls but can create friction in workflows where persistent contextual data access is the entire point of the integration.

The release fits within a broader and accelerating pattern of community-built MCP connectors that extend Claude Desktop into domain-specific data ecosystems. Since Anthropic introduced MCP as an open standard for connecting AI models to external tools and data sources, developers have built connectors for everything from local file systems and databases to SaaS platforms and now personal health devices. The Garmin connector is notable because it targets a use case — personalized athletic coaching — where the gap between generic AI output and individually calibrated guidance is particularly consequential. Training load miscalculation can result in injury or overtraining, making accurate, data-driven recommendations meaningfully more valuable than population-average advice.

More broadly, the project illustrates how the MCP ecosystem is enabling a class of deeply personal AI applications that were previously impractical without custom fine-tuning or proprietary integrations. By standardizing the interface between Claude and external data, Anthropic has lowered the barrier sufficiently that individual developers can build production-quality personal tools in evenings, then share them with communities of users who share similar needs. The Garmin connector's multisport compatibility — covering running, cycling, and triathlon data — suggests its potential audience extends well beyond the developer's own running use case, and the clean architecture positions it as a template others could fork for similar fitness platform integrations.

Read original article →