Garminmcp logo

Garminmcp

Connects AI agents to Garmin Connect for local access to health, sleep, recovery, readiness, and activity data.

Install Garminmcp

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "garminmcp": {
      "command": "npx",
      "args": [
        "-y",
        "delx-wellness-hermes"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y delx-wellness-hermes

Process exited before answering initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 5d ago.

Overview

The garminmcp MCP server connects AI agents to Garmin Connect through local MCP tools for health, sleep, recovery, readiness, and activity data. It runs over stdio by default, with optional sessionless Streamable HTTP on loopback. Authentication happens locally and stores Garmin Connect tokens rather than the Garmin password. Reach for it when an agent needs authorized Garmin data for personal summaries, training context, or recovery analysis.

Use cases

  • Check daily recovery and training readiness
  • Summarize weekly sleep, stress, and training signals
  • Investigate intraday stress for a selected date
  • Review Garmin activities and health metrics
  • Build personal AI training briefs from Garmin data

Key features

  • Garmin Connect health and activity access
  • Daily and weekly wellness summaries
  • Sleep, HRV, stress, and Body Battery data
  • Training readiness and activity analysis
  • Local token storage with privacy modes
  • Stdio and optional loopback Streamable HTTP

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

9/9 checks healthy over the last 45d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 4d ago via OSV.dev · delx-wellness-hermes (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars13Stargazers on the source repository.
npm downloads207Package downloads in the last 30 days.
Last commit4d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Garminmcp works

What garminmcp MCP server does

The garminmcp MCP server exposes Garmin Connect data to MCP-compatible AI clients. It covers daily and weekly summaries, sleep, HRV, stress, Body Battery, training readiness, heart rate, SpO2, respiration, intensity minutes, hydration, activities, profile and device information, and weight.

The server is intended for personal AI workflows using user-authorized Garmin data. It is an unofficial project and does not use official Garmin Health API partnership access. The data may support personal analysis, but the project states that it is not medical advice and should not be used for diagnosis or treatment.

How it works

The default transport is stdio. An MCP client starts the package with npx -y garmin-mcp-unofficial, then invokes the available tools. The server also supports Streamable HTTP in stateless mode. HTTP listens on loopback by default, with a health endpoint at /health and an MCP endpoint at /mcp.

Authentication is performed through the package's local Node-based login flow. It prompts for Garmin email, password, and MFA when required, without requiring a separate Python installation. The password is not stored. Garmin Connect tokens are saved locally in ~/.garmin-mcp/garmin_tokens.json with user-only permissions and are not returned through tools.

Setup and configuration

Run npx -y garmin-mcp-unofficial setup to write local MCP configuration, then run npx -y garmin-mcp-unofficial auth to authenticate. The doctor command checks whether the installation is ready. A combined setup and authentication flow is available with npx -y garmin-mcp-unofficial setup --auth.

For HTTP mode, run npx -y garmin-mcp-unofficial --http. The host, port, and transport can be configured with GARMIN_MCP_HOST, GARMIN_MCP_PORT, and GARMIN_MCP_TRANSPORT=http. Privacy behavior uses GARMIN_PRIVACY_MODE, which defaults to summary; local SQLite caching is optional through GARMIN_CACHE=sqlite.

If Garmin responds with HTTP 429, a Cloudflare challenge, or an incomplete authentication response, stop retrying temporarily. Repeated headless login attempts can increase throttling.

Tools and capabilities

Start with garmin_connection_status to check connectivity. garmin_daily_summary provides daily readiness, sleep, and load information, while garmin_weekly_summary produces a broader scorecard, identifies bottlenecks, and supports next-week planning.

Additional tools expose per-day wellness signals, activities, profile and device details, and weight. The server also includes prompts and resources, including garmin_intraday_investigation for focused analysis such as stress on a selected date. Responses can be requested in JSON where supported by the tool.

Limitations and notes

The connector depends on unofficial Garmin Connect personal-token access rather than an official Garmin Health API integration. Availability of individual data fields depends on what Garmin provides for the account and request. Privacy mode can redact or limit data, while structured mode retains normalized aliases and upstream fields after secret and GPS redaction.

Garmin credentials and tokens remain local to the machine running the connector. The MCP client does not receive them. Local caching is disabled unless explicitly enabled. Date ranges for activity queries preserve the supplied calendar date and reject invalid values before contacting Garmin Connect.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Garminmcp

garminmcp is an MCP server that connects AI agents to Garmin Connect using local authentication and token storage. Its main tools include garmin_connection_status, garmin_daily_summary, garmin_weekly_summary, and tools for sleep, HRV, stress, Body Battery, readiness, activities, profile data, devices, and weight.

Install it by running `npx -y garmin-mcp-unofficial setup`, then authenticate with `npx -y garmin-mcp-unofficial auth`. The setup command writes local MCP configuration, while `doctor` checks whether the connector is ready.

Yes, garminmcp can be wired into Cursor through its MCP configuration.

garminmcp does not store the Garmin password; it stores Garmin Connect tokens locally in `~/.garmin-mcp/garmin_tokens.json` with user-only permissions. The MCP client does not receive Garmin credentials or tokens.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewGarminmcp AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/garminmcp?style=directory)](https://allmcps.com/mcp/garminmcp)
HTML Embed
<a href="https://allmcps.com/mcp/garminmcp"><img src="https://allmcps.com/api/badge/garminmcp?style=directory" alt="Garminmcp on AllMCPs" /></a>