etweisberg/garmin-connect-mcp
Garmin Connect MCP
Platform-specific configuration:
{
"mcpServers": {
"garmin-connect-mcp": {
"command": "npx",
"args": [
"-y",
"garmin-connect-mcp"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
[](https://github.com/etweisberg/garmin-connect-mcp/actions/workflows/ci.yml) [](https://github.com/etweisberg/garmin-connect-mcp/actions/workflows/release.yml) [](https://www.npmjs.com/package/@etweisberg/garmin-connect-mcp) [](https://www.npmjs.com/package/@etweisberg/garmin-connect-mcp) [](https://www.gnu.org/licenses/agpl-3.0)
MCP server for Garmin Connect. Access your activities, health stats, sleep data, FIT files, and more from Claude Code or any MCP client.
In March 2026, Garmin changed their authentication API, breaking garth and python-garminconnect — the two most popular libraries for accessing Garmin data programmatically. Garth has been officially deprecated. Garmin added Cloudflare TLS fingerprinting that blocks all non-browser HTTP clients (Node.js fetch, Python requests, curl) from their API endpoints.
This project works around that by routing all API calls through a headless Playwright browser, inheriting a real Chrome TLS fingerprint. Authentication uses browser cookies captured from a manual login session.
npm install -g @etweisberg/garmin-connect-mcp
npx playwright install chromiumThen register with Claude Code:
claude mcp add garmin -- npx @etweisberg/garmin-connect-mcpYou also need the Playwright MCP server for the login flow:
claude mcp add playwright -- npx @playwright/mcp@latestLoading reviews...