{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_qep5b733cwv5","handle":"garmin-training-mcp","url":"https://wellknown.network/agents/garmin-training-mcp","links":{"self":"https://wellknown.network/agents/garmin-training-mcp/record.json","html":"https://wellknown.network/agents/garmin-training-mcp","markdown":"https://wellknown.network/agents/garmin-training-mcp/record.md","api":"https://wellknown.network/api/v1/agents/garmin-training-mcp","status":"https://wellknown.network/api/v1/agents/garmin-training-mcp/status","claim":"https://wellknown.network/agents/garmin-training-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/garmin-training-mcp/claim.json","badge":"https://wellknown.network/agents/garmin-training-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/garmin-training-mcp/history","tools":"https://wellknown.network/api/v1/agents/garmin-training-mcp/tools"},"ard":{"identifier":"urn:air::server:garmin-training-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"garmin-training-mcp","summary":"Local read-only Garmin Personal API MCP server","description":"# Garmin Training MCP\n\nRead your Garmin activities, sleep, HRV and daily health summaries in Codex or\nClaude Code. The server runs locally on macOS and uses Garmin's official Python\nclient and the official MCP Python SDK.\n\nThis project is unofficial and is not affiliated with Garmin.\n\n## Install\n\nYou need macOS, Python 3.12 or newer, [uv](https://docs.astral.sh/uv/getting-started/installation/),\nand a Garmin Connect Personal API Key. The examples use Python 3.13.\n\nCheck that the [PyPI package](https://pypi.org/project/garmin-training-mcp/) launches:\n\n```sh\nuvx --python 3.13 --from garmin-training-mcp==0.1.1 garmin-mcp --help\n```\n\nYou don't need to clone the repository. `uvx` downloads the package and dependencies\non first launch, then uses its cache. `garmin-training-mcp` is the package name;\n`garmin-mcp` is the command it provides.\n\n## Connect your client\n\nCreate a key on the [Garmin Personal API Key page](https://connect.garmin.com/app/settings/personalApiToken).\nReplace `YOUR_GARMIN_PERSONAL_API_KEY` below with your key in your local configuration.\nKeep it out of Git, chat messages and shared examples.\n\n### Codex\n\nAdd this entry to `~/.codex/config.toml`, or update the existing `garmin-training` entry:\n\n```toml\n[mcp_servers.garmin-training]\ncommand = \"uvx\"\nargs = [\"--python\", \"3.13\", \"--from\", \"garmin-training-mcp==0.1.1\", \"garmin-mcp\"]\n\n[mcp_servers.garmin-training.env]\nGARMIN_PERSONAL_API_KEY = \"YOUR_GARMIN_PERSONAL_API_KEY\"\n```\n\nCodex allows 60 seconds per tool call by default. If Garmin calls time out, add\n`tool_timeout_sec = 180` under `[mcp_servers.garmin-training]`, before the `.env`\ntable. See the [Codex timeout settings](https://learn.chatgpt.com/docs/extend/mcp#other-configuration-options).\n\n### Claude Code and other JSON clients\n\nAdd this entry under `mcpServers` in your client's configuration.\nClaude Code uses `~/.claude.json` for user settings.\n\n```json\n{\n  \"mcpServers\": {\n    \"garmin-training\": {\n      \"type\": \"stdio\",\n      \"command\": \"uvx\",\n     …","publisher":null,"homepage":null,"repository":null,"version":"0.1.1","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:garmin-training-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","summary":"pypi","version":"pypi","description":"pypi"}},"derived":{"capabilities":[{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":1,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":0.791,"provenance":"derived"}],"categories":["dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"garmin-training-mcp","registry":"pypi","observedAt":"2026-11-09T05:24:58.121Z","publishedAt":"2026-10-25T18:33:30.922045Z","latestVersion":"0.1.1"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"garmin-training-mcp","url":"https://pypi.org/project/garmin-training-mcp/","firstSeenAt":"2026-10-28T01:25:52.443Z","fetchedAt":"2026-11-09T05:23:53.666Z","normalizedAt":"2026-11-09T05:23:53.666Z"}]},"firstSeenAt":"2026-10-28T01:25:52.443Z","updatedAt":"2026-11-09T05:24:58.121Z"}