io.github.davidmosiah/garminmcp MCP Server
io.github.davidmosiah/garminmcp
What is the io.github.davidmosiah/garminmcp MCP server?
Privacy-first unofficial Garmin Connect MCP for AI health, sleep, activity & recovery agents.
How to install io.github.davidmosiah/garminmcp
Copy-paste configuration for popular MCP clients.
GARMIN_TOKEN_PATHOptional local path for Garmin Connect tokens. Defaults to ~/.garmin-mcp/garmin_tokens.json. Create it with garmin-mcp-server auth (self-contained Node login, no Python).
GARMIN_PRIVACY_MODEOptional payload mode: summary, structured, or raw. Defaults to structured. raw means full supported Garmin Connect payloads, not unrestricted raw sensor telemetry.
GARMIN_CACHEOptional SQLite cache toggle. Set to true or sqlite to enable.
GARMIN_CACHE_PATHOptional local SQLite cache path. Defaults to ~/.garmin-mcp/cache.sqlite.
GARMIN_DOMAINOptional Garmin domain override. Use garmin.cn only for China accounts; default is garmin.com.
GARMIN_NO_CACHESet to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.
{
"mcpServers": {
"garminmcp": {
"command": "npx",
"args": [
"-y",
"garmin-mcp-unofficial"
],
"env": {
"GARMIN_TOKEN_PATH": "<YOUR_GARMIN_TOKEN_PATH>",
"GARMIN_PRIVACY_MODE": "<YOUR_GARMIN_PRIVACY_MODE>",
"GARMIN_CACHE": "<YOUR_GARMIN_CACHE>",
"GARMIN_CACHE_PATH": "<YOUR_GARMIN_CACHE_PATH>",
"GARMIN_DOMAIN": "<YOUR_GARMIN_DOMAIN>",
"GARMIN_NO_CACHE": "<YOUR_GARMIN_NO_CACHE>"
}
}
}
}{
"mcpServers": {
"garminmcp": {
"command": "npx",
"args": [
"-y",
"garmin-mcp-unofficial"
],
"env": {
"GARMIN_TOKEN_PATH": "<YOUR_GARMIN_TOKEN_PATH>",
"GARMIN_PRIVACY_MODE": "<YOUR_GARMIN_PRIVACY_MODE>",
"GARMIN_CACHE": "<YOUR_GARMIN_CACHE>",
"GARMIN_CACHE_PATH": "<YOUR_GARMIN_CACHE_PATH>",
"GARMIN_DOMAIN": "<YOUR_GARMIN_DOMAIN>",
"GARMIN_NO_CACHE": "<YOUR_GARMIN_NO_CACHE>"
}
}
}
}{
"mcpServers": {
"garminmcp": {
"command": "npx",
"args": [
"-y",
"garmin-mcp-unofficial"
],
"env": {
"GARMIN_TOKEN_PATH": "<YOUR_GARMIN_TOKEN_PATH>",
"GARMIN_PRIVACY_MODE": "<YOUR_GARMIN_PRIVACY_MODE>",
"GARMIN_CACHE": "<YOUR_GARMIN_CACHE>",
"GARMIN_CACHE_PATH": "<YOUR_GARMIN_CACHE_PATH>",
"GARMIN_DOMAIN": "<YOUR_GARMIN_DOMAIN>",
"GARMIN_NO_CACHE": "<YOUR_GARMIN_NO_CACHE>"
}
}
}
}{
"servers": {
"garminmcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"garmin-mcp-unofficial"
],
"env": {
"GARMIN_TOKEN_PATH": "<YOUR_GARMIN_TOKEN_PATH>",
"GARMIN_PRIVACY_MODE": "<YOUR_GARMIN_PRIVACY_MODE>",
"GARMIN_CACHE": "<YOUR_GARMIN_CACHE>",
"GARMIN_CACHE_PATH": "<YOUR_GARMIN_CACHE_PATH>",
"GARMIN_DOMAIN": "<YOUR_GARMIN_DOMAIN>",
"GARMIN_NO_CACHE": "<YOUR_GARMIN_NO_CACHE>"
}
}
}
}claude mcp add garminmcp --env GARMIN_TOKEN_PATH=<YOUR_GARMIN_TOKEN_PATH> --env GARMIN_PRIVACY_MODE=<YOUR_GARMIN_PRIVACY_MODE> --env GARMIN_CACHE=<YOUR_GARMIN_CACHE> --env GARMIN_CACHE_PATH=<YOUR_GARMIN_CACHE_PATH> --env GARMIN_DOMAIN=<YOUR_GARMIN_DOMAIN> --env GARMIN_NO_CACHE=<YOUR_GARMIN_NO_CACHE> -- npx -y garmin-mcp-unofficialRelated MCP servers
Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents
Local-first nutrition MCP for AI agents: food, barcode, photo, intake, hydration, goals.
Privacy-first, unofficial WHOOP MCP server for AI health, sleep, recovery, and performance agents.
Unofficial Eight Sleep MCP server: read sleep trends, temperature, alarms; gated pod control.
Unofficial local-first MCP server for Samsung Health personal-data CSV/ZIP exports.