Skip to main content
Glama
OpenPowerlifting MCP

OpenPowerlifting MCP

compare_lifters

Read-onlyIdempotent

Compare side-by-side career bests for multiple lifters by exact name, with optional equipment filtering to keep raw and equipped results separate.

Instructions

Side-by-side career bests for several lifters, matched by exact name.

Pass equipment to avoid comparing raw lifts with equipped ones.

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": {
      "names": "<names>"
    },
    "name": "compare_lifters"
  }
}

Input Schema

NameRequiredDescriptionDefault
namesYes
equipmentNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, and closed-world behavior, so the description only needs to add matching and comparison semantics. It does add two useful facts — names must match exactly, and mixing equipment types skews comparisons — but says nothing about what happens with unmatched or partial names, which is the main failure mode for an exact-match tool.

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?

Two short sentences, the core behavior front-loaded, and the second sentence delivers a genuinely non-obvious caution. No filler or restatement of the tool name.

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?

For a two-parameter read-only tool with an output schema, the description covers the essential comparison semantics and the equipment caveat. The remaining gap is behavior when a supplied name matches nothing, which an agent would reasonably want to know before building a multi-name request.

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 description coverage is 0%, so the description must carry the load for both parameters, and it does: 'names' is characterized as exact-match and plural (several lifters), and 'equipment' is given a purpose (avoid raw-vs-equipped mixing). It leaves the allowed enum values and the 2–10 count bound to the schema, which is acceptable since the schema states them explicitly.

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?

The description names a specific operation and resource: 'side-by-side career bests for several lifters', which clearly separates it from single-lifter history or search. It does not explicitly name its siblings (search_lifters, lifter_history), so differentiation is inferable rather than stated.

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?

It gives a concrete usage rule for the equipment parameter ('Pass equipment to avoid comparing raw lifts with equipped ones') and an implicit constraint via 'matched by exact name'. However, it offers no guidance on when to choose this over lifter_history or search_lifters, leaving tool selection to inference.

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