Call a Garmin Endpoint Directly
garmin_get_rawSend an authenticated GET to any Garmin Personal API path to query endpoints or parameters not covered by dedicated tools, including custom activity filters and future Garmin additions.
Instructions
Perform an authenticated GET against any Garmin Personal API path, for endpoints and parameters the other tools do not expose.
The request goes to the configured Garmin host with the bearer token applied; only the path and query are yours to set.
Use it for:
Activity search filters the dedicated tool omits: upperLatitude/leftLongitude/lowerLatitude/rightLongitude bounding boxes, lowerMaxDepth/upperMaxDepth and decoDive for diving, minBottomTime/maxBottomTime, minElapsedDuration/maxElapsedDuration, excludedActivitySubType, requiredField
Any endpoint Garmin adds after this server was written
Example: path="/activitylist-service/activities/search/activities", query={"activityType":"diving","lowerMaxDepth":"1800","limit":"5"}
Prefer the dedicated tools when one covers the request: they format results and report metric availability.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"path": "<path>"
},
"name": "garmin_get_raw"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Endpoint path beginning with '/', e.g. '/userprofile-service/userprofile/settings' | |
| query | No | Query parameters as string key/value pairs. Repeatable parameters take a comma-separated value. | |
| response_format | No | 'markdown' for readable text, 'json' for the exact Garmin field names and values | markdown |
| include_empty_fields | No | Keep fields Garmin returned as null or empty. Off by default, since unsupported sensors on the user's device produce large runs of nulls. Turn on only to inspect raw shape. |