Local read-only Garmin Personal API MCP server
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"garmin-training-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# Garmin Training MCP Read your Garmin activities, sleep, HRV and daily health summaries in Codex or Claude Code. The server runs locally on macOS and uses Garmin's official Python client and the official MCP Python SDK. This project is unofficial and is not affiliated with Garmin. ## Install You need macOS, Python 3.12 or newer, [uv](https://docs.astral.sh/uv/getting-started/installation/), and a Garmin Connect Personal API Key. The examples use Python 3.13. Check that the [PyPI package](https://pypi.org/project/garmin-training-mcp/) launches: ```sh uvx --python 3.13 --from garmin-training-mcp==0.1.1 garmin-mcp --help ``` You don't need to clone the repository. `uvx` downloads the package and dependencies on first launch, then uses its cache. `garmin-training-mcp` is the package name; `garmin-mcp` is the command it provides. ## Connect your client Create a key on the [Garmin Personal API Key page](https://connect.garmin.com/app/settings/personalApiToken). Replace `YOUR_GARMIN_PERSONAL_API_KEY` below with your key in your local configuration. Keep it out of Git, chat messages and shared examples. ### Codex Add this entry to `~/.codex/config.toml`, or update the existing `garmin-training` entry: ```toml [mcp_servers.garmin-training] command = "uvx" args = ["--python", "3.13", "--from", "garmin-training-mcp==0.1.1", "garmin-mcp"] [mcp_servers.garmin-training.env] GARMIN_PERSONAL_API_KEY = "YOUR_GARMIN_PERSONAL_API_KEY" ``` Codex allows 60 seconds per tool call by default. If Garmin calls time out, add `tool_timeout_sec = 180` under `[mcp_servers.garmin-training]`, before the `.env` table. See the [Codex timeout settings](https://learn.chatgpt.com/docs/extend/mcp#other-configuration-options). ### Claude Code and other JSON clients Add this entry under `mcpServers` in your client's configuration. Claude Code uses `~/.claude.json` for user settings. ```json { "mcpServers": { "garmin-training": { "type": "stdio", "command": "uvx", …
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.