io.github.davidmosiah/garminmcp
NPM · GARMIN-MCP-UNOFFICIAL · SCANNED AUG 3
Privacy-first unofficial Garmin Connect MCP for AI health, sleep, activity & recovery agents.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (129 of 130), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (129 of 130), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 1 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability85
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 3456 tokens (~72/item across 48 items; 41 tools + 7 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage88
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 58% of tool parameters carry a description.Partial
- Structured output schemas are declared (88% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · garmin-mcp-unofficial
claude mcp add davidmosiah-garminmcp -- npx -y garmin-mcp-unofficial
codex mcp add davidmosiah-garminmcp -- npx -y garmin-mcp-unofficial
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"davidmosiah-garminmcp": {
"type": "local",
"command": [
"npx",
"-y",
"garmin-mcp-unofficial"
],
"enabled": true
}
}
} openclaw mcp add davidmosiah-garminmcp --command npx --arg -y --arg garmin-mcp-unofficial
mcp_servers:
davidmosiah-garminmcp:
command: "npx"
args: ["-y", "garmin-mcp-unofficial"] {
"mcpServers": {
"davidmosiah-garminmcp": {
"command": "npx",
"args": [
"-y",
"garmin-mcp-unofficial"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +46
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Security disclosure: unverified → fail ▼ functional
- Schema quality: unverified → excellent ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- License: unverified → pass ▲ functional
- Schema quality: unverified → 100 ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Licence: MIT functional
- 2 Aug 26 −10
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- Schema quality: 100 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Security disclosure: fail → unverified ▼ functional
- 1 Aug 26 +5
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- MCP protocol: unverified → pass ▲ functional
- 31 Jul 26 −26
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 51
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 129 packages
129 packages in the resolved dependency tree · 129 deprecated · 49 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
garmin_agent_manifest Garmin Agent Manifest ~45
Machine-readable install, runtime and client guidance for AI agents. Does not call Garmin or expose secrets.
| Name | Type | Req | Description |
|---|---|---|---|
| client | string | — | — |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| agent_rules | array | yes | — |
| auth | object | yes | — |
| client | string | yes | — |
| hermes | object | yes | — |
| links | object | yes | — |
| mcp_name | string | yes | — |
| package | object | yes | — |
| project | string | yes | — |
| recommended_first_calls | array | yes | — |
| resources | array | yes | — |
| standard_tools | array | yes | — |
| troubleshooting | array | yes | — |
| unofficial | boolean | yes | — |
No examples provided.
garmin_auth_instructions Garmin Auth Instructions ~37
Explain the local Garmin Connect authentication flow without asking the user to paste secrets into an agent.
| Name | Type | Req | Description |
|---|---|---|---|
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| auth_model | string | yes | — |
| command | string | yes | — |
| legacy_python_command | string | — | — |
| next_step | string | yes | — |
| notes | array | yes | — |
| stores_password | boolean | yes | — |
| token_path | string | yes | — |
No examples provided.
garmin_cache_status Garmin Cache Status ~38
Show optional local SQLite cache status. Enable with GARMIN_CACHE=sqlite or GARMIN_CACHE=true.
| Name | Type | Req | Description |
|---|---|---|---|
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | yes | — |
| entries | integer | yes | — |
| http_cache | object | — | — |
| newest_cached_at | string | — | — |
| path | string | yes | — |
No examples provided.
garmin_capabilities Garmin MCP Capabilities ~33
Explain supported Garmin data, privacy boundaries, recommended agent workflow and project links.
| Name | Type | Req | Description |
|---|---|---|---|
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| api_boundary | object | yes | — |
| auth_model | object | yes | — |
| client_aliases | object | yes | — |
| contribution_paths | array | yes | — |
| creator | object | yes | — |
| links | object | yes | — |
| mcp_name | string | yes | — |
| privacy_modes | array | yes | — |
| project | string | yes | — |
| recommended_agent_flow | array | yes | — |
| supported_data | array | yes | — |
| unofficial | boolean | yes | — |
No examples provided.
garmin_connection_status Garmin Connection Status ~53
Check local Garmin config, token file, Node version, privacy mode, cache readiness and optional MCP client readiness without calling Garmin or exposing secrets.
| Name | Type | Req | Description |
|---|---|---|---|
| client | string | — | — |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| automatic_auth_supported | boolean | yes | — |
| cache | object | yes | — |
| client | string | — | — |
| client_checks | object | — | — |
| config | object | yes | — |
| missing_env | array | yes | — |
| next_steps | array | yes | — |
| node | object | yes | — |
| oauth | object | yes | — |
| ok | boolean | yes | — |
| privacy_mode | string | yes | — |
| ready_for_garmin_api | boolean | yes | — |
| redirect_uri | string | — | — |
| required_env | object | yes | — |
| token | object | yes | — |
No examples provided.
garmin_daily_summary Garmin Daily Health Summary ~85
Build a practical daily summary from Garmin activity, sleep, heart-rate, HRV, stress and Body Battery when available. Read-only and non-medical.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | — | Lookback window for recent training context. |
| response_format | string | — | — |
| timezone | string | — | IANA timezone used only for display, e.g. America/New_York. |
| Name | Type | Req | Description |
|---|---|---|---|
| generated_at | string | yes | — |
| kind | string | yes | — |
No examples provided.
garmin_data_inventory Garmin Data Inventory ~45
Inventory supported Garmin data domains, auth scope requirements, privacy boundary and recommended first calls. Does not call Garmin APIs or expose user data.
| Name | Type | Req | Description |
|---|---|---|---|
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| api_boundary | — | — | — |
| auth | — | — | — |
| categories | array | yes | — |
| data_access_model | string | yes | — |
| first_tools | array | yes | — |
| generated_at | string | yes | — |
| kind | string | yes | — |
| links | object | yes | — |
| mcp_name | string | yes | — |
| notes | array | yes | — |
| privacy_modes | array | yes | — |
| recommended_agent_flow | array | yes | — |
| scopes | array | yes | — |
| source | string | yes | — |
| totals | object | yes | — |
| unofficial | boolean | yes | — |
No examples provided.
garmin_demo Garmin Demo ~55
Returns realistic example payloads of garmin_daily_summary, garmin_wellness_context, and garmin_get_body_battery_day so agents see the contract before any real Garmin Connect call.
| Name | Type | Req | Description |
|---|---|---|---|
| response_format | string | — | — |
No output schema declared.
No examples provided.
garmin_disconnect_local Disconnect Garmin Locally ~45
Delete the local Garmin token file. This does not change the Garmin account; use only when the user explicitly wants to disconnect this MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| local_tokens_cleared | boolean | yes | — |
| note | string | yes | — |
| ok | boolean | yes | — |
| token_path | string | yes | — |
No examples provided.
garmin_get_activity Garmin Activity ~72
Get a Garmin activity summary by activity id.
| Name | Type | Req | Description |
|---|---|---|---|
| id | — | yes | Garmin resource id. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_activity_details Garmin Activity Details ~72
Get detailed Garmin activity samples when available.
| Name | Type | Req | Description |
|---|---|---|---|
| id | — | yes | Garmin resource id. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_activity_hr_zones Garmin Activity Heart-Rate Zones ~79
Get Garmin activity heart-rate zone time by activity id when available.
| Name | Type | Req | Description |
|---|---|---|---|
| id | — | yes | Garmin resource id. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_activity_splits Garmin Activity Splits ~75
Get Garmin activity splits/laps by activity id.
| Name | Type | Req | Description |
|---|---|---|---|
| id | — | yes | Garmin resource id. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_activity_weather Garmin Activity Weather ~74
Get Garmin activity weather by activity id when available.
| Name | Type | Req | Description |
|---|---|---|---|
| id | — | yes | Garmin resource id. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_body_battery_day Garmin Body Battery ~86
Get Garmin Body Battery daily report for a date. Not medical advice.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_body_battery_events Garmin Body Battery Events ~88
Get Garmin Body Battery charge/drain events for a date. Not medical advice.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_daily_summary Garmin Daily Summary Raw ~81
Get Garmin daily movement and wellness summary for a date.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_heart_day Garmin Daily Heart Rate ~90
Get Garmin daily heart-rate samples and resting heart-rate context for a date. Not medical advice.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_hrv_day Garmin HRV ~91
Get Garmin HRV status and overnight HRV metrics for a date when available. Not medical advice.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_hydration_day Garmin Hydration ~82
Get Garmin hydration summary for a date when available.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_intensity_minutes_day Garmin Intensity Minutes ~80
Get Garmin intensity minutes for a date.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_primary_training_device Garmin Primary Training Device ~66
Get the primary Garmin training device when available.
| Name | Type | Req | Description |
|---|---|---|---|
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_profile Garmin Profile ~66
Get the authenticated Garmin profile using the configured privacy mode.
| Name | Type | Req | Description |
|---|---|---|---|
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_respiration_day Garmin Respiration ~85
Get Garmin respiration data for a date when available. Not medical advice.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_sleep_day Garmin Daily Sleep ~87
Get Garmin sleep summary, stages and sleep window for a date. Not medical advice.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_spo2_day Garmin SpO2 ~91
Get Garmin Pulse Ox / SpO2 data for a date when available. Not medical advice.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_steps_day Garmin Daily Steps Chart ~81
Get Garmin daily steps and summary chart for a date.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_stress_day Garmin Daily Stress ~85
Get Garmin stress summary and samples for a date. Not medical advice.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_training_readiness_day Garmin Training Readiness ~90
Get Garmin training readiness for a date when supported by the device/account. Not medical advice.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_training_status_day Garmin Training Status ~90
Get Garmin aggregated training status for a date when supported by the device/account. Not medical advice.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | — | Date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_user_settings Garmin User Settings ~68
Get Garmin account user settings such as units and display preferences.
| Name | Type | Req | Description |
|---|---|---|---|
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_get_weight_range Garmin Weight Range ~104
Get Garmin weight/body-composition logs for a date range. Not medical advice.
| Name | Type | Req | Description |
|---|---|---|---|
| end_date | string | — | End date as yyyy-MM-dd or today. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| start_date | string | — | Start date as yyyy-MM-dd or today. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_list_activities Garmin Activities ~187
List recent Garmin activities. Supports pagination, optional date filters and privacy modes.
| Name | Type | Req | Description |
|---|---|---|---|
| activity_type | string | — | Optional Garmin activity type filter, e.g. running, cycling, walking. |
| after | string | — | Only return activities after this time. Used as Garmin startDate when supported. |
| all_pages | boolean | — | Fetch multiple pages up to max_pages. |
| before | string | — | Only return activities before this time. Used as Garmin endDate when supported. |
| limit | integer | — | Garmin page size. |
| max_pages | integer | — | Maximum pages to fetch when all_pages is true. |
| page | integer | — | Garmin page number. |
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | — |
| endpoint | string | yes | — |
| has_more | boolean | yes | — |
| next_page | integer | — | — |
| pages_fetched | integer | yes | — |
| privacy_mode | string | yes | — |
| records | array | yes | — |
No examples provided.
garmin_list_devices Garmin Devices ~63
List devices registered to the Garmin account.
| Name | Type | Req | Description |
|---|---|---|---|
| privacy_mode | string | — | Optional per-call privacy override. Defaults to GARMIN_PRIVACY_MODE or structured. raw returns upstream Garmin JSON. summary minimizes sensitive health and profile details. |
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | yes | — |
| endpoint | string | yes | — |
| privacy_mode | string | yes | — |
No examples provided.
garmin_onboarding Garmin Onboarding (shared wellness profile) ~155
Return the 11-question Delx wellness onboarding flow (in English or pt-BR) plus the current shared profile state and missing critical fields. Read-only. The agent should ask these questions one-by-one, then call garmin_profile_update with explicit_user_intent=true to save. The same profile is reused by every Delx Wellness connector (WHOOP, Oura, Nourish, etc.) — agents can call the equivalent {connector}_onboarding tools to cover their respective domains, or rely on this one since all connectors share the same questions.
| Name | Type | Req | Description |
|---|---|---|---|
| locale | string | — | Onboarding locale. Defaults to 'en'. Use 'pt-BR' for Portuguese (Brazil). |
| response_format | string | — | — |
No output schema declared.
No examples provided.
garmin_privacy_audit Garmin Privacy Audit ~38
Return local privacy, cache, token-path and env-presence posture without revealing secret values.
| Name | Type | Req | Description |
|---|---|---|---|
| response_format | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| cache_enabled | boolean | yes | — |
| cache_path | string | yes | — |
| config_source | string | yes | — |
| gps_redaction_default | boolean | yes | — |
| local_config_exists | boolean | yes | — |
| local_config_path | string | yes | — |
| local_config_secure_permissions | boolean | — | — |
| notes | array | yes | — |
| privacy_mode_default | string | yes | — |
| project | string | yes | — |
| raw_payloads_opt_in | boolean | yes | — |
| redacted_key_patterns | array | yes | — |
| required_env_present | object | yes | — |
| secret_env_vars | array | yes | — |
| stdout_safe | boolean | yes | — |
| token_path | string | yes | — |
| unofficial | boolean | yes | — |
No examples provided.
garmin_profile_get Garmin Profile Get (shared wellness profile) ~96
Read the shared Delx wellness profile (~/.delx-wellness/profile.json). Returns the user's preferred name, body basics, goals, devices, training context, nutrition context, agent preferences, and missing critical fields. Cross-connector — the same profile is also available from other Delx Wellness MCPs (WHOOP, Oura, Nourish, Fitbit, etc). Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| response_format | string | — | — |
No output schema declared.
No examples provided.
garmin_profile_update Garmin Profile Update (shared wellness profile) ~203
Persist a partial patch to the shared Delx wellness profile (~/.delx-wellness/profile.json). REQUIRES explicit_user_intent=true. Top-level fields stored: profile (preferred_name, language, timezone, units, age_or_birth_year, height, weight, sex_or_gender_context), goals, devices, training, nutrition, preferences, safety, notes. NEVER stores OAuth tokens, API keys, refresh tokens, cookies, or any secret-shaped field — writes will be rejected at validation time. Cross-connector — the same profile is read by other Delx Wellness MCPs.
| Name | Type | Req | Description |
|---|---|---|---|
| explicit_user_intent | boolean | — | Must be true. Set this AFTER the user has explicitly confirmed they want to save these changes to the shared wellness profile. |
| patch | object | yes | Partial WellnessProfileDocument patch. Top-level keys may be: profile, goals, devices, training, nutrition, preferences, safety, notes. |
| response_format | string | — | — |
No output schema declared.
No examples provided.
garmin_quickstart Garmin Quickstart ~62
Personalized 3-step setup walkthrough for the human user. Adapts to current state (env vars set? token present? what's next?). Call this first when the user asks 'how do I connect Garmin?'
| Name | Type | Req | Description |
|---|---|---|---|
| response_format | string | — | — |
No output schema declared.
No examples provided.
garmin_weekly_summary Garmin Weekly Health Review ~105
Build a weekly Garmin scorecard with movement, sleep, HRV, stress, Body Battery, bottlenecks and actions. Read-only and non-medical.
| Name | Type | Req | Description |
|---|---|---|---|
| compare_days | integer | — | Prior comparison window in days. Use 0 to disable comparison. |
| days | integer | — | Recent analysis window in days. |
| response_format | string | — | — |
| timezone | string | — | IANA timezone used only for display, e.g. America/New_York. |
| Name | Type | Req | Description |
|---|---|---|---|
| generated_at | string | yes | — |
| kind | string | yes | — |
No examples provided.
garmin_wellness_context Garmin Wellness Context ~102
Normalize Garmin readiness, sleep score, Body Battery and recent movement load into the shared wellness_context shape for recommendation engines.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | — | Lookback window for normalized Garmin wellness context. |
| injury_flags | array | — | — |
| notes | string | — | — |
| response_format | string | — | — |
| soreness | array | — | — |
| timezone | string | — | IANA timezone used only for display, e.g. America/New_York. |
| Name | Type | Req | Description |
|---|---|---|---|
| body_battery | number | — | — |
| context_contract_version | string | yes | — |
| context_type | string | yes | — |
| data_quality | — | — | — |
| generated_at | string | yes | — |
| injury_flags | array | yes | — |
| notes | array | yes | — |
| readiness_score | number | — | — |
| recent_training_load | string | yes | — |
| recent_training_load_minutes | number | — | — |
| recommended_handoff | object | yes | — |
| sleep_score | number | — | — |
| soreness | array | yes | — |
| source | string | yes | — |
| telegram_summary | string | — | — |
No examples provided.