Garmin MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GARMIN_EMAIL | No | Email for first login only. | |
| GARMIN_REDACT | No | get_activity full leaves out name, profile/photo URLs, device and sensor serials and GPS; false returns raw as sent. | true |
| GARMIN_REGION | No | Region; 'cn' switches all three hosts. | global |
| GARMIN_DATA_DIR | No | tokens, database, config.json | ~/.garmin-mcp |
| GARMIN_MCP_HOST | No | Host for streamable HTTP. | 127.0.0.1 |
| GARMIN_MCP_PORT | No | Port for streamable HTTP. | 8000 |
| GARMIN_PASSWORD | No | Password for first login only. | |
| GARMIN_TIMEZONE | No | IANA zone for 'today'. | system |
| GARMIN_LOG_LEVEL | No | Log level for pino JSON on stderr. | info |
| GARMIN_AUTO_FETCH | No | Read tools download missing data themselves; false means only explicit syncs. | true |
| GARMIN_APP_VERSION | No | Override mobile app version (for when Garmin changes the mobile app identity). | built in |
| GARMIN_CONCURRENCY | No | Parallel connectapi requests. | 4 |
| GARMIN_TOKENS_FILE | No | Path to tokens file. | $GARMIN_DATA_DIR/tokens.json |
| GARMIN_BROWSER_PATH | No | Chrome/Edge/Brave/Chromium used for the sign-in window. | detected |
| GARMIN_SSO_STRATEGY | No | SSO strategy: auto (browser if installed, else terminal), browser, curl, fetch, import. | auto |
| GARMIN_SYNC_PAUSE_S | No | Pause between sync chunks in seconds; a random range or a fixed number. | 1-11 |
| GARMIN_DI_CLIENT_IDS | No | Override mobile app client IDs (for when Garmin changes the mobile app identity). | built in |
| GARMIN_ENABLED_TOOLS | No | Comma-separated allow list of tools. | |
| GARMIN_MCP_TRANSPORT | No | Transport: stdio or streamable-http. | stdio |
| GARMIN_APP_USER_AGENT | No | Override mobile app user agent (for when Garmin changes the mobile app identity). | built in |
| GARMIN_DISABLED_TOOLS | No | Comma-separated deny list of tools. | |
| GARMIN_MCP_HTTP_TOKEN | No | Bearer token for streamable HTTP authentication; without it only binds to 127.0.0.1. | |
| GARMIN_SYNC_CHUNK_DAYS | No | Sync chunk size in days. | 7 |
| GARMIN_FIT_DOWNLOAD_DIR | No | Directory for downloaded activity files. | $GARMIN_DATA_DIR/downloads |
| GARMIN_ENABLE_DESTRUCTIVE | No | Enable delete tools and workout overwrite. | false |
| GARMIN_HTTP_ALLOWED_HOSTS | No | Comma-separated hostnames (no port, IPv6 in brackets) accepted in Host/Origin on top of localhost, 127.0.0.1, [::1]; others get 403. | |
| GARMIN_MIN_REQUEST_INTERVAL_MS | No | Spacing between request starts (±25% jitter). | 250 |
| GARMIN_SYNC_MAX_REQUESTS_PER_DAY | No | Maximum requests per day for syncs. | 600 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
No tools | |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
This server cannot be deployed
Maintenance
ActivityNo data
ResponsivenessOutdated data