{"adoption": {"forks": 335, "observed_at": "2026-08-28T04:03:26.518808+00:00", "stars": 1065}, "canonical_url": "https://ross.abutalabs.com/products/garmin_mcp", "card": {"archived": false, "artifact_type": "service", "description": "MCP server to access Garmin data", "domain": ["sports", "healthcare", "large-language-models"], "enriched": true, "function": ["mcp", "sdk", "analytics", "data-science"], "health_score": 97, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Taxuspt/garmin_mcp"], "name": "Taxuspt/garmin_mcp", "platform": ["python", "self-hosted", "cross-platform"], "pushed_at": "2026-08-04T18:29:56+00:00", "repo": "Taxuspt/garmin_mcp", "stars": 1065, "tags": ["garmin-connect", "mcp-server", "fitness-data", "health-metrics", "claude", "wearables", "training-analytics", "ai-agents"], "topics": [], "urls": [], "use_cases": ["ask Claude about my recent Garmin activities", "analyze my sleep and heart rate data from Garmin", "track my training load and VO2 max trends", "edit activity names and notes via AI assistant", "download my Garmin activities as GPX or FIT files", "create and schedule workouts without writing JSON", "review my weekly steps and stress summary"], "what_it_is": "A Model Context Protocol (MCP) server that connects to Garmin Connect and exposes fitness and health data (activities, sleep, heart rate, training metrics) to Claude and other MCP-compatible clients. It implements 110+ tools covering roughly 90% of the python-garminconnect library, including read and write access to activities, workouts, gear, and nutrition.", "when_to_avoid": ["you need direct programmatic API access without an LLM client - use python-garminconnect directly", "you don't have a Garmin Connect account or compatible device", "you need real-time streaming of live workout data"], "when_to_choose": ["you use Claude or another MCP-compatible client and want your Garmin fitness data accessible in conversations", "you want AI-assisted analysis of training metrics like CTL/ATL/TSB, HRV, and power curves", "you need to manage Garmin activities, workouts, or gear programmatically through natural language"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/garmin_mcp", "repo": "Taxuspt/garmin_mcp", "role": "main", "score": 69}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.518808+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:55:28.259621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7d4efaabc86cc8fa0a5754f089ce1e55243b30ff374b373ad8800ba78d60acf", "fetched_at": "2026-08-28T04:03:26.518808+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Taxuspt/garmin_mcp"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.518808+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:55:28.259621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7d4efaabc86cc8fa0a5754f089ce1e55243b30ff374b373ad8800ba78d60acf", "fetched_at": "2026-08-28T04:03:26.518808+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Taxuspt/garmin_mcp"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:55:28.259621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7d4efaabc86cc8fa0a5754f089ce1e55243b30ff374b373ad8800ba78d60acf", "fetched_at": "2026-08-28T04:03:26.518808+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Taxuspt/garmin_mcp"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.518808+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.518808+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.518808+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:55:28.259621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7d4efaabc86cc8fa0a5754f089ce1e55243b30ff374b373ad8800ba78d60acf", "fetched_at": "2026-08-28T04:03:26.518808+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Taxuspt/garmin_mcp"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.518808+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.518808+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:55:28.259621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7d4efaabc86cc8fa0a5754f089ce1e55243b30ff374b373ad8800ba78d60acf", "fetched_at": "2026-08-28T04:03:26.518808+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Taxuspt/garmin_mcp"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.518808+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.518808+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.518808+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:55:28.259621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7d4efaabc86cc8fa0a5754f089ce1e55243b30ff374b373ad8800ba78d60acf", "fetched_at": "2026-08-28T04:03:26.518808+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Taxuspt/garmin_mcp"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.518808+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.518808+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:55:28.259621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7d4efaabc86cc8fa0a5754f089ce1e55243b30ff374b373ad8800ba78d60acf", "fetched_at": "2026-08-28T04:03:26.518808+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Taxuspt/garmin_mcp"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:55:28.259621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7d4efaabc86cc8fa0a5754f089ce1e55243b30ff374b373ad8800ba78d60acf", "fetched_at": "2026-08-28T04:03:26.518808+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Taxuspt/garmin_mcp"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:55:28.259621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7d4efaabc86cc8fa0a5754f089ce1e55243b30ff374b373ad8800ba78d60acf", "fetched_at": "2026-08-28T04:03:26.518808+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Taxuspt/garmin_mcp"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:55:28.259621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7d4efaabc86cc8fa0a5754f089ce1e55243b30ff374b373ad8800ba78d60acf", "fetched_at": "2026-08-28T04:03:26.518808+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Taxuspt/garmin_mcp"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 38, "rhythm": 51}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 543, "days_push": 29, "days_rel": 117, "gap_med": null, "n_releases_24m": 1}, "score": 69, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}