Skip to main content
Glama
happyc0der

garmin-connect-api

Match exercise

match_exercise
Read-onlyIdempotent

Map a free-text exercise name to exactly one catalogue exercise or null if no certain match. Use when importing names to prevent logging the wrong lift; no Garmin request.

Instructions

Map one free-text exercise name, such as one exported from another app, onto exactly one catalogue exercise, or return null when no single match is certain.

Use it when converting names from another source, where a wrong guess would log the wrong lift. To browse candidates and choose, use find_exercise, which returns a ranked list. Only a certain match is returned: the exact or normalised name, the same words up to a typo, plural or hyphenation, or a search with one hit that adds at most an implement (barbell, dumbbell, kettlebell). No Garmin request.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesA free-text exercise name.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnlyHint/idempotentHint/openWorldHint annotations, it discloses the matching contract in detail: only certain matches return, the accepted equivalence classes (exact/normalised, typo, plural/hyphenation, one hit adding at most an implement), and the null fallback. 'No Garmin request' reinforces the local, non-open-world behavior.

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

Conciseness5/5

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

The core action and null-return contract are front-loaded, followed by usage guidance and then the matching criteria. Every sentence carries information; nothing is redundant padding.

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

Completeness5/5

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

An output schema exists so return shape needn't be re-explained, yet the description still clarifies the one return value that matters (null on ambiguity). For a single-param matching tool, nothing an agent needs to invoke it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100% with a single documented param, so baseline is 3. The description adds genuine meaning by specifying provenance ('such as one exported from another app') and that the input is a single free-text name, which tells the agent what shape of string to pass.

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

Purpose5/5

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

The description states a precise verb and resource ('map one free-text exercise name onto exactly one catalogue exercise') plus the failure mode (returns null when no single match is certain). It is immediately distinguishable from the sibling find_exercise, which returns a ranked list rather than one binding answer.

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

Usage Guidelines5/5

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

It names the exact scenario ('converting names from another source, where a wrong guess would log the wrong lift') and explicitly routes the agent to find_exercise when it wants to browse candidates and choose. Both when-to-use and the alternative are spelled out.

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