{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_rcwq9ndsfs7d","handle":"mcp-garmin","url":"https://wellknown.network/agents/mcp-garmin","links":{"self":"https://wellknown.network/agents/mcp-garmin/record.json","html":"https://wellknown.network/agents/mcp-garmin","markdown":"https://wellknown.network/agents/mcp-garmin/record.md","api":"https://wellknown.network/api/v1/agents/mcp-garmin","status":"https://wellknown.network/api/v1/agents/mcp-garmin/status","claim":"https://wellknown.network/agents/mcp-garmin/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/mcp-garmin/claim.json","badge":"https://wellknown.network/agents/mcp-garmin/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/mcp-garmin/history","tools":"https://wellknown.network/api/v1/agents/mcp-garmin/tools"},"ard":{"identifier":"urn:air::server:mcp-garmin","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"mcp-garmin","summary":"MCP server for Garmin Connect health and fitness data","description":"# mcp-garmin\n\nMCP server for Garmin Connect health and fitness data. Read-only access to daily health metrics, activities, workouts, and body composition via the [python-garminconnect](https://github.com/cyberjunky/python-garminconnect) library.\n\n## Prerequisites\n\n- Python 3.14+\n- [uv](https://docs.astral.sh/uv/)\n- A Garmin Connect account\n\n## Authentication\n\nGarmin Connect uses email/password authentication with optional MFA. The library persists session tokens to `~/.garminconnect/garmin_tokens.json` after initial login.\n\n### First-time setup\n\nRun the interactive login command to establish tokens. This handles MFA prompts:\n\n```bash\n# Set credentials (or the CLI will prompt you)\nexport GARMIN_EMAIL=\"you@example.com\"\nexport GARMIN_PASSWORD=\"your-password\"\n\n# Interactive login -- prompts for MFA if enabled\nuvx mcp-garmin-login\n```\n\n### Running the server\n\nThe MCP server requires `GARMIN_EMAIL` and `GARMIN_PASSWORD` environment variables. It reuses tokens saved by the login step and refreshes them automatically.\n\n```bash\nexport GARMIN_EMAIL=\"you@example.com\"\nexport GARMIN_PASSWORD=\"your-password\"\n```\n\n## Configuration\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"garmin\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-garmin\"],\n      \"env\": {\n        \"GARMIN_EMAIL\": \"you@example.com\",\n        \"GARMIN_PASSWORD\": \"your-password\"\n      }\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add garmin -- uvx mcp-garmin\n```\n\nSet `GARMIN_EMAIL` and `GARMIN_PASSWORD` in your shell environment.\n\n## Tools\n\nAll date parameters use ISO format (`YYYY-MM-DD`).\n\n### Daily Health\n\n| Tool | Description |\n|------|-------------|\n| `get_daily_summary` | Steps, calories, distance, active minutes |\n| `get_heart_rates` | Heart rate data |\n| `get_sleep_data` | Sleep stages and metrics |\n| `get_stress_data` | Detailed stress levels |\n| `get_all_day_stress` | All-day stress summary |\n| `get_body_battery` | Body…","publisher":{"name":"Matthew O'Brien","url":null},"homepage":null,"repository":"https://github.com/obrien-matthew/mcp-garmin/issues","version":"0.3.0","license":null,"protocols":["mcp"],"tags":["mcp","garmin","model-context-protocol"],"pricing":null,"endpoints":[{"url":"pypi:mcp-garmin","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.745,"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":"mcp-garmin","registry":"pypi","observedAt":"2026-10-28T11:27:17.231Z","publishedAt":"2026-05-07T03:34:42.277265Z","latestVersion":"0.3.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"mcp-garmin","url":"https://pypi.org/project/mcp-garmin/","firstSeenAt":"2026-09-10T01:21:04.723Z","fetchedAt":"2026-10-28T11:25:53.516Z","normalizedAt":"2026-10-28T11:25:53.516Z"}]},"firstSeenAt":"2026-09-10T01:21:04.723Z","updatedAt":"2026-10-28T11:27:17.231Z"}