Skip to main content
Glama

Compare swing

compare_swing
Read-onlyIdempotent

Compare the rhythm of the player's swing (backswing/downswing ratio and durations, measured by Morris's pose analysis) with GolfDB pros of the same club and camera view: percentiles with their measurement spread, and the closest pro swings as anonymous references with a distance and a YouTube link at the second of the swing. Numbers and method only; for what to fix use get_swing_analysis. Returns not_measurable with the reasons when the swing's timing was not measured reliably. Read-only.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "compare_swing"
  }
}

Input Schema

NameRequiredDescriptionDefault
sexNoCompare with male (m) or female (f) pros. Leave it out when unknown.
swing_job_idNoOne of the player's own swing videos (UUID). Default: their latest swing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / sex / description
      Added value: +"Compare with male (m) or female (f) pros. Leave it out when unknown."
    • addedInput schema / properties / swing_job_id / description
      Added value: +"One of the player's own swing videos (UUID). Default: their latest swing."
  2. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the bar is lower. The description still adds real behavior: what is returned (percentiles with measurement spread, nearest pro swings as anonymous references with distance and YouTube timestamp) and the not_measurable failure mode with reasons. It stops short of describing ordering, counts, or what the distance metric means, so it is good but not fully transparent.

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 verb and object, then layers scope, output shape, alternative routing and failure mode in a tight three-sentence block. It is dense (long parenthetical clauses, semicolons) but no sentence is filler.

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?

No output schema exists, and the description compensates by naming the returned artifacts (percentiles, spread, pro references, not_measurable with reasons). Combined with annotations and a fully documented two-parameter schema, an agent has everything needed to call it and interpret results.

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 100%, so both parameters (sex enum, swing_job_id UUID with latest-swing default) are already fully documented. The description adds no meaning about either parameter, leaving the schema to carry the load; baseline 3 applies.

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?

States a specific verb (compare) and resource (swing rhythm: backswing/downswing ratio and durations) plus the comparison baseline (GolfDB pros of the same club and camera view). It explicitly routes the diagnosis use case to get_swing_analysis, so an agent can separate it from the many sibling get_* tools.

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?

Provides an explicit exclusion and alternative: 'for what to fix use get_swing_analysis', framing this tool as the numbers/method view rather than the prescriptive one. It also sets the scope of comparison (same club and camera view) so the agent knows when the output is meaningful.

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.