garmin-mcp-local
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GARMIN_EMAIL | Yes | Your Garmin Connect email address. Used for authentication to Garmin's API. | |
| ALERT_EMAIL_TO | No | Optional: Email address to send failure alerts to. Leave unset to disable alerting. | |
| GARMIN_PASSWORD | Yes | Your Garmin Connect password. Used for authentication to Garmin's API. | |
| GARMIN_MAX_RETRIES | No | Optional: Maximum number of retries on rate limit or server errors. | |
| GARMIN_TOKEN_STORE | No | Optional: Path where the session token is cached. Defaults to a directory in the project. | |
| GARMIN_MIN_REQUEST_INTERVAL_SECONDS | No | Optional: Minimum delay between API requests for rate limiting. Default is likely 1 second. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_activitiesA | List activities from the local cache, most recent first. |
| get_activity_detailA | Full detail for one activity: summary row + laps + HR/power zones + gear. |
| get_daily_health_metricsB | Daily steps/HR/stress/body battery/SpO2/respiration for a date range (inclusive, 'YYYY-MM-DD'). |
| get_sleepA | Nightly sleep stages + sleep score breakdown for a date range (inclusive, 'YYYY-MM-DD'). |
| get_training_trendsB | Training status, readiness, VO2max, load (ACWR), endurance/hill scores, and race predictions for a date range (inclusive, 'YYYY-MM-DD'). |
| get_sync_statusA | Recent sync_log entries -- what's been fetched, what failed/was rate-limited, and the current resume cursors for every category. Check this before trusting 'no data' as a real gap vs. a not-yet-synced range. |
| execute_sqlA | Run an ad hoc read-only SQL query against the local cache. Only SELECT/WITH/EXPLAIN/PRAGMA table_info statements are allowed. |
| sync_nowA | Explicitly hit the live Garmin API to pull new data since the last successful sync, for every category. Rate-limited; respects any active cooldown from a previous 429. Never called automatically by other tools. |
| backfill_batch_nowB | Run one controlled batch of API-driven backfill per category, walking further back into history than the bulk export (or a prior backfill run) reached. Call repeatedly to walk the full history without one giant fetch. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/the-mace/garmin-mcp-local'
If you have feedback or need assistance with the MCP directory API, please join our Discord server