Skip to main content
Glama

list_exercises

Search and filter the Speediance exercise library by name, muscle, category, equipment, or movement type to find exercises that match your goals and available gear.

Instructions

Search the Speediance exercise library. Filters: name words (query), body part or muscle (muscle, e.g. "chest", "biceps"), library tab (category), equipment name, kind ("reps", "timed" or "level" for Vita), and owned_only (only moves whose equipment you own — set it with set_preferences(owned_equipment)). Movements needing equipment listed in set_preferences(unusable_equipment) are ALWAYS hidden. ⊘avoided movements are hidden unless include_avoided=true; ★preferred ones sort first. The first call downloads the library (~30 s); later calls use a 24-hour cache.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNo
limitNo
queryNo
muscleNo
categoryNo
equipmentNo
owned_onlyNo
include_avoidedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and delivers: first call downloads the library (~30 s), subsequent calls use a 24-hour cache, movements tied to unusable_equipment are ALWAYS hidden, avoided movements are hidden unless include_avoided=true, and preferred movements sort first. These are non-obvious behaviors an agent cannot infer from the schema.

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 purpose, then groups filters, then the visibility rules, ending with the latency/cache note. Dense but every clause carries information; only mild compression from the bullet-ish symbol notation is lost.

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 no-annotation, no-output-schema tool with 8 params, the description supplies the key behavioral and filtering semantics an agent needs. The residual gap is `limit` semantics and no hint about the shape of returned exercise entries, which is minor for a search tool.

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 0%, so the description must compensate, and it does for six of eight parameters: query (name words), muscle (with examples), category (library tab), kind (with the 'reps'/'timed'/'level' values), owned_only (with how to set it), and include_avoided. It leaves `limit` and the exact meaning of `equipment` unaddressed, so it is strong but not complete.

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+resource ('Search the Speedience exercise library') and enumerates the exact filter dimensions, so an agent can immediately distinguish it from get_exercise (single-lookup) and browse_programs. The scope is unambiguous.

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 clear usage context via the filter semantics and the two set_preferences cross-references (owned_equipment, unusable_equipment), implying when results will be filtered. It stops short of explicitly stating when to prefer this over get_exercise or browse_programs, so no exclusions are named.

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