garmin-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATA_DIR | Yes | Directory for storing Garmin tokens, cache, and poller state. | |
| ROUTINE_ID | No | Claude Code routine ID to trigger on new Garmin activities. | |
| POLL_DRY_RUN | No | If true, the poller logs the text it would send without firing the routine. Default false. | |
| POLL_USER_ID | No | User ID for the workout-sync poller. | |
| PUBLIC_BASE_URL | Yes | Public base URL of the MCP server, used as OAuth issuer, `/mcp` endpoint, and GitHub callback base. | |
| DEV_NO_AUTH_USER | No | Run the server without OAuth for local development, impersonating the given user ID. Only allowed when PUBLIC_BASE_URL is localhost. | |
| GITHUB_CLIENT_ID | No | GitHub OAuth App client ID. | |
| BEHIND_CLOUDFLARE | No | Set to true when the server is behind Cloudflare, to adjust TLS and firewall handling. Default false. | |
| GARMIN_ALLOW_WRITES | No | Allow write operations in the `execute` tool. Default false. | |
| ALLOWED_GITHUB_USERS | No | Comma-separated allowlist of GitHub numeric IDs mapped to user IDs, e.g. `<github_id>:<user_id>`. | |
| GITHUB_CLIENT_SECRET | No | GitHub OAuth App client secret. | |
| GARMIN_MCP_FERNET_KEY | Yes | Fernet key for encrypting Garmin tokens and other data. Generate with `uv run python -c 'from garmin_mcp.tokens import generate_key; print(generate_key())'`. | |
| TRAININGPEAKS_ENABLED | No | Enable the optional TrainingPeaks integration. Default false. | |
| POLL_MAX_FIRES_PER_DAY | No | Maximum number of routine fires per day as a circuit breaker. | |
| ROUTINE_TOKEN_SECRET_NAME | No | Secret Manager secret name containing the routine API token. | |
| TRAININGPEAKS_ALLOW_WRITES | No | Allow TrainingPeaks create, delete, and upload operations. Default false. | |
| GARMIN_API_TLS_IMPERSONATION | No | Use TLS impersonation for Garmin API calls to avoid 403 from datacenter IPs. Default false. | |
| OAUTH_ALLOW_LOOPBACK_REDIRECTS | No | Allow OAuth loopback redirects for local clients such as MCP Inspector. |
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 | |