Skip to main content
Glama

get_badge_detail

Read-only

One badge with its related series and what earned it. Works for unearned badges. GETs /badge-service/badge/detail/v3/{badgeId}, the request Garmin Connect's web app makes when a badge is opened; badgeId validated as a positive integer. Returns an OBJECT: the getEarnedBadges fields plus relatedBadges (the rest of the series, each with earnedByMe), badgeAssocType/badgeAssocDataId/badgeAssocDataName (for "activityId", the activity that earned it) and followings. An unknown id is a 400 GarminHttpError, not a 404. The badge and each relatedBadges entry gain `badgeImageU…

Input Schema

NameRequiredDescriptionDefault
badgeIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, and the description adds substantial behavioral detail beyond them: badgeId is validated as a positive integer and an unknown id yields a 400 GarminHttpError rather than a 404. This error-shape disclosure is genuinely useful for an agent. It stops short of describing rate limits or auth requirements, so not quite top marks.

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?

Front-loads the core meaning in the first two short sentences, then layers technical detail (endpoint, validation, return shape, error code). Every sentence carries information, though the density borders on a spec dump. Appropriate size for a detail-fetch tool, with the trailing truncation being an artifact of the excerpt.

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

Completeness4/5

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

With no output schema, the description correctly carries the return-value burden, enumerating the object fields (getEarnedBadges fields, relatedBadges, badgeAssocType/DataId/DataName, followings) and the error case. An agent has enough to call it and interpret the result. Only pagination/volume or auth specifics are absent.

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?

With only one parameter and 0% schema description coverage, the schema says nothing beyond 'number'. The description compensates by stating badgeId is validated as a positive integer, adding real meaning not present in the structured field. A single well-documented param lands at 4.

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: retrieves one badge with its related series and cause of earning. The clause 'Works for unearned badges' implicitly distinguishes it from siblings like get_earned_badges and get_available_badges, though it never names them. Clear purpose, but the differentiation from the many badge siblings is inferential rather than explicit.

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

Usage Guidelines3/5

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

Implies usage by noting it works for unearned badges and mirrors what the web app does when a badge is opened, giving context for when it applies. However, it never names an alternative (get_earned_badges, get_in_progress_badges) or states a condition that should route the agent elsewhere. Usage is implied, not directed.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.