Skip to main content
Glama
flawas

Garmin Connect MCP Server

by flawas

raw_get

Fetch Garmin Connect Personal API data from any GET endpoint that lacks a dedicated tool, such as daily hydration stats, by specifying the API path and optional query parameters.

Instructions

Beliebiger GET-Aufruf an die Personal API für Endpoints ohne eigenes Tool (siehe Swagger-Doku), z.B. path='/usersummary-service/stats/hydration/daily/2026-10-01/2026-10-21'.

Input Schema

NameRequiredDescriptionDefault
pathYes
paramsNo
include_timeseriesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It conveys only that this is a GET (read-oriented) call; it says nothing about authentication/credential requirements, error behavior for invalid paths, rate limits, or how include_timeseries alters the response shape. For a generic passthrough with arbitrary user-supplied paths, that is a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences: the purpose first, then the example. Every element earns its place, though the parenthetical Swagger reference is a bit terse for an agent that cannot browse external docs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and 0% parameter coverage across three parameters, the description should explain what `params` and `include_timeseries` do and what the response contains. It only covers the escape-hatch purpose and one example path, leaving the calling contract underspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for all three parameters. It does explain `path` well by example (a relative endpoint like '/usersummary-service/...'), but `params` (query string map) and `include_timeseries` are left completely unexplained, so compensation is only partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: an arbitrary GET against the Personal API for endpoints that lack a dedicated tool, backed by a concrete example path. It implicitly distinguishes itself from the sibling endpoint-specific tools, though it never names them or explicitly says 'use the specific tool when one exists.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear selection rule: use this for endpoints without their own tool, and points to the Swagger docs for the available paths. It lacks an explicit 'do not use for endpoints covered by siblings' statement, but the condition is strongly implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.